在 Linux 系统下,你可以使用多种命令来查看 UDP Server 端口的启用情况,下面为你详细介绍几种常用的方法:
1. 使用 netstat 命令
netstat 是一个用于显示网络连接、路由表和网络接口统计信息的工具。
命令格式
netstat -uln
参数解释
-u:仅显示 UDP 协议的连接。-l:仅显示监听状态的套接字。-n:以数字形式显示地址和端口号,而不是将其解析为域名和服务名。
示例输出
Active Internet connections (only servers)
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 127.0.0.1:631 0.0.0.0:*
udp6 0 0 :::5353 :::*
udp6 0 0 ::1:631 :::*
在上述输出中,Local Address 列显示了监听的本地地址和端口号。例如,0.0.0.0:5353 表示 UDP 服务器正在监听所有网络接口的 5353 端口。
2. 使用 ss 命令
ss 是一个用于显示套接字统计信息的工具,它比 netstat 更快速、更强大。
命令格式
ss -uln
参数解释
-u:仅显示 UDP 协议的连接。-l:仅显示监听状态的套接字。-n:以数字形式显示地址和端口号。
示例输出
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
udp UNCONN 0 0 0.0.0.0:5353 0.0.0.0:*
udp UNCONN 0 0 127.0.0.1:631 0.0.0.0:*
udp UNCONN 0 0 [::]:5353 [::]:*
udp UNCONN 0 0 [::1]:631 [::]:*
这里的输出与 netstat 类似,你可以从 Local Address:Port 列中查看 UDP 监听端口。
3. 使用 lsof 命令
lsof(list open files)命令用于列出当前系统打开的文件和网络连接。
命令格式
lsof -i UDP -n -P | grep LISTEN
参数解释
-i UDP:仅显示 UDP 协议的网络连接。-n:以数字形式显示地址和端口号。-P:不将端口号转换为服务名。grep LISTEN:过滤出处于监听状态的连接。
示例输出
systemd-r 226 systemd-resolve 13u IPv4 12345 0t0 UDP *:5353
cupsd 345 cupsd 6u IPv4 23456 0t0 UDP 127.0.0.1:631
输出中会显示监听 UDP 端口的进程名、进程 ID 以及监听的端口号等信息。