美文网首页
netstat命令详解和用法示例

netstat命令详解和用法示例

作者: 大风过岗 | 来源:发表于2020-11-20 15:59 被阅读0次

    netstat命令

    netstat (network statistics) 是一个命令行的网络状况查看分析工具,它可以打印当前网络的连接情况,路由表 ,网络接口统计,伪装连接、multicast memberships。

    linux系统上的netstat命令详解

    命令语法

    netstat命令: 用于输出和网络相关的信息,比如网络连接状况、路由表、接口统计等信息。
    通过它,你可以看到有哪些网络网络连接、端口号在使用,以及哪些进程使用他们。

    netstat语法格式:

    netstat [address_family_options] [--tcp|-t] [--udp|-u] [--udplite|-U]
    [--sctp|-S] [--raw|-w] [--l2cap|-2] [--rfcomm|-f] [--listening|-l]
    [--all|-a] [--numeric|-n] [--numeric-hosts] [--numeric-ports]
    [--numeric-users] [--symbolic|-N] [--extend|-e[--extend|-e]]
    [--timers|-o] [--program|-p] [--verbose|-v] [--continuous|-c]
    [--wide|-W]

    命令选项的说明:

    选项简称 完整选项名 含义
    -a all 展示所有的监听和非监听的套接字
    -t tcp 只展示tcp端口上的套接字
    -u udp 只展示udp端口上的套接字
    -l listening 只展示监听的套接字
    -n numeric 以数字化的形式展示地址、端口号
    -c continuous 每秒钟连续打印指定的信息
    -p program 同时展示出每个套接字所属的进程的PID和名称
    -e extend 展示更多的附加信息

    命令的输出结果

    [root@iZbp10j45698ftelmrcx2Z ~]# netstat -natp
    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:2181            0.0.0.0:*               LISTEN      23372/java
    tcp        0      0 0.0.0.0:18342           0.0.0.0:*               LISTEN      23372/java
    tcp        0      0 127.0.0.1:11883         0.0.0.0:*               LISTEN      30368/beam.smp
    tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      23619/nginx: master
    tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      23372/java
    tcp        0      0 0.0.0.0:8081            0.0.0.0:*               LISTEN      30368/beam.smp
    tcp        0      0 0.0.0.0:4370            0.0.0.0:*               LISTEN      30368/beam.smp
    tcp        0      0 0.0.0.0:8883            0.0.0.0:*               LISTEN      30368/beam.smp
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      22553/sshd
    tcp        0      0 0.0.0.0:5432            0.0.0.0:*               LISTEN      19065/postmaster
    tcp        0      0 0.0.0.0:5370            0.0.0.0:*               LISTEN      30368/beam.smp
    tcp        0      0 0.0.0.0:1883            0.0.0.0:*               LISTEN      30368/beam.smp
    tcp        0      0 0.0.0.0:9600            0.0.0.0:*               LISTEN      13648/java
    tcp        0      0 0.0.0.0:18083           0.0.0.0:*               LISTEN      30368/beam.smp
    tcp        0      0 172.16.54.168:1883      39.144.5.203:43314      ESTABLISHED 30368/beam.smp
    
    tcp        0      0 172.16.54.168:64118     100.100.45.186:80       TIME_WAIT   -
    tcp        0      0 172.16.54.168:1883      117.61.0.28:35013       ESTABLISHED 30368/beam.smp
    tcp        0      0 172.16.54.168:1883      117.132.195.157:24087   ESTABLISHED 30368/beam.smp
    tcp        0      0 172.16.54.168:1883      39.144.13.7:62568       ESTABLISHED 30368/beam.smp
    tcp        0      0 172.16.54.168:1883      218.26.55.74:37440      ESTABLISHED 30368/beam.smp
    tcp        0      0 172.16.54.168:1883      39.144.15.90:16553      ESTABLISHED 30368/beam.smp
    tcp        0      8 172.16.54.168:1883      117.61.8.52:35387       ESTABLISHED 30368/beam.smp
    tcp        0      0 172.16.54.168:1883      39.144.5.188:42274      ESTABLISHED 30368/beam.smp
    tcp        0      0 172.16.54.168:1883      117.132.194.247:42289   ESTABLISHED 30368/beam.smp
    tcp        0      0 172.16.54.168:1883      117.132.195.153:17158   TIME_WAIT   -
    tcp        0      0 172.16.54.168:9600      113.89.10.102:6439      ESTABLISHED 13648/java
    tcp        0      0 172.16.54.168:1883      117.61.8.52:35380       TIME_WAIT   -
    tcp        0      0 172.16.54.168:1883      221.178.124.19:8942     ESTABLISHED 30368/beam.smp
    tcp        0      4 172.16.54.168:1883      98.116.200.113:38340    ESTABLISHED 30368/beam.smp
    [root@iZbp10j45698ftelmrcx2Z ~]#
    

    每一列的含义:

    列名 含义
    Proto 此套接字所使用的协议
    Recv-Q Established连接:接收队列.此连接的接收队列中的字节数
    Send-Q Established连接:发送队列.此连接的发送队列中的字节数
    Local Address 此套接字在本地端的地址和端口号
    Foreign Address 此套接字在远端的地址和端口号
    State 此套接字的状态(只对TCP协议有意义)

    State的值:

    含义
    ESTABLISHED 此套接字已建立连接
    SYN_SENT 此套接字正在积极地试图建立连接
    SYN_RECV 已经收到了连接请求
    FIN_WAIT1 此套接字被关闭,并且正在结束此连接
    FIN_WAIT2 连接被关闭,并且此套接字正在等待远端的结束
    TIME_WAIT 关闭之后,此套接字正等待处理仍在网络上的数据包
    CLOSED 当前已不再使用此套接字
    CLOSE_WAIT 远端已经结束,现在正等待此套接字关闭
    LAST_ACK 远端已经结束,此套接字已被关闭,并正等待确认
    LISTEN 此套接字正在监听入站连接
    CLOSING 俩端的套接字都结束了,但是我们仍有数据没被发送出去
    UNKNOWN 未知

    linux系统上常用的netstat命令选项

    查看服务器当前监听的所有TCP端口号

    netstat -lt

    示例

    # netstat -lt
    
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address               Foreign Address             State
    tcp        0      0 *:dctp                      *:*                         LISTEN
    tcp        0      0 *:mysql                     *:*                         LISTEN
    tcp        0      0 *:sunrpc                    *:*                         LISTEN
    tcp        0      0 *:munin                     *:*                         LISTEN
    tcp        0      0 *:ftp                       *:*                         LISTEN
    tcp        0      0 localhost.localdomain:ipp   *:*                         LISTEN
    tcp        0      0 localhost.localdomain:smtp  *:*                         LISTEN
    tcp        0      0 *:http                      *:*                         LISTEN
    tcp        0      0 *:ssh                       *:*                         LISTEN
    tcp        0      0 *:https                     *:*                         LISTEN
    
    

    查看某个端口号的服务所有tcp连接

    netstat -nat|grep -i "1883"

    
    [root@iZbp10j45698ftelmrcx2Z ~]# netstat -nat|grep -i "1883"
    tcp        0      0 127.0.0.1:11883         0.0.0.0:*               LISTEN     
    tcp        0      0 0.0.0.0:1883            0.0.0.0:*               LISTEN     
    tcp        0      0 172.16.54.168:1883      117.61.8.52:35389       SYN_RECV   
    tcp        0      0 172.16.54.168:1883      39.144.5.203:43314      ESTABLISHED
    tcp        0      0 172.16.54.168:1883      117.132.195.153:34235   TIME_WAIT  
    tcp        0      0 172.16.54.168:1883      39.144.15.73:13872      ESTABLISHED
    tcp        0      0 172.16.54.168:1883      39.144.18.95:40516      ESTABLISHED
    tcp        0      0 172.16.54.168:1883      117.61.9.115:29264      ESTABLISHED
    tcp        0      0 172.16.54.168:1883      117.132.193.142:35312   ESTABLISHED
    tcp        0      0 172.16.54.168:1883      203.168.9.165:26093     ESTABLISHED
    tcp        0      0 172.16.54.168:1883      117.132.198.60:56892    ESTABLISHED
    tcp        0      0 172.16.54.168:1883      117.132.195.153:34243   TIME_WAIT  
    tcp        0      0 172.16.54.168:1883      39.144.18.241:29091     ESTABLISHED
    tcp        0      0 172.16.54.168:1883      117.132.191.192:41933   ESTABLISHED
    tcp        0      0 172.16.54.168:1883      117.132.191.181:2142    ESTABLISHED
    tcp        0      0 172.16.54.168:1883      117.61.8.41:21068       ESTABLISHED
    tcp        0      0 172.16.54.168:1883      117.61.8.52:35373       TIME_WAIT  
    tcp        0      0 172.16.54.168:1883      117.61.8.52:35388       TIME_WAIT  
    tcp        0      0 172.16.54.168:1883      1.80.80.156:12861       ESTABLISHED
    tcp        0      0 172.16.54.168:1883      39.144.10.154:44862     ESTABLISHED
    tcp        0      0 172.16.54.168:1883      117.132.192.41:63551    ESTABLISHED
    tcp        0      0 172.16.54.168:1883      39.144.1.91:60008       ESTABLISHED
    

    查看某个端口上处于ESTABLISHED状态的连接个数

    netstat -na | grep -i 1883|grep ESTABLISHED|wc -l

    [root@iZbp10j40viotftelmrcx2Z ~]# netstat -na | grep -i 1883|grep ESTABLISHED|wc -l
    185
    [root@iZbp10j40viotftelmrcx2Z ~]# 
    
    

    参考文献

    1、man8手册

    2、netstat

    3、使用netstat进行网络管理

    相关文章

      网友评论

          本文标题:netstat命令详解和用法示例

          本文链接:https://www.haomeiwen.com/subject/idodiktx.html