【裸奔吧linux】netstat: 顯示網絡連接,路由表,接口統計信息,多播成員

netstat - Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships

netstat: 打印網絡連接,路由表,接口統計信息,多播成員

選項與參數:

       netstat [address_family_options]  [--tcp|-t]  [--udp|-u]  [--raw|-w]
       [--listening|-l]    [--all|-a]    [--numeric|-n]   [--numeric-hosts]
       [--numeric-ports]         [--numeric-users]          [--symbolic|-N]
       [--extend|-e[--extend|-e]]   [--timers|-o]   [--program|-p]  [--ver‐
       bose|-v] [--continuous|-c]

       netstat            {--route|-r}             [address_family_options]
       [--extend|-e[--extend|-e]]       [--verbose|-v]       [--numeric|-n]
       [--numeric-hosts]  [--numeric-ports]  [--numeric-users]  [--continuous|-c]

       netstat   {--interfaces|-i}   [--all|-a]  [--extend|-e[--extend|-e]]
       [--verbose|-v]   [--program|-p]   [--numeric|-n]   [--numeric-hosts]
       [--numeric-ports] [--numeric-users] [--continuous|-c]

       netstat      {--groups|-g}      [--numeric|-n]     [--numeric-hosts]
       [--numeric-ports] [--numeric-users] [--continuous|-c]

       netstat     {--masquerade|-M}      [--extend|-e]      [--numeric|-n]
       [--numeric-hosts]  [--numeric-ports]  [--numeric-users]  [--continuous|-c]

       netstat {--statistics|-s} [--tcp|-t] [--udp|-u] [--raw|-w]

       netstat {--version|-V}

       netstat {--help|-h}

       address_family_options:

       [-4]     [-6]     [--protocol={inet,unix,ipx,ax25,netrom,ddp}[,...]]
       [--unix|-x] [--inet|--ip] [--ax25] [--ipx] [--netrom] [--ddp]

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

-r  : 列出路由表(route table),功能如同 route 這個指令[route -e];
-n  : 不使用主機名與服務名稱,使用 IP 與 port number ,如同 route -n

與網絡接口有關的參數:


-a  : 列出所有的聯機狀態,包括 tcp/udp/unix socket 等;
-t  : 僅列出 TCP 協議的連接情況;
-u  : 僅列出 UDP 協議的情況;
-l  : 僅列出有在 Listen (監聽) 的服務之網絡狀態;
-p  : 列出建立相關連接的 PIDProgram 名;
-c  : 可以設定幾秒鐘後自動更新一次,例如 -c 5 每五秒更新一次網絡狀態的顯示;
-i  : 顯示所有網絡接口的信息,格式“netstat -i”。

其他選項:


-v  : 顯示正在進行的工作。
-b  : 顯示在創建每個連接或偵聽端口時涉及的可執行程序。
-e  : 顯示以太網統計。此選項可以與 -s 選項結合使用。
-f  : 顯示外部地址的完全限定域名(FQDN)。
-o  : 顯示與每個連接相關的所屬進程ID-s  : 顯示每個協議的統計。
-x  : 顯示 NetworkDirect 連接、偵聽器和共享端點。
-y  : 顯示所有連接的 TCP 連接模板。無法與其他選項結合使用。

輸出:

Proto           : 協議
Recv-Q          : 非由用戶程序連接所複製而來的總 bytes 數[不大理解]
Send-Q          : 來自遠程主機不包含ack標誌的總bytes數.[意指主動聯機 SYN 或其他標誌的封包所佔的 bytes 數]
Local Address   : 本地端的地址,可以是 IP (-n 參數存在時), 也可以是完整的主機名。
                  使用的格是就是『 IP:port 』只是 IP 的格式有 IPv4 及 IPv6 的差異。
Foreign Address : 遠程的主機 IP 與 port number
State   : 狀態.  
       ESTABLISHED : 已建立連接.
       SYN_SENT : 發送一個建立連接請求.
       SYN_RECV : 從網絡中接收到一個連接請求
       FIN_WAIT1 : socket已經關閉(closed),連接正在關閉(shutting down).
       FIN_WAIT2: 連接已經關閉(closed),socket 等待來自遠程的關閉[確認包](shutdonw)
       TIME_WAIT: 連接已經斷開.但socket還在網絡上等待結束.[主動關閉連接的一方,會在發送最後一個ack後進入TIME_WAIT狀態(在四次握手中)]
       CLOSE : socket已經不在使用了.
       CLOSE_WAIT : 被動關閉時,遠端已經關閉連接(發送來了FIN),本端socket還未關閉(還沒有發送FIN出去);
                    [如果出現大量close_wait的現象,主要原因是某種情況下對方關閉了socket鏈接,但是我方忙與讀或者寫,
                    沒有關閉連接。代碼需要判斷socket,一旦讀到0,如果不是AGAIN,就斷開連接。]
       LAST_ACK : 遠端已經關閉(本端接收到遠端的FIN),本端也關閉(發送了FIN),正在等待遠端發來ACK.
       LISTEN : 正在監聽新來的連接(incoming connections).通常用在服務的監聽 port !可使用『 -l 』參數查閱
       CLOSING : 兩端socket都關閉了,但是數據還沒有全部發送完.
       UNKNOWN : socket的狀態是未知的(unknown)

ip路由表相關輸出:

Destination : 目的ip地址
Gateway     : 網關        
Genmask     : 子網掩碼        
Flags       : 標誌.
    ■ G 路由將採用網關。
    ■ U 準備使用的接口處於“活動”狀態。
    ■ H 通過該路由,只能抵達一臺主機。
    ■ D 如果路由表的條目是由ICMP重定向消息生成的,就會設置這個標記。
    ■ M 如果路由表條目已被ICMP重定向消息修改,就會設置這個標記。  
MSS         : Maximum Segment Size, 最大報文長度
Window      : ?
irtt        : ?
Iface       : 接口名稱

一些netstat命令的使用

http://blog.csdn.net/iloveyin/article/details/38512793

鳥哥私房菜中的相關內容

http://vbird.dic.ksu.edu.tw/linux_server/0140networkcommand_2.php#netstat

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章