netstat是一个功能很强大的网络信息统计工具。可以打印本地网卡接口上的全部连接、路由表信息、网卡信息等。
要获得路由表信息和网卡接口信息还可以使用route和ifconfig
netstat命令常用选项:
-n # 使用IP地址表示主机,而不是主机名;使用数字表示端口号,而不是服务名称。
-a # 显示结果中也包含监听socket
-t # 仅显示TCP连接
-r # 显示路由信息
-i # 显示网卡接口的数据流量
-c # 每隔1s输出一次
-o # 显示socket定时器(比如保活定时器)的信息
-p # 显示socket所属的进程的PID和名字
从第一列到最后一列
Proto :协议名
Recv-Q :socket内核接收缓冲区中尚未被应用程序读取的数据量
Send-Q:未被接收方确定的数据量
Local Address:本端的IP地址和端口号
Foreign Address:对方的IP地址和端口号
State:socket的状态。对于无状态协议,比如UDP协议,这一字段将显示为空。而对面向连接的协议而言,netstat支持的State包括ESTABLISHED、SYN_SENT、SYN_RCVD、FIN_WAIT1、FIN_WAIT2、TIME_WAIT、CLOSE、CLOSE_WAIT、LAST_ACK、LISTEN、CLOSING、UNKNOWN