使用netstat命令可查看整个Linux系统的网络情况。
一、用法
netstat [-vWeenNcCF] [<Af>] -r
netstat {-V|--version|-h|--help}
netstat [-vWnNcaeol] [<Socket> ...]
netstat { [-vWeenNac] -i | [-cWnNe] -M | -s }
参数说明:
| 参数 | 说明 |
|---|---|
| -r,--route | 显示路由表信息 |
| -i,--interfaces | 显示网卡列表 |
| -g, --groups | 显示组播组成员关系 |
| -s, --statistics | 显示网络统计信息 |
| -M, --masquerade | 显示伪装连接 |
| -l, --listening | 显示监控的服务器的Socket |
| -a, --all | 显示所有 socket |
| -o, --timers | 显示计时器 |
| -F, --fib | 显示转发信息库 |
| -C, --cache | 显示路由器配置的快取信息 |
| -v, --verbose | 显示指令执行过程 |
| -W, --wide | 不截断IP地址 |
| -n, --numeric | 直接使用IP地址,而不通过域名服务器 |
| -N, --symbolic | 显示网络硬件外围设备的符号连接名称 |
| -e, --extend | 显示其他/更多信息 |
| -p, --programs | 显示正在使用Socket的程序识别码和程序名称 |
| -c, --continuous | 持续列出网络状态 |
| Socket类型 |
-t, --tcp;-u, --udp;-w, --raw;-x, --unix;--ax25;--ipx;--netrom; |
显示信息说明:
| 字段 | 说明 |
|---|---|
| proto | 连接的数据包协议,主要为 TCP/IP等数据包 |
| recv-Q | 由费用虎程序连接所复制而来的总 bytes 数 |
| send-Q | 由远程主机发送而来,但不具有 ACK 标志的总 bytes 数 |
| local address | 本地端的地址 |
| foreign address | 远程的主机IP 与 port |
| stat | 状态ESTABLISED:已建立连接的状态SYN_SENT:发出主动连接(SYN 标志)的连接数据包SYN_REV:收到一个要求连接的主动连接数据包FIN_WAIT1:socket 服务已中断,该连接断线中FIN_WIT2:该连接已挂断,但正在等待对方主机响应断线确认的数据包TIME_WAIT:连接已挂断,但socket 还在网络上等待结束LISTEN:服务器监听 prot |
示例:
显示目前已经启动的网络服务
root@test-physical:~# netstat -tulnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1249/sshd
tcp6 0 0 :::22 :::* LISTEN 1249/sshd
udp 0 0 0.0.0.0:68 0.0.0.0:* 1134/dhclient
本机上所有的网络连接状态
root@test-physical:~# netstat -atunp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1249/sshd
tcp 0 0 192.168.50.175:22 192.168.50.145:58573 ESTABLISHED 18443/0
tcp6 0 0 :::22 :::* LISTEN 1249/sshd
udp 0 0 0.0.0.0:68 0.0.0.0:* 1134/dhclient