如何查看 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。