📜  netstat - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:17:51.423000             🧑  作者: Mango

netstat - Shell-Bash

netstat 是一种用于显示当前系统的网络连接、协议统计信息等的命令行工具。

语法
netstat [options]
常用选项
  • -a:显示所有连接,包括未建立连接的。
  • -t:显示TCP协议连接。
  • -u:显示UDP协议连接。
  • -n:显示IP地址和端口,而不是主机和服务名。
  • -p:显示连接相关的进程信息。
  • -r:显示路由表信息。
  • -l:显示监听状态的连接。

更多选项可以使用man netstat命令查看。

示例
显示TCP连接
$ netstat -atn

输出结果:

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 127.0.0.1:3306          127.0.0.1:49828         TIME_WAIT  
tcp        0      0 192.168.1.101:22        192.168.1.104:51487     ESTABLISHED 
tcp        0      0 192.168.1.101:5900      192.168.1.104:34064     ESTABLISHED 
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN     

说明:

  • Local Address:本地IP地址和端口。
  • Foreign Address:远程IP地址和端口。
  • State:连接状态。
显示UDP连接
$ netstat -aun

输出结果:

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
udp        0      0 0.0.0.0:5353            0.0.0.0:*                          
udp        0      0 0.0.0.0:631             0.0.0.0:*                          
udp6       0      0 :::5353                 :::*                               

说明:

  • Proto:协议类型。
  • Recv-Q:接收队列。
  • Send-Q:发送队列。
  • Local Address:本地IP地址和端口。
  • Foreign Address:远程IP地址和端口。
  • State:连接状态。
组合使用

要显示服务器上监听状态的TCP连接,可以使用以下命令:

$ netstat -ltn

输出结果:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN     
tcp6       0      0 :::80                   :::*                    LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN     
参考文献