从整体上看,netstat的输出结果可以分为两个部分:
一个是ActiveInternetconnections,称为有源TCP连接,其中"Recv-Q"和"Send-Q"指%0A的是接收队列和发送队列。这些数字一般都应该是0。如果不是则表示软件包正在队列中堆积。这种情况只能在非常少的情况见到。
另一个是ActiveUNIXdomainsockets,称为有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。
Proto显示连接使用的协议,RefCnt表示连接到本套接口上的进程号,Types显示套接口的类型,State显示套接口当前的状态,Path表示连接到套接口的其它进程使用的路径名。
netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。
如果你的计算机有时候接收到的数据报导致出错数据或故障,你不必感到奇怪,TCP/IP可以容许这些类型的错误,并能够自动重发数据报。但如果累计的出错情况数目占到所接收的IP数据报相当大的百分比,或者它的数目正迅速增加,那么你就应该使用netstat查一查为什么会出现这些情况了。
1.命令格式:
netstat[-acCeFghilMnNoprstuvVwx][-A<网络类型>][--ip]
2.命令功能:
netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。
3.命令参数:
-a或–all显示所有连线中的Socket。
-A<网络类型>或–<网络类型>列出该网络类型连线中的相关地址。
-c或–continuous持续列出网络状态。
-C或–cache显示路由器配置的快取信息。
-e或–extend显示网络其他相关信息。
-F或–fib显示FIB。
-g或–groups显示多重广播功能群组组员名单。
-h或–help在线帮助。
-i或–interfaces显示网络界面信息表单。
-l或–listening显示监控中的服务器的Socket。
-M或–masquerade显示伪装的网络连线。
-n或–numeric直接使用IP地址,而不通过域名服务器。
-N或–netlink或–symbolic显示网络硬件外围设备的符号连接名称。
-o或–timers显示计时器。
-p或–programs显示正在使用Socket的程序识别码和程序名称。
-r或–route显示RoutingTable。
-s或–statistice显示网络工作信息统计表。
-t或–tcp显示TCP传输协议的连线状况。
-u或–udp显示UDP传输协议的连线状况。
-v或–verbose显示指令执行过程。
-V或–version显示版本信息。
-w或–raw显示RAW传输协议的连线状况。
-x或–unix此参数的效果和指定-Aunix参数相同。
–ip或–inet此参数的效果和指定-Ainet参数相同。
4.使用实例:
列出所有的tcp端口(包括监听和未监听的)
列出所有处于监听状态的tcp端口
显示所有端口的统计信息
显示占用某个特定tcp端口的进程的pid
netstat-p可以与其它开关一起使用,就可以添加PID/进程名称到netstat输出中,这样排查问题的适合可以很方便的发现特定端口运行的程序