• Linux 命令 netstat 的使用


    前言

    netstat 是 Linux 系统的网络监控工具,功能是显示网络连接状态、路由表和网络接口等信息,可以让用户得知本机系统各端口的网络连接情况

    1. 常用参数

    netstat 常用的参数如下表所示,更多参数可以使用命令 man netstat 查看详细信息

    参数功能
    -a显示所有的 socket,默认只展示已连接的 socket
    -n直接展示数字类型的 IP 和端口,不对 IP 和端口进行别名转换
    -p显示正在使用连接的进程ID和进程名称
    -r显示本机的路由表
    -l显示本机正在监听中、等待连接的服务端进程
    -i展示本机的网卡列表
    -c动态展示连接信息
    -s展示统计数据
    -t展示使用 tcp 协议的连接
    -u展示使用 udp 协议的连接
    -x展示使用 unix 域 socket 的连接

    2. 输出信息描述

    以下是 netstat 命令的输出结果示例,连接信息大致分为了两个部分:

    1. Active Internet connections(网络连接),其各个列的含义如下:
      • Proto 通信协议
      • Recv-Q 接收队列,非 0 表示有接收数据堆积
      • Send-Q 发送队列,非 0 表示有发送数据堆积
      • Local Address 通信双方中的本地端地址
      • Foreign Address 通信双方中的外部端地址
      • State 连接的状态
    2. Active UNIX domain sockets(Unix域 socket),Linux 系统提供的本机进程间通信机制创建的连接,各个关键列的含义如下:
      • Proto 通信协议
      • RefCnt 连接所属的进程号
      • Type socket 的类型,STREAM 表示发送数据前需要先进行连接动作,DGRAM 表示直接发送数据
      • State 连接的状态
      • Path 连接所属的进程的启动路径
    [root@aly-inner-001 ~]$ netstat -n
    Active Internet connections (w/o servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State   
    tcp        0      0 10.128.39.51:60530      172.18.211.120:8080     TIME_WAIT    
    tcp        0      0 127.0.0.1:25031         127.0.0.1:8500          TIME_WAIT  
    tcp        0      0 10.128.39.51:65032      172.18.212.71:2379      ESTABLISHED
    tcp        0      0 10.128.39.51:60524      172.18.211.120:8080     TIME_WAIT    
    tcp        0      0 10.128.39.51:54271      172.18.1.217:389        ESTABLISHED
    tcp        0      0 127.0.0.1:24981         127.0.0.1:8500          TIME_WAIT  
    tcp        0      0 10.128.39.51:44648      10.128.38.226:5044      ESTABLISHED
    Active UNIX domain sockets (w/o servers)
    Proto RefCnt Flags       Type       State         I-Node   Path
    unix  6      [ ]         DGRAM                    546      /run/systemd/journal/socket
    unix  14     [ ]         DGRAM                    548      /log
    unix  2      [ ]         DGRAM                    12160    /run/systemd/shutdownd
    unix  2      [ ]         DGRAM                    19454    /var/run/nscd/socket
    unix  3      [ ]         STREAM     CONNECTED     95657062 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    3. 使用示例

    1. 使用以下命令查看在本机上的连接

      # 列出所有连接
      sudo netstat -anp
      
      # 列出所有 tcp 连接
      sudo netstat -anpt
      
      # 列出所有 udp 使用的连接
      sudo netstat -anpu
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8

      在这里插入图片描述

    2. 使用以下命令查看在本机上作为服务端进行端口监听的进程建立的连接

      # 列出所有连接
      sudo netstat -anpl
      
      # 列出所有本机上作为服务端建立的 tcp 连接
      sudo netstat -anplt
      
      # 列出本机上作为服务端监听的 udp 端口
      sudo netstat -anplu
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8

      在这里插入图片描述

    3. 使用以下命令查看本机上监听端口的进程建立的 tcp 连接中包含 80 端口的连接

      sudo netstat -anplt | grep -w 80
      
      • 1

      在这里插入图片描述

    4. 统计 tcp 连接的数量

      sudo netstat -ant | wc -l
      
      • 1
  • 相关阅读:
    C++—— pass by value and use std::move
    《NLP入门到精通》栏目导读
    [NLP] LLM---<训练中文LLama2(四)方式一>对LLama2进行SFT微调
    大语言模型之十七-QA-LoRA
    Copy
    企业攻击面管理的七个最佳实践
    如何申请百度apikey
    Spring Boot集成JPA和ClickHouse数据库
    女性排卵期的七个表现,把握住提前当宝妈
    2022年《财富》世界500强企业
  • 原文地址:https://blog.csdn.net/weixin_45505313/article/details/126174083