Linux Observe Tcp State

Intro Linux Observe Tcp State

這篇介紹Linux Observe Tcp State。

指令

1
2
3
4
5
$ netstat -na | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

[root@localhost ~]# netstat -na | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
LISTEN 2
ESTABLISHED 2

State

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
常用的狀態是:
ESTABLISHED 表示正在通信
TIME_WAIT 表示主動關閉
CLOSE_WAIT 表示被動關閉

CLOSED 表示socket連結未使用
LISTENING 表示正等待監聽的連結
SYN_SENT 表示正在試著建立連結
SYN_RECEIVED 進行連結初始同步
ESTABLISHED 表示連結已被建立
CLOSE_WAIT 表示遠端主機關閉連結,正在等待socket連結的關閉
FIN_WAIT_1 表示socket連結關閉,正在關閉連結
CLOSING 先關閉本地socket連結,然後關閉遠端socket連結,最後等待確認訊息
LAST_ACK 遠端主機關閉後,等待確認信號
FIN_WAIT_2 socket連結關閉後,等待來自遠端主機的關閉信號
TIME_WAIT 連結關閉後,等待遠端主機關閉重送