netstat — 顯示網路連線統計(已棄用,改用 ss)

顯示網路連線、路由表與介面統計(現代系統請改用 ss)。

語法

netstat [選項]

常用選項

選項 說明 範例
-t 顯示 TCP 連線 netstat -t
-u 顯示 UDP 連線 netstat -u
-l 只顯示監聽中的 socket netstat -tln
-n 以數字格式顯示位址與 port netstat -tn
-p 顯示使用 socket 的程序 PID 和名稱 sudo netstat -tlnp
-r 顯示路由表 netstat -r
-s 顯示各協定的統計資訊 netstat -s
-a 顯示所有連線和監聽中的 socket netstat -an
-i 顯示網路介面統計 netstat -i

使用範例

範例 1:查看所有監聽中的 TCP port

等同於現代的 ss -tln,顯示所有監聽中的 TCP 連線。

$ netstat -tln
Active Internet connections (only servers)
Proto  Local Address    Foreign Address  State
tcp    0.0.0.0:22       0.0.0.0:*        LISTEN
tcp    0.0.0.0:80       0.0.0.0:*        LISTEN
範例 2:查看監聽 port 和對應程序
$ sudo netstat -tlnp
Proto  Local Address  State   PID/Program name
tcp    0.0.0.0:22    LISTEN  1234/sshd
tcp    0.0.0.0:80    LISTEN  5678/nginx

常見錯誤與排錯

netstat: command not found
原因
現代 Linux 不預設安裝 net-tools 套件。
解法
sudo apt install net-tools, 或改用現代替代品:ss -tln(等同 netstat -tln)。

延伸閱讀