天天看點

netstat檢視linux伺服器網絡連接配接狀态

netstat檢視linux伺服器網絡連接配接狀态

維護linux 伺服器時,要經常檢視伺服器的網絡連接配接狀态,netstat 是一個非常優秀的工具,通過netstat 可以顯示網絡連接配接、路由表和網絡接口資訊,可以讓使用者得知目前都有哪些網絡連接配接正在運作。

netstat -[rn]       <==與路由有關的參數

netstat -[antulpc] <==與網路介面有關的參數參數:

與路由 (route) 有關的參數說明:

-r :列出路由表(route table),功能如同 route 這個指令;

-n :不使用主機名稱與服務名稱,使用 IP 與 port number ,如同 route -n

與網路介面有關的參數:

-a :列出所有的連線狀态,包括 tcp/udp/unix socket 等;

-t :僅列出 TCP 封包的連線;

-u :僅列出 UDP 封包的連線;

-l :僅列出有在 Listen (監聽) 的服務之網路狀态;

-p :列出 PID 與 Program 的檔名;

-c :可以設定幾秒鐘後自動更新一次,例如 -c 5 每五秒更新一次網路狀态的顯示;

-v :顯示正在進行的工作。

下面這個語句是一個非常好的檢視TCP 連接配接狀态的語句:

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

傳回結果示例:

LAST_ACK 5

SYN_RECV 30

ESTABLISHED 1597

FIN_WAIT1 51

FIN_WAIT2 504

TIME_WAIT 1057

以下是各種狀态的描述

CLOSED:無連接配接是活動的或正在進行

ESTABLISED:已建立連線的狀态;

SYN_SENT:發出主動連線 (SYN 标志) 的連線封包;

SYN_RECV:接收到一個要求連線的主動連線封包;

FIN_WAIT1:該插槽服務(socket)已中斷,該連線正在斷線當中;

FIN_WAIT2:該連線已挂斷,但正在等待對方主機回應斷線确認的封包;

TIME_WAIT:該連線已挂斷,但 socket 還在網路上等待結束;

LISTEN:通常用在服務的監聽 port !可使用『 -l 』參數查閱。

CLOSING:兩邊同時嘗試關閉

TIME_WAIT:另一邊已初始化一個釋放

LAST_ACK:等待所有分組死掉

繼續閱讀