查看网络状态

netstat 命令

netstat 命令:

介绍:查看linux网络服务和监听的端口

格式:netstat [option]

用法:

  • -an :查看系统所有网络连接状况

    ss -an

  • -lnp :t查看当前系统所有监听端口

  • -t :tcp

  • -u :udp

[root@localhost ~]# netstat -tnlp
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:22              0.0.0.0:*               LISTEN      919/sshd            
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1053/master         
tcp6       0      0 :::22                   :::*                    LISTEN      919/sshd            
tcp6       0      0 ::1:25                  :::*                    LISTEN      1053/master         
[root@localhost ~]# netstat -nlp
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:22              0.0.0.0:*               LISTEN      919/sshd            
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1053/master         
tcp6       0      0 :::22                   :::*                    LISTEN      919/sshd            
tcp6       0      0 ::1:25                  :::*                    LISTEN      1053/master         
udp        0      0 127.0.0.1:323           0.0.0.0:*                           553/chronyd         
udp6       0      0 ::1:323                 :::*                                553/chronyd         
raw6       0      0 :::58                   :::*                    7           591/NetworkManager  
Active UNIX domain sockets (only servers)
Proto RefCnt Flags       Type       State         I-Node   PID/Program name     Path
unix  2      [ ACC ]     STREAM     LISTENING     21159    1053/master          private/tlsmgr
unix  2      [ ACC ]     STREAM     LISTENING     13097    1/systemd            /run/lvm/lvmpolld.socket
unix  2      [ ACC ]     STREAM     LISTENING     21165    1053/master          private/rewrite
unix  2      [ ACC ]     STREAM     LISTENING     21168    1053/master          private/bounce
unix  2      [ ACC ]     STREAM     LISTENING     21171    1053/master          private/defer
unix  2      [ ACC ]     STREAM     LISTENING     21155    1053/master          public/qmgr
unix  2      [ ACC ]     STREAM     LISTENING     21180    1053/master          public/flush
unix  2      [ ACC ]     STREAM     LISTENING     21174    1053/master          private/trace
unix  2      [ ACC ]     STREAM     LISTENING     21195    1053/master          public/showq
unix  2      [ ACC ]     STREAM     LISTENING     21177    1053/master          private/verify
unix  2      [ ACC ]     STREAM     LISTENING     21183    1053/master          private/proxymap
unix  2      [ ACC ]     STREAM     LISTENING     21186    1053/master          private/proxywrite
unix  2      [ ACC ]     STREAM     LISTENING     21189    1053/master          private/smtp
unix  2      [ ACC ]     STREAM     LISTENING     21192    1053/master          private/relay
unix  2      [ ACC ]     STREAM     LISTENING     21198    1053/master          private/error
unix  2      [ ACC ]     STREAM     LISTENING     21201    1053/master          private/retry
unix  2      [ ACC ]     STREAM     LISTENING     21204    1053/master          private/discard
unix  2      [ ACC ]     STREAM     LISTENING     21207    1053/master          private/local
unix  2      [ ACC ]     STREAM     LISTENING     21210    1053/master          private/virtual
unix  2      [ ACC ]     STREAM     LISTENING     21213    1053/master          private/lmtp
unix  2      [ ACC ]     STREAM     LISTENING     21216    1053/master          private/anvil
unix  2      [ ACC ]     STREAM     LISTENING     21219    1053/master          private/scache
unix  2      [ ACC ]     STREAM     LISTENING     13142    1/systemd            /run/lvm/lvmetad.socket
unix  2      [ ACC ]     SEQPACKET  LISTENING     13167    1/systemd            /run/udev/control
unix  2      [ ACC ]     STREAM     LISTENING     21152    1053/master          public/cleanup
unix  2      [ ACC ]     STREAM     LISTENING     17807    541/VGAuthService    /var/run/vmware/guestServicePipe
unix  2      [ ACC ]     STREAM     LISTENING     16818    1/systemd            /run/dbus/system_bus_socket
unix  2      [ ACC ]     STREAM     LISTENING     21148    1053/master          public/pickup
unix  2      [ ACC ]     STREAM     LISTENING     8671     1/systemd            /run/systemd/journal/stdout
unix  2      [ ACC ]     STREAM     LISTENING     13045    1/systemd            /run/systemd/private

netstat中的各种状态:

  • CLOSED :初始(无连接)状态。

  • LISTEN :侦听状态,等待远程机器的连接请求。

  • SYN_SEND :在TCP三次握手期间,主动连接端发送了SYN包后,进入SYN_SEND状态,等待对方的ACK包。

  • SYN_RECV :在TCP三次握手期间,主动连接端收到SYN包后,进入SYN_RECV状态。

  • ESTABLISHED : 完成TCP三次握手后,主动连接端进入ESTABLISHED状态。此时,TCP连接已经建立,可以进行通信。

  • FIN_WAIT_1 :在TCP四次挥手时,主动关闭端发送FIN包后,进入FIN_WAIT_1状态。

  • FIN_WAIT_2 :在TCP四次挥手时,主动关闭端收到ACK包后,进入FIN_WAIT_2状态。

  • TIME_WAIT :在TCP四次挥手时,主动关闭端发送了ACK包之后,进入TIME_WAIT状态,等待最多MSL时间,让被动关闭端收到ACK包。

  • CLOSING:在TCP四次挥手期间,主动关闭端发送了FIN包后,没有收到对应的ACK包,却收到对方的FIN包,此时,进入CLOSING状态。

  • CLOSE_WAIT :在TCP四次挥手期间,被动关闭端收到FIN包后,进入CLOSE_WAIT状态。

  • LAST_ACK :在TCP四次挥手时,被动关闭端发送FIN包后,进入LAST_ACK状态,等待对方的ACK包。

netstat 查看各种state有一个小技巧,就是 netstat -an|awk '/^tcp/ {++sta[$NF]} END {for(key in sta) print key, "\t", sta[key]}'

[root@localhost ~]# netstat -an|awk '/^tcp/ {++sta[$NF]} END {for(key in sta) print key, "\t", sta[key]}' 
LISTEN   4
ESTABLISHED      1

最后更新于

这有帮助吗?