原文出處: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端口的連接請求