首頁 > 軟體

netstat命令: 顯示網路連線,路由表,介面統計資訊,多播成員

2020-06-16 17:21:02

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       : 介面名稱

Linux netstat命令詳解 http://www.linuxidc.com/Linux/2012-12/75667.htm

使用netstat檢測及監測網路連線  http://www.linuxidc.com/Linux/2014-09/106497.htm

Netstat 的10個基本用法 http://www.linuxidc.com/Linux/2014-01/94644.htm

Linux netstat命令 http://www.linuxidc.com/Linux/2013-06/85528.htm

Linux命令:service & netstat  http://www.linuxidc.com/Linux/2011-12/48395.htm

Linux下用netstat命令檢視網路負載狀況的一條語句 http://www.linuxidc.com/Linux/2011-08/41429.htm

LPI認證考試學習之Linux netstat 命令詳解 http://www.linuxidc.com/Linux/2009-12/23197.htm

Linux使用netstat命令檢視並行連線數  http://www.linuxidc.com/Linux/2017-02/140681.htm

Linux命令列netstat總結 http://www.linuxidc.com/Linux/2016-11/136641.htm

本文永久更新連結地址http://www.linuxidc.com/Linux/2017-02/141096.htm


IT145.com E-mail:sddin#qq.com