在 Ubuntu 中,你可以使用多種命令來查看進程的網絡連接。以下是一些常用的方法:
netstat
命令:
netstat
是一個用于顯示網絡連接、路由表和接口統計信息的工具。你可以使用它來查看哪些進程正在監聽特定的端口或已經建立了連接。
netstat -tulnp
參數解釋:
-t
:顯示 TCP 連接。-u
:顯示 UDP 連接。-l
:顯示監聽狀態的連接。-n
:以數字形式顯示地址和端口號。-p
:顯示進程 ID 和程序名稱。ss
命令:
ss
是 netstat
的替代品,它提供了更多的功能和更好的性能。使用方法類似于 netstat
。
ss -tulnp
參數解釋:
-t
:顯示 TCP 連接。-u
:顯示 UDP 連接。-l
:顯示監聽狀態的連接。-n
:以數字形式顯示地址和端口號。-p
:顯示進程 ID 和程序名稱。lsof
命令:
lsof
是一個用于列出打開文件的工具,但它也可以用來查看進程的網絡連接,因為網絡連接在 Unix/Linux 系統中被視為文件。
lsof -i
參數解釋:
-i
:顯示網絡連接信息。你可以進一步使用 -P
(大寫)來顯示端口號而不是服務名稱,使用 -n
來顯示 IP 地址而不是主機名。
fuser
命令:
fuser
可以用來顯示哪些進程正在使用指定的文件、文件系統或 Unix 域套接字。
fuser -n tcp 80/tcp
這將顯示正在使用 TCP 端口 80 的進程。
請注意,某些命令可能需要 root 權限才能顯示所有進程的網絡連接信息。如果你遇到權限問題,可以在命令前加上 sudo
來獲取必要的權限:
sudo netstat -tulnp
或者
sudo ss -tulnp
在使用這些命令時,請確保你的系統已經安裝了相應的工具。如果沒有安裝,你可以使用包管理器來安裝它們,例如:
sudo apt update
sudo apt install net-tools # 安裝 netstat 和相關工具
sudo apt install iproute2 # 安裝 ss
sudo apt install lsof # 安裝 lsof