Linux查看TCP连接情况

netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"\t",state[key]}'

会得到类似下面的结果,具体数字会有所不同:

TIME_WAIT 	 5856
CLOSE_WAIT 	 268
FIN_WAIT1 	 3
ESTABLISHED 	 4837
SYN_RECV 	 14
CLOSING 	 1

 

相关TCP状态解释:

LISTEN:       侦听来自远方的TCP端口的连接请求;

SYN_SENT:     在发送连接请求后等待匹配的连接请求;

SYN_RECV: 在收到和发送一个连接请求后等待对方对连接请求的确认;

ESTABLISHED:  代表一个打开的连接;

FIN_WAIT1:   等待远程TCP连接中断请求, 或先前的连接中断请求的确认;

FIN_WAIT2:   从远程TCP等待连接中断请求;

CLOSE_WAIT:   等待从本地用户发来的连接中断请求;

CLOSING:      等待远程TCP对连接中断的确认;

LAST_ACK:     等待原来的发向远程TCP的连接中断请求的确认;

TIME_WAIT:    等待足够的时间以确保远程TCP接收到连接中断请求的确认;

CLOSE:        没有任何连接状态;

 

如果只想看正常的并发连接,使用如下命令: netstat -nat|grep ESTABLISHED|wc -l

 

Linux查看TCP连接情况_第1张图片

你可能感兴趣的:(Linux)