1. 程式人生 > >網路監視--netstat命令詳解

網路監視--netstat命令詳解

在Internet RFC標準中,Netstat的定義是: Netstat是在核心中訪問網路及相關資訊的程式,它能提供TCP連線,TCP和UDP監聽,程序記憶體管理的相關報告。

Netstat是控制檯命令,是一個監控TCP/IP網路的非常有用的工具,它可以顯示路由表、實際的網路連線以及每一個網路介面裝置的狀態資訊。Netstat用於顯示與IP、TCP、UDP和ICMP協議相關的統計資料,一般用於檢驗本機各埠的網路連線情況。

一般用netstat -an 來顯示所有連線的埠並用數字表示。
netstat命令的功能是顯示網路連線、路由表和網路介面資訊,可以讓使用者得知有哪些網路連線正在運作。使用時如果不帶引數,netstat顯示活動的 TCP 連線。

格式
該命令的一般格式為 :
netstat [-a][-e][-n][-o][-p Protocol][-r][-s][Interval]
命令中各選項的含義如下:

 
-a 顯示所有socket,包括正在監聽的。
-c 每隔1秒就重新顯示一遍,直到使用者中斷它。
-i 顯示所有網路介面的資訊,格式“netstat -i”。
-n 以網路IP地址代替名稱,顯示出網路連線情形。
-r 顯示核心路由表,格式同“route -e”。
-t 顯示TCP協議的連線情況
-u 顯示UDP協議的連線情況。
-v 顯示正在進行的工作。

常用選項
netstat -s
——本選項能夠按照各個協議分別顯示其統計資料。如果你的應用程式(如Web瀏覽器)執行速度比較慢,或者不能顯示Web頁之類的資料,那麼你就可以用本選項來檢視一下所顯示的資訊。你需要仔細檢視統計資料的各行,找到出錯的關鍵字,進而確定問題所在。
netstat -e
——本選項用於顯示關於乙太網的統計資料,它列出的專案包括傳送資料報的總位元組數、錯誤數、刪除數,包括髮送和接收量(如傳送和接收的位元組數、資料包數),或有廣播的數量。可以用來統計一些基本的網路流量。
netstat -r
——本選項可以顯示關於路由表的資訊,類似於後面所講使用route print命令時看到的資訊。除了顯示有效路由外,還顯示當前有效的連線。
netstat -a
——本選項顯示一個所有的有效連線資訊列表,包括已建立的連線(ESTABLISHED),也包括監聽連線請求(LISTENING)的那些連線。
netstat -n
——顯示所有已建立的有效連線。

常見狀態
即連線狀態。在原模式中沒有狀態,在使用者資料報協議中也經常沒有狀態,於是狀態列可以空出來。若有狀態,通常取值為:
LISTEN
偵聽來自遠方的TCP埠的連線請求
SYN-SENT
再發送連線請求後等待匹配的連線請求
SYN-RECEIVED
再收到和傳送一個連線請求後等待對方對連線請求的確認
ESTABLISHED
代表一個開啟的連線
FIN-WAIT-1
等待遠端TCP連線中斷請求,或先前的連線中斷請求的確認
FIN-WAIT-2
從遠端TCP等待連線中斷請求
CLOSE-WAIT
等待從本地使用者發來的連線中斷請求
CLOSING
等待遠端TCP對連線中斷的確認
LAST-ACK
等待原來的發向遠端TCP的連線中斷請求的確認
TIME-WAIT

等待足夠的時間以確保遠端TCP接收到連線中斷請求的確認
CLOSED
沒有任何連線狀態