10.9 查看網絡狀態

監控系統狀態

  • netstat 查看網絡狀態
  • netstat -lnp 查看監聽端口
  • netstat -an 查看系統的網絡鏈接情況
  • netstat -lntp 只看出tcp的,不包含socket
  • ss -an和netstat殊途同歸
  • 技巧:
    • netstat -an |awk '/^tcp/ {++sta[$NF]} END {for(key in sta) print key,"\t" ,sta[key]}'

netstat命令

  • netstat命令,查看linux中網絡系統的狀態信息
    • 查看的就是tcp/ip通訊的一個狀態

netstat命令,查看監聽端口

  • netstat -lnp 查看監聽端口
    • l 就是監聽的意思
    • tcp
      • 25端口,是發郵件的端口
      • 22 端口,有兩個,一個是tcp,另外一個是tcp6
        • tcp6就是ipv6的IP
    • udp
    • UNIX中有一種文件叫socket
      • 也是進程間相互通訊的(前提:同一臺服務器,兩個進程相互通訊,使用socket文件)
[root@hf-01 ~]# netstat -lnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1522/master         
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1178/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      1522/master         
tcp6       0      0 :::3306                 :::*                    LISTEN      1525/mysqld         
tcp6       0      0 :::22                   :::*                    LISTEN      1178/sshd           
udp        0      0 0.0.0.0:51407           0.0.0.0:*                           557/avahi-daemon: r 
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           557/avahi-daemon: r 
raw6       0      0 :::58                   :::*                    7           650/NetworkManager  
Active UNIX domain sockets (only servers)
Proto RefCnt Flags       Type       State         I-Node   PID/Program name     Path
unix  2      [ ACC ]     STREAM     LISTENING     18892    1522/master          private/tlsmgr
unix  2      [ ACC ]     STREAM     LISTENING     18880    1522/master          public/pickup
unix  2      [ ACC ]     STREAM     LISTENING     18895    1522/master          private/rewrite
unix  2      [ ACC ]     STREAM     LISTENING     18898    1522/master          private/bounce
unix  2      [ ACC ]     STREAM     LISTENING     18901    1522/master          private/defer
unix  2      [ ACC ]     STREAM     LISTENING     18904    1522/master          private/trace
unix  2      [ ACC ]     STREAM     LISTENING     18907    1522/master          private/verify
unix  2      [ ACC ]     STREAM     LISTENING     18913    1522/master          private/proxymap
unix  2      [ ACC ]     STREAM     LISTENING     18916    1522/master          private/proxywrite
unix  2      [ ACC ]     STREAM     LISTENING     18919    1522/master          private/smtp
unix  2      [ ACC ]     STREAM     LISTENING     18922    1522/master          private/relay
unix  2      [ ACC ]     STREAM     LISTENING     18928    1522/master          private/error
unix  2      [ ACC ]     STREAM     LISTENING     18931    1522/master          private/retry
unix  2      [ ACC ]     STREAM     LISTENING     18934    1522/master          private/discard
unix  2      [ ACC ]     STREAM     LISTENING     18937    1522/master          private/local
unix  2      [ ACC ]     STREAM     LISTENING     11300    1/systemd            /run/lvm/lvmpolld.socket
unix  2      [ ACC ]     STREAM     LISTENING     18940    1522/master          private/virtual
unix  2      [ ACC ]     STREAM     LISTENING     18943    1522/master          private/lmtp
unix  2      [ ACC ]     STREAM     LISTENING     18946    1522/master          private/anvil
unix  2      [ ACC ]     STREAM     LISTENING     18949    1522/master          private/scache
unix  2      [ ACC ]     STREAM     LISTENING     6719     1/systemd            /run/systemd/journal/stdout
unix  2      [ ACC ]     STREAM     LISTENING     11092    1/systemd            /run/lvm/lvmetad.socket
unix  2      [ ACC ]     STREAM     LISTENING     15756    650/NetworkManager   /var/run/NetworkManager/private-dhcp
unix  2      [ ACC ]     STREAM     LISTENING     13965    1/systemd            /var/run/dbus/system_bus_socket
unix  2      [ ACC ]     STREAM     LISTENING     18884    1522/master          public/cleanup
unix  2      [ ACC ]     STREAM     LISTENING     13979    1/systemd            /var/run/avahi-daemon/socket
unix  2      [ ACC ]     STREAM     LISTENING     18887    1522/master          public/qmgr
unix  2      [ ACC ]     STREAM     LISTENING     18910    1522/master          public/flush
unix  2      [ ACC ]     STREAM     LISTENING     18925    1522/master          public/showq
unix  2      [ ACC ]     STREAM     LISTENING     19266    1525/mysqld          /tmp/mysql.sock
unix  2      [ ACC ]     SEQPACKET  LISTENING     11220    1/systemd            /run/udev/control
unix  2      [ ACC ]     STREAM     LISTENING     15580    650/NetworkManager   /var/run/NetworkManager/private
unix  2      [ ACC ]     STREAM     LISTENING     10994    1/systemd            /run/systemd/private
[root@hf-01 ~]#

netstat命令 查看全部的鏈接狀態

  • netstat -an 查看全部的鏈接狀態
[root@hf-01 ~]# netstat -an
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0     52 192.168.74.129:22       192.168.74.1:49322      ESTABLISHED
tcp6       0      0 ::1:25                  :::*                    LISTEN     
tcp6       0      0 :::3306                 :::*                    LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN     
udp        0      0 0.0.0.0:51407           0.0.0.0:*                          
udp        0      0 0.0.0.0:5353            0.0.0.0:*                          
raw6       0      0 :::58                   :::*                    7          
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  2      [ ACC ]     STREAM     LISTENING     18892    private/tlsmgr
unix  2      [ ACC ]     STREAM     LISTENING     18880    public/pickup
unix  2      [ ACC ]     STREAM     LISTENING     18895    private/rewrite
unix  2      [ ACC ]     STREAM     LISTENING     18898    private/bounce
等等等,只截取了一部分

netstat命令 只查看tcp

  • netstat -ltnp 只查看tcp
[root@hf-01 ~]# netstat -ltnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1522/master         
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1178/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      1522/master         
tcp6       0      0 :::3306                 :::*                    LISTEN      1525/mysqld         
tcp6       0      0 :::22                   :::*                    LISTEN      1178/sshd           
[root@hf-01 ~]#

netstat命令 只查看tcp和udp

  • netstat -ltunp //只查看tcp和udp
[root@hf-01 ~]# netstat -ltunp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1522/master         
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1178/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      1522/master         
tcp6       0      0 :::3306                 :::*                    LISTEN      1525/mysqld         
tcp6       0      0 :::22                   :::*                    LISTEN      1178/sshd           
udp        0      0 0.0.0.0:51407           0.0.0.0:*                           557/avahi-daemon: r 
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           557/avahi-daemon: r 
[root@hf-01 ~]#

netstat命令和awk相關的

  • 查看全部狀態的數字
  • netstat -an |awk '/^tcp/ {++sta[$NF]} END {for(key in sta) print key,"\t" ,sta[key]}'
    • 在現上環境中查看的多(虛擬機實現的效果太差)
[root@hf-01 ~]# netstat -an |awk '/^tcp/ {++sta[$NF]} END {for(key in sta) print key,"\t"
LISTEN 	 5
ESTABLISHED 	 1
[root@hf-01 ~]#
  • 查看netstat須要關注一個值,就是ESTABLISHED,這個數字如果很大,說明系統很忙
    • 一般ESTABLISHED 這個數字在一千之內,服務器都是能夠接受的
  • 網站併發鏈接數,併發鏈接數就是指同一時刻有多少個客戶端在鏈接你,而咱們就能夠拿ESTABLISHED 這個數字去說明,併發鏈接數有多少
    • 說明這個時刻,有多少個客戶端在和服務端保持通訊

ss -an命令和netstat命令類似

  • ss -an
[root@hf-01 ~]# ss -an
Netid State      Recv-Q Send-Q                                                             Local Address:Port                                                               Peer Address:Port 
nl    UNCONN     0      0                                                                              0:4194954                                                                          *     
nl    UNCONN     0      0                                                                              0:650                                                                            *     
nl    UNCONN     0      0                                                                              0:557                                                                            *     
nl    UNCONN     0      0                                                                              0:0                                                                              *     
nl    UNCONN     4352   0                                                                              4:2922                                                                           *     
nl    UNCONN     768    0                                                                              4:0                                                                              *     
nl    UNCONN     0      0                                                                              6:0                                                                              *     
nl    UNCONN     0      0                                                                              7:554                                                                            *     
nl    UNCONN     0      0                                                                              7:1                                                                              *     
nl    UNCONN     0      0                                                                              7:0                                                                              *     
nl    UNCONN     0      0                                                                              9:0                                                                              *     
nl    UNCONN     0      0                                                                              9:514                                                                            *     
nl    UNCONN     0      0                                                                              9:1                                                                              *     
nl    UNCONN     0      0                                                                             10:0                                                                              *     
nl    UNCONN     0      0                                                                             11:0                                                                              *     
nl    UNCONN     0      0                                                                             15:650                                                                            *     
等等等,只截取了一部分


[root@hf-01 ~]# ss -an |grep -i listen    //由於listen是大寫,因此加-i 參數
u_str  LISTEN     0      100       private/tlsmgr 18892                 * 0    
u_str  LISTEN     0      100        public/pickup 18880                 * 0    
u_str  LISTEN     0      100      private/rewrite 18895                 * 0    
u_str  LISTEN     0      100       private/bounce 18898                 * 0    
u_str  LISTEN     0      100        private/defer 18901                 * 0    
u_str  LISTEN     0      100        private/trace 18904                 * 0    
u_str  LISTEN     0      100       private/verify 18907                 * 0    
u_str  LISTEN     0      100     private/proxymap 18913                 * 0    
u_str  LISTEN     0      100    private/proxywrite 18916                 * 0    
等等等,只截取了一部分
  • ss -an 缺點:不會顯示進程的名稱
相關文章
相關標籤/搜索