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)。