关于linux:Linux使用netstat查看网络状态

4次阅读

共计 3612 个字符,预计需要花费 10 分钟才能阅读完成。

查看本机的网络状态。应用 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,示意应用这个连贯的过程

扩大浏览

  • Linux awk 命令的应用,逐行解决文本,搜寻统计单词个数
  • find 的应用,寻找特定文件
  • grep 搜寻字符串
  • Shell for 循环语句
正文完
 0