简介netstat
Netstat是控制台命令,是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。
一般用netstat -an 来显示所有连接的端口并用数字表示。
netstat命令的功能是显示网络连接、路由表和网络接口信息,可以让用户得知有哪些网络连接正在运作。使用时如果不带参数,netstat显示活动的 TCP 连接。
该命令的一般格式为 :
netstat [-a][-e][-n][-o][-p Protocol][-r][-s][Interval]
常用选项
netstat -a
本选项显示一个所有的有效连接信息列表,包括已建立的连接(ESTABLISHED),也包括监听连接请求(LISTENING)的那些连接。netstat -b
该参数可显示在创建网络连接和侦听端口时所涉及的可执行程序。netstat -s
本选项能够按照各个协议分别显示其统计数据。如果你的应用程序(如Web浏览器)运行速度比较慢,或者不能显示Web页之类的数据,那么你就可以用本选项来查看一下所显示的信息。你需要仔细查看统计数据的各行,找到出错的关键字,进而确定问题所在。netstat -e
本选项用于显示关于以太网的统计数据,它列出的项目包括传送数据报的总字节数、错误数、删除数,包括发送和接收量(如发送和接收的字节数、数据包数),或有广播的数量。可以用来统计一些基本的网络流量。netstat -r
本选项可以显示关于路由表的信息,类似于后面所讲使用routeprint命令时看到的信息。除了显示有效路由外,还显示当前有效的连接。netstat -n
显示所有已建立的有效连接。netstat -p
显示协议名查看某协议使用情况
常见状态
即连接状态。在原模式中没有状态,在用户数据报协议中也经常没有状态,于是状态列可以空出来。若有状态,通常取值为: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
没有任何连接状态
部分代码运行截图:
netstat -a
netstat -e