netstat命令

本文详细介绍了netstat命令的功能,包括显示网络连接状态(TCP、UDP、Unix套接字),监听服务、连接信息、路由及统计数据。还讲解了其选项和参数的使用,以及如何查看监听的服务器和统计网络活动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 命令介绍

netstat 命令用于显示网络相关信息,包括 tcp, udp 以及 unix 套接字,也可以列出处于监听状态(即等待接入请求)的套接字,可以显示对应进程的端口号,

1.1 选项和参数

  • -a (all)显示所有选项,默认不显示LISTEN相关
  • -t (tcp)仅显示tcp相关选项
  • -u (udp)仅显示udp相关选项
  • -n 拒绝显示别名,能显示数字的全部转化成数字。
  • -l 仅列出有在 Listen (监听) 的服务状态
  • -p 显示建立相关链接的程序名
  • -r 显示路由信息,路由表
  • -e 显示扩展信息,例如uid等
  • -s 按各个协议进行统计
  • -c 每隔一个固定时间,执行该netstat命令。

1.2 输出结果

netstat
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 host-10-239-166-72:ssh  10.118.9.136:56448      ESTABLISHED
tcp 0 2 210.34.6.89:telnet 210.34.6.96:2873 ESTABLISHED
tcp 296 0 210.34.6.89:1165 210.34.6.84:netbios-ssn ESTABLISHED
tcp 0 0 localhost.localdom:9001 localhost.localdom:1162 ESTABLISHED
tcp 0 0 localhost.localdom:1162 localhost.localdom:9001 ESTABLISHED
tcp 0 80 210.34.6.89:1161 210.34.6.10:netbios-ssn CLOSE

Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  3      [ ]         DGRAM                    22536    /run/systemd/notify
unix  2      [ ]         DGRAM                    22538    /run/systemd/cgroups-agent
unix  2      [ ]         DGRAM                    435162379 /var/run/chrony/chronyd.sock

从整体上看,netstat的输出结果可以分为两个部分:
1. Active Internet connections,显示网络相关连接

  • Proto:网络封包协议,氛围TCP和UDP
  • Recv-Q和Send-Q:指%0A的是接收队列和发送队列。这些数字一般都应该是0。如果不是则表示软件包正在队列中堆积。这种情况只能在非常少的情况见到。
  • Local Addr:本地端的IP: port
  • Foreign Addr:远程端的IP: port
  • State:连接状态,主要是建立ESTABLISED和监听LISTEN


2. Active UNIX domain sockets,显示用于本机通信的连接,性能可以提高一倍

  • Proto:一般是unix
  • RefCnt:表示连接到本套接口上的进程数量
  • Types:显示套接口的类型,确认连接STREAM,不需确认DGRAM
  • State:显示套接口当前的状态,CONNECTED表示多个进程已建立连接
  • Path:表示连接到套接口的其它进程使用的路径名。
netstat -nlptu

找出系统上已在监听的网络和进程PID

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.1.1:53            0.0.0.0:*               LISTEN      1144/dnsmasq    
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      661/cupsd       
tcp6       0      0 ::1:631                 :::*                    LISTEN      661/cupsd

相比进程名和进程号而言,查看进程的拥有者会更有用。使用 -ep 选项可以同时查看进程名和用户名。

$ sudo netstat -ltpe
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode       PID/Program name
tcp        0      0 enlightened:domain      *:*                     LISTEN      root       11090       1144/dnsmasq    
tcp        0      0 localhost:ipp           *:*                     LISTEN      root       9755        661/cupsd       
tcp6       0      0 ip6-localhost:ipp       [::]:*                  LISTEN      root       9754        661/cupsd
netstat -s

打印出网络统计数据,包括某个协议下的收发包数量

netstat -rn

显示内核路由信息

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值