方法一:使用 netstat 命令

netstat 是一个网络工具,可以显示网络连接、路由表、接口统计信息等。要查看端口号使用情况,可以使用以下命令:

sudo netstat -tuln

选项解释:

  • -t:显示 TCP 端口
  • -u:显示 UDP 端口
  • -l:显示监听状态的端口
  • -n:以数字形式显示地址和端口号

方法二:使用 ss 命令

ss 是一个更现代的工具,用于显示套接字统计信息。它是 netstat 的替代工具,功能更强大且性能更好。使用以下命令查看端口号使用情况:

sudo ss -tuln

选项解释与 netstat 相同。

方法三:使用 lsof 命令

lsof 是一个列出当前系统打开文件的工具,由于在网络连接中,套接字文件也被视为文件,因此 lsof 也可以用来查看端口号使用情况。

要查看所有打开的端口,可以使用以下命令:

sudo lsof -i -P -n

选项解释:

  • -i:显示与网络相关的文件
  • -P:显示端口号而不是服务名
  • -n:不解析主机名,直接显示 IP 地址

方法四:使用 firewalldiptables

如果你使用 firewalld 作为防火墙管理工具,可以查看防火墙规则来间接了解哪些端口被允许或拒绝。不过,这种方法不能直接显示当前正在使用的端口。

sudo firewall-cmd --list-all

或者如果你使用 iptables

sudo iptables -L -n -v

示例输出解释

假设你使用 netstat -tuln 命令,输出可能如下:

Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp6       0      0 :::80                   :::*                    LISTEN     
udp        0      0 0.0.0.0:123             0.0.0.0:*                          
udp6       0      0 :::123                  :::*
  • Proto:协议类型(TCP 或 UDP)
  • Recv-QSend-Q:接收和发送队列的长度
  • Local Address:本地地址和端口号
  • Foreign Address:远程地址和端口号(对于监听端口,通常为 *
  • State:连接状态(如 LISTEN 表示正在监听)
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐