linux 查看网络负载 原文出处:https://www.cnblogs.com/snake-hand/p/3141120.html

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

前面的 netstat -n是netstat的命令,window和linux都可以用,结果显示内容差不多

后面的 awk'/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' 是linux下的命令,主要作用是对netstat输出的结果进行过滤和处理

运行这一句之后,显示的结果类似如下:

TIME_WAIT 27

FIN_WAIT1 435

FIN_WAIT2 89

ESTABLISHED 82

SYN_RECV 64

CLOSING 4

LAST_ACK 90

这些结果代表啥意思呢?如下:

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

FIN-WAIT-1:等待远程TCP连接中断请求,或先前的连接中断请求的确认

FIN-WAIT-2:从远程TCP等待连接中断请求

ESTABLISHED:代表一个打开的连接

SYN-RECV:再收到和发送一个连接请求后等待对方对连接请求的确认

SYN-SENT:再发送连接请求后等待匹配的连接请求

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

CLOSED:没有任何连接状态

CLOSE-WAIT:等待从本地用户发来的连接中断请求

LAST-ACK:等待原来的发向远程TCP的连接中断请求的确认

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

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

前面的 netstat -n是netstat的命令,window和linux都可以用,结果显示内容差不多

后面的 awk'/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' 是linux下的命令,主要作用是对netstat输出的结果进行过滤和处理

运行这一句之后,显示的结果类似如下:

TIME_WAIT 27

FIN_WAIT1 435

FIN_WAIT2 89

ESTABLISHED 82

SYN_RECV 64

CLOSING 4

LAST_ACK 90

这些结果代表啥意思呢?如下:

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

FIN-WAIT-1:等待远程TCP连接中断请求,或先前的连接中断请求的确认

FIN-WAIT-2:从远程TCP等待连接中断请求

ESTABLISHED:代表一个打开的连接

SYN-RECV:再收到和发送一个连接请求后等待对方对连接请求的确认

SYN-SENT:再发送连接请求后等待匹配的连接请求

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

CLOSED:没有任何连接状态

CLOSE-WAIT:等待从本地用户发来的连接中断请求

LAST-ACK:等待原来的发向远程TCP的连接中断请求的确认

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