如何查看 Linux 进程端口?
在 Linux 系统中,可以轻松查看进程正在监听哪些端口。这对于故障排除、网络管理和安全性至关重要。
方法 1:使用 netstat 命令
netstat 命令是最常用的方法:
netstat -apn 列出所有进程的端口绑定,包括进程 ID (PID) 和命令名称。
netstat -tulpn 仅列出 TCP 和 UDP 端口。
netstat -lntp 仅列出侦听端口。
方法 2:使用 lsof 命令
lsof 命令可以列出所有打开的文件和网络连接:
lsof -i -P 列出所有正在使用网络连接的进程,包括端口号和进程 ID。
lsof -i4TCP:port 仅列出侦听特定端口的 TCP 连接。
lsof -i4UDP:port 仅列出侦听特定端口的 UDP 连接。
方法 3:使用 ss 命令
ss 命令是较新的命令,提供了更高级的功能:
ss -tulpn 列出所有 TCP 和 UDP 端口,包括进程 ID 和状态。
ss -s 显示每个协议的统计信息。
ss -lntp 仅列出侦听端口。
示例:使用 netstat
以下命令将列出系统上所有正在侦听端口的进程:
1 | netstat -lntp |
输出类似于:
1 2 3 4 5 6 7 | Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 6725/sshd tcp6 0 0 :::22 :::* LISTEN 6725/sshd tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 2393/cupsd tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 646/systemd-resolved tcp 0 0 127.0.0.1:80 0.0.0.0:* LISTEN 24552/<a style="color:#f60; text-decoration:underline;" href="https://www.php.cn/zt/15972.html" target="_blank">apache</a>2 |
此输出显示了五个进程正在侦听端口,包括 sshd、cupsd、systemd-resolved 和 apache2。