【工作必备知识】Linux系统netstat命令详解

【工作必备知识】Linux系统netstat命令详解
最新回答
你一贱我就笑

2022-11-22 13:31:43

Linux系统netstat命令详解

netstat是一个网络连接状态查看命令,它可以显示网络中的传输层(TCP、UDP)信息,对于系统管理员和网络工程师来说,是诊断网络问题的重要工具。

一、命令参数

  • -a 或 --all:显示所有网络连接(包括监听和非监听的)和监听端口。
  • -t 或 --tcp:仅显示TCP连接。
  • -u 或 --udp:仅显示UDP连接。
  • -n 或 --numeric:显示IP地址和端口号,不进行域名解析和端口服务名称解析。
  • -r 或 --route:显示路由表。
  • -l 或 --listening:显示监听中的套接字(等待连接的端口)。
  • -p(在某些系统中需要):显示与每个连接或监听端口相关的进程ID和进程名称。
  • -s 或 --statistics:显示每个协议的统计信息。
  • -i 或 --interfaces:显示网络接口的信息,包括收发数据包的统计。
  • -c 或 --continuous:持续列出网络状态,可以配合 -w(刷新时间间隔)使用。

二、输出区域解析

netstat命令的输出通常分为三个区域:

  1. Active Internet connections (w/o servers):活动Internet连接(不带服务器),显示当前活跃的互联网连接,但不包括作为服务器监听的连接。

    Proto:协议类型,如TCP或UDP。

    Recv-Q:接收队列的长度,即等待进程读取的数据量。

    Send-Q:发送队列的长度,即等待网络传输的数据量。

    Local Address:本地IP地址和端口号。

    Foreign Address:连接的远程IP地址和端口号。

    State:连接的状态,如ESTABLISHED、TIME_WAIT等。

  2. Active UNIX domain sockets (w/o servers):活动UNIX域套接字(不带服务器),列出活跃的UNIX域套接字连接,同样不包括监听中的套接字。UNIX域套接字用于同一台机器上进程间的通信。

    Proto:协议,通常为unix。

    RefCnt:引用计数,表示有多少进程引用这个套接字。

    Flags:套接字标志。

    Type:套接字类型,如SOCK_STREAM或SOCK_DGRAM。

    State:套接字状态。

    I-Node:使用该套接字的文件系统的索引节点。

    Path:套接字在文件系统中的路径。

  3. Active Bluetooth connections (w/o servers):活动蓝牙连接(不带服务器),展示当前活跃的蓝牙连接信息,如果没有显示具体内容,意味着没有活跃的蓝牙连接或者信息被省略了。

    Proto:蓝牙协议类型。

    Destination/Source:目标和源地址。

    State:连接状态。

    PSM:服务发现协议(Service Discovery Protocol)端口。

    DCID/SCID:数据通道标识符。

    IMTU/OMTU:输入/输出最大传输单元。

    Security:安全设置或级别。

三、常用命令示例

  1. 运行netstat命令不带任何参数

    不带参数运行netstat命令时,服务器的监听端口连接的信息不展示。因此,一般使用带参数的命令来展示监听信息。

  2. 运行netstat -a命令

    该命令显示当前系统中所有活跃的互联网连接信息,包括正在监听的套接字和已经建立的客户端与服务器之间的连接。

    Active Internet connections (servers and established):活动的Internet连接(服务器和已建立的),展示所有活跃的互联网连接信息。

    Active UNIX domain sockets (servers and established):活动UNIX域套接字(服务器和已建立),列出所有的UNIX域套接字连接,包括那些作为服务器监听的套接字。

    Active Bluetooth connections (servers and established):活动蓝牙连接(服务器和已建立),如果有蓝牙相关的网络活动,会列出所有活跃的蓝牙连接以及监听中的蓝牙服务器。

四、重要注意事项

  • 在检查网络连接时,特别是服务器监听端口时,要注意Local Address字段的值。如果值为0.0.0.0:端口号或:::端口号,表示在所有IPv4或IPv6地址上监听的端口;如果值为127.0.0.1:端口号,则只有本地网卡IP是127.0.0.1的才能与该端口通信。
  • 使用-n参数可以避免域名解析和端口服务名称解析带来的延迟,提高命令的执行效率。
  • 在某些系统中,使用-p参数可能需要超级用户权限,以显示与每个连接或监听端口相关的进程ID和进程名称。

通过掌握netstat命令的使用,系统管理员和网络工程师可以更加高效地诊断和解决网络问题,确保系统的稳定运行。更多netstat应用信息,可以访问

【工作必备知识】Linux系统网络诊断与netstat命令_秋意零 (qiuyl.com)
进行查看。