Linux - netstat命令

襲冷發表於2014-11-25
一、命令功能
    用於顯示各種網路相關資訊,如網路連線,路由表,介面狀態 (Interface Statistics),masquerade 連線,多播成員 (Multicast Memberships) 等等。

二、命令格式
    netstat [-acCeFghilMnNoprstuvVwx][-A<網路型別>][--ip]

三、命令引數
    -a或–all :顯示所有有效連線資訊列表,包括已建立的、監聽的、斷開的和等待中的連線等 
    -A<網路型別>或–<網路型別> :列出該網路型別連線中的相關地址
    -c或–continuous :持續列出網路狀態
    -C或–cache :顯示路由器配置的快取資訊
    -e或–extend :顯示網路其他相關資訊。如傳送和接收的資料包位元組數等
    -F或–fib :顯示FIB
    -g或–groups :顯示多重廣播功能群組組員名單
    -h或–help :線上幫助
    -i或–interfaces :顯示網路介面資訊表單
    -l或–listening :顯示監控中的伺服器的Socket
    -M或–masquerade :顯示偽裝的網路連線
    -n或–numeric :直接使用IP地址,而不通過域名伺服器
    -N或–netlink或–symbolic :顯示網路硬體外圍裝置的符號連線名稱
    -o或–timers :顯示計時器
    -p或–programs :顯示正在使用Socket的程式識別碼和程式名稱
    -r或–route :顯示Routing Table
    -s或–statistice :顯示網路工作資訊統計表
    -t或–tcp :顯示TCP傳輸協議的連線狀況
    -u或–udp :顯示UDP傳輸協議的連線狀況
    -v或–verbose :顯示指令執行過程
    -V或–version :顯示版本資訊
    -w或–raw :顯示RAW傳輸協議的連線狀況
    -x或–unix :此引數的效果和指定”-A unix”引數相同
    –-ip或–inet :此引數的效果和指定”-A inet”引數相同

四、補充說明
    1、輸出結果分類
        整體的netstat的輸出結果分為兩個部分:Active Internet connections和Active UNIX domain sockets
        Active Internet connections:稱為有源TCP連線,其中"Recv-Q"和"Send-Q"指的是接收佇列和傳送佇列。這些數字一般都應該是0。如果不是則表示軟體包正在佇列中堆積。這種情況只能在非常少的情況見到。

        Active UNIX domain sockets:稱為有源Unix域套介面(和網路套接字一樣,但是隻能用於本機通訊,效能可以提高一倍)。Proto顯示連線使用的協議,RefCnt表示連線到本套介面上的程式號,Types顯示套介面的型別,State顯示套介面當前的狀態,Path表示連線到套介面的其它程式使用的路徑名。


    2、套介面型別
        -t :TCP
        -u :UDP
        -raw :RAW型別
        --unix :UNIX域型別
        --ax25 :AX25型別
        --ipx :ipx型別
        --netrom :netrom型別


    3、狀態說明

        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 :沒有任何連線狀態

五、命令示例
    1、列出所有的佔用的埠

[root@XILEN ~]# netstat -a
Proto(協議)  Recv-Q(接收佇列)  Send-Q(傳送佇列)  Local Address(本地)   Foreign Address(外連)  State(套介面狀態)
tcp               0                 0            *:ssh                 *:*                     LISTEN
udp               0                 0            *:41913               *:*                         
    2、列出所有佔用tcp埠和對應程式資訊
[root@XILEN ~]# netstat -natp
Proto   Recv-Q   Send-Q   Local Address        Foreign Address       State          PID/Program name
tcp         0         0   0.0.0.0:22           0.0.0.0:*             LISTEN         2471/sshd 
tcp         0         0   192.168.59.10:9001   192.168.59.11:59962   ESTABLISHED    695472/java
 

 

 

相關文章