记录: 318

场景: 在CentOS 7.9操作系统上,使用netstat命令监控和查看TCP/IP等网络信息;使用ifconfig命令查看IP地址等网络信息。

版本:

操作系统: CentOS 7.9

1.基础环境

在CentOS 7.9操作系统,使用netstat命令和ifconfig命令,需安装net-tools工具包。

安装命令: yum install -y net-tools.x86_64

查看已安装命令: yum list installed | grepnet-tools

2.netstat命令

netstat命令是一个监控TCP/IP网络的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。

2.1 netstat详解

(1)查看帮助手册

帮助命令: netstat --help

一般help帮助命令是官方的帮助手册,使用命令最好的助手。

centos7 安装 NetFlow Analyzer centos7安装netstat命令_ifconfig

(2)netstat帮助手册解析

使用语法: netstat[命令选项]

选项:

-h,--help: 显示帮助信息,即帮助手册。

-t,--tcp: 显示TCP传输协议的连接信息。

-u,--udp: 显示UDP传输协议的连接信息。

-U,--udplite: 显示udplite传输协议的连接信息。

-S,--sctp: 显示流控制传输协议(sctp)的连接信息。

-w,--raw: 显示RAW传输协议的连接信息。

-x,--unix: 显示unix网络类型连接信息。

--ax25: 显示AFAX25相关信息。

--ipx: 显示AFIPX相关信息。

--netrom: 显示AFNETROM相关信息。

-r,--route: 显示路由表。

-I,--interfaces=<Iface>: 显示指定的<Iface>网络接口表。比如: ens33、lo。

-i,--interfaces: 显示网络接口表。比如: ens33、lo。

-g,--groups: 显示多重广播功能群组组员名单。

-s,--statistics: 显示网络工作信息统计表。比如TCP、UDP等。

-M,--masquerade: 显示伪装的网络连接。

-v,--verbose: 打印命令执行的详细过程。

-W,--wide: 不截断IP地址。

-n,--numeric: 不解析名称。

--numeric-hosts: 不解析主机名。

--numeric-ports: 不解析端口。

--numeric-users: 不解析用户名。

-N,--symbolic: 显示网络硬件外围设备的符号连接名称。

-e,--extend: 显示其他/更多信息。

-p,--programs: 显示网络套接字的PID/进程名称。

-o,--timers: 显示Timer计时器。

-c,--continuous: 持续监听,打印实时监听到信息。

-l,--listening: 显示监听到的服务端的套接字(Socket)。

-a,--all: 显示所有连接中的套接字(Socket)。

-F,--fib: 显示转发信息库(默认)。

-C,--cache: 显示路由缓存而不是FIB。

-Z,--context: 显示套接字的SELinux安全上下文。

-V,--version: 显示版本信息。

-A<网络类型>或--<网络类型>: 列出该网络类型连接中的相关地址。

2.2常用命令

(1)列出所有网络连接信息

命令: netstat -a

(2)列出所有TCP连接信息

命令: netstat -at

(3)列出所有UDP连接信息

命令: netstat -au

(5)列出所有unix连接信息

命令: netstat -ax

(6)列出所有TCP连接信息包括端口和进程

命令: netstat -atnlp

(7)列出所有UDP连接信息包括端口和进程

命令: netstat -aunlp

(8)列出所有TCP和UDP连接信息包括端口和进程

命令: netstat -atunlp

(9)显示所有网络协议的统计信息

命令: netstat -s

(10)显示所有TCP协议的统计信息

命令: netstat -st

(11)显示所有UDP协议的统计信息

命令:netstat -su

(12)显示网络的路由信息

命令:netstat -r

2.3字段解析

使用netstat命令时,打印的字段名称解析。

Proto: 协议名。比如TCP、UDP、UNIX等。

Recv-Q: 网络包接收队列。

Send-Q: 网络包发送队列。

LocalAddress: 本地IP地址。比如127.0.0.1: 25、0.0.0.0: 22、: : 1: 25等。ForeignAddress: 与本机建立Socket通信连接的远程IP。

State: 监听状态。

PID/Program name: PID/进程名称。

Destination: 目标网络或者主机。

Gateway: 网关地址,本例: 192.168.19.2。

Genmask: 目标网络掩码,如果默认路由则用"0.0.0.0"。

Flags: 标志说明。

Iface: 网络接口名称。

2.4监听网络状态(State)

LISTEN: 侦听来自远程TCP端口的连接请求。

SYN-SENT: 发送连接请求后等待匹配的连接请求。

SYN-RECEIVED: 收到和发送给一个连接请求后等待对连接请求的确认。

ESTABLISHED: 已建立连接,代表一个打开的连接,数据可以传送给客户。

FIN-WAIT-1: 等待远程TCP的连接中断请求,或者先前的连接中断请求的确认。

FIN-WAIT-2: 从远程TCP等待连接中断请求。

CLOSE-WAIT: 等待从本地用户发来的连接中断请求。

CLOSING: 等待远程TCP对连接中断的确认。

LAST-ACK: 等待原来发向远程TCP的连接中断请求的确认。

TIME-WAIT: 等待足够的时间确保远程TCP接受到连接中断请求的确认。

CLOSED: 已关闭,没有任何连接状态。

3.ifconfig命令

帮助命令: ifconfig --help

查看命令: ifconfig

查看命令: ifconfig -a

4.ip addr命令

系统自带查看IP命令: ip addr

以上,感谢。