使用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