Linux使用netstat查看網絡狀態

查看本機的網絡狀態。使用netstat查看網絡狀態。顯示系統端口使用情況。UDP類型的端口。TCP類型的端口。只顯示所有監聽端口。只顯示所有監聽tcp端口。

命令使用舉例

命令 說明
netstat -anp 顯示系統端口使用情況
netstat -nupl UDP類型的端口
netstat -ntpl TCP類型的端口
netstat -l 只顯示所有監聽端口
netstat -lt 只顯示所有監聽tcp端口

輸入命令後,輸出裏包含着協議、本地地址、外部地址及狀態信息

Proto Local Address Foreign Address State
協議 本地地址 外部地址 狀態

各屬性將在後文介紹。

組合命令

netstat -na | grep ESTABLISHED | wc -l 統計已連接上的,狀態爲"established"

顯示系統端口使用情況 netstat -anp

截取部分結果

    $ netstat -anp
    (Not all processes could be identified, non-owned process info
    will not be shown, you would have to be root to see it all.)
    Active Internet connections (servers and established)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
    tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      -               
    tcp        0      0 0.0.0.0:3478            0.0.0.0:*               LISTEN      -               
    tcp        0      0 0.0.0.0:3478            0.0.0.0:*               LISTEN      -               
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -               
    tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      -               
    tcp        0      0 172.16.16.13:37432      169.254.0.55:5574       ESTABLISHED -               
    tcp        0    600 172.16.16.13:22         222.216.195.223:17351   ESTABLISHED -               
    tcp6       0      0 :::9010                 :::*                    LISTEN      8708/main.js    
    Active UNIX domain sockets (servers and established)
    Proto RefCnt Flags       Type       State         I-Node   PID/Program name    Path
    unix  2      [ ]         DGRAM                    19037    1744/systemd        /run/user/500/systemd/notify
    unix  2      [ ACC ]     STREAM     LISTENING     13532    -                   /var/lib/lxd/unix.socket
    unix  2      [ ACC ]     STREAM     LISTENING     19038    1744/systemd        /run/user/500/systemd/private
    unix  2      [ ACC ]     SEQPACKET  LISTENING     9722     -                   /run/udev/control
    unix  2      [ ]         DGRAM                    71848026 -                   /usr/local/qcloud/YunJing/conf/ydrpc_3
    unix  3      [ ]         DGRAM                    9712     -                   /run/systemd/notify

查看UDP類型的端口 netstat -nupl

    $ netstat -nupl
    (Not all processes could be identified, non-owned process info
    will not be shown, you would have to be root to see it all.)
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
    udp        0      0 0.0.0.0:3478            0.0.0.0:*                           -               
    udp        0      0 0.0.0.0:3478            0.0.0.0:*                           -               
    udp        0      0 0.0.0.0:68              0.0.0.0:*                           -               
    udp        0      0 172.16.16.13:123        0.0.0.0:*                           -               
    udp        0      0 127.0.0.1:123           0.0.0.0:*                           -               
    udp        0      0 0.0.0.0:123             0.0.0.0:*                           -               
    udp6       0      0 :::123                  :::*                                -    

查看TCP類型的端口 netstat -nupl

截取部分結果

    $ netstat -ntpl
    (Not all processes could be identified, non-owned process info
    will not be shown, you would have to be root to see it all.)
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
    tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      -               
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -               
    tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      -               
    tcp6       0      0 :::9010                 :::*                    LISTEN      8708/main.js    
    tcp6       0      0 :::22                   :::*                    LISTEN      -               

只顯示所有監聽端口 netstat -l

部分結果

    $ netstat -l
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State      
    tcp        0      0 *:http                  *:*                     LISTEN     
    tcp        0      0 *:3478                  *:*                     LISTEN     
    tcp        0      0 *:3478                  *:*                     LISTEN     
    tcp        0      0 *:ssh                   *:*                     LISTEN     
    tcp        0      0 *:https                 *:*                     LISTEN     
    tcp6       0      0 [::]:9010               [::]:*                  LISTEN     
    tcp6       0      0 [::]:ssh                [::]:*                  LISTEN     
    udp        0      0 *:3478                  *:*                                
    udp        0      0 *:3478                  *:*                                
    udp        0      0 *:bootpc                *:*                                
    udp        0      0 172.16.16.13:ntp        *:*                                
    udp        0      0 localhost.localdoma:ntp *:*                                
    udp        0      0 *:ntp                   *:*                                
    udp6       0      0 [::]:ntp                [::]:*                             
    Active UNIX domain sockets (only servers)
    Proto RefCnt Flags       Type       State         I-Node   Path
    unix  2      [ ACC ]     STREAM     LISTENING     13532    /var/lib/lxd/unix.socket
    unix  2      [ ACC ]     STREAM     LISTENING     19038    /run/user/500/systemd/private

只顯示所有監聽tcp端口 netstat -lt

部分結果

    $ netstat -lt
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State      
    tcp        0      0 *:http                  *:*                     LISTEN     
    tcp        0      0 *:3478                  *:*                     LISTEN     
    tcp        0      0 *:3478                  *:*                     LISTEN     
    tcp        0      0 *:ssh                   *:*                     LISTEN     
    tcp        0      0 *:https                 *:*                     LISTEN     
    tcp6       0      0 [::]:9010               [::]:*                  LISTEN     
    tcp6       0      0 [::]:ssh                [::]:*                  LISTEN     

各屬性介紹

各個屬性(標題)含義是什麼?

Proto 協議名

比如tcp,udp

Recv-Q 本地緩衝隊列

表示本地緩衝中的數據,這些數據還沒有被進程取走。

一般來說這裏的值是0

Send-Q 發送緩存隊列

對方還沒收到數據,或者還沒ack的數據,還在本地緩衝區中。
如果這裏不能很快清零,可能是我方發送過快,或者對方接收太慢。

一般來說這裏的值是0

Local Address 本地地址

0.0.0.0:80 表示監聽本地服務器上所有ip的80端口(0.0.0.0表示所有ip)

:::9010 表示監聽本地服務器上所有ip的9010端口。這裏是IPv6地址。

::: 有3個冒號。前2個是0:0:0:0:0:0:0:0的縮寫。表示本地所有IPv6地址。
第三個冒號是IP和端口的分隔符號。

127.0.0.1:123 表示監聽本機的loopback(迴環地址)地址的123端口。

形如::1:9011,表示監聽IPv6的迴環地址的9011端口。

Foreign Address 外部地址

與本地服務器通信的另外的地址,顯示規則和上面本地地址的相同。

State 狀態

網絡鏈路的狀態。常見 LISTEN,ESTABLISHED 等等

  • LISTEN 打開監聽後狀態爲LISTEN,等待其他機器前來連接
  • ESTABLISHED 鏈接已建立,雙方可以進行或正在數據交互

PID(Program)

進程id,表示使用這個連接的進程

擴展閱讀

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