Linux / Unix netstat 指令:查看網路連線、路由表與通訊埠狀態完整教學
Linux / Unix netstat 指令:查看網路連線、路由表與通訊埠狀態完整教學
📅 更新日期:2026-09-22
🏷️ 分類:Linux / Unix 網路管理 系統診斷
💡 指令速查卡
| 指令名稱 | netstat |
|---|---|
| 指令類型 | Network Diagnostic Tool(網路診斷工具) |
| 適用環境 | Linux 各發行版、Unix (AIX/Solaris)、macOS / Windows |
| 常用頻率 | ★★★★★ |
在 Linux 與 Unix 作業系統環境中,netstat 是一套功能強大的網路診斷指令,可用於顯示網路連線、路由表、介面統計資料、偽裝連線以及多播成員資格等資訊。透過妥善運用此工具,系統管理者能夠輕鬆排查網路異常、追蹤佔用特定通訊埠(Port)的行程。
一、 基本語法與常用參數
netstat 指令在大部分 Linux / Unix 系統中的標準語法結構如下:
netstat [選項]
| 參數 / 選項 | 說明 | 預設值 / 必填 |
|---|---|---|
-t |
顯示 TCP 協定相關的連線狀態。 | 選填 |
-u |
顯示 UDP 協定相關的連線狀態。 | 選填 |
-l |
僅顯示正在監聽(Listening)中的伺服器 Socket。 | 選填 |
-n |
以數字形式顯示位址與通訊埠,不進行主機名稱與服務名稱的反查解析。 | 選填 |
-p |
顯示建立該連線的程式 PID 與程式名稱(需 root 權限)。 | 選填 |
-a |
顯示所有連線中的 Socket 以及正在監聽的 Socket。 | 選填 |
二、 核心功能與運作原理
netstat 從核心的網路子系統讀取資訊,提供網路連線狀態的綜合總覽。
在日常 Linux / Unix 系統管理與故障排除中,`netstat` 的核心作用包括:
在日常 Linux / Unix 系統管理與故障排除中,`netstat` 的核心作用包括:
- 監控網路連線:即時檢查系統上有哪些外部或內部 IP 正在連線進出。
- 檢查服務監聽狀態:確認特定的伺服器軟體(如 Web、Database)是否成功在指定 Port 上啟動監聽。
- 追蹤佔用通訊埠的行程:結合
-p參數快速揪出對應的行程名稱與 PID,以利進行後續處置。
三、 實用指令範例
範例 1:列出所有正在監聽與連線中的 TCP 與 UDP 通訊埠
搭配數字顯示 IP 與 Port,加速檢視速度:
# 顯示所有 TCP 與 UDP 的監聽與連線狀態(以數字格式輸出)
netstat -an
範例 2:檢視所有正在監聽的行程及其對應 PID
透過 root 權限搭配 -tulpn 參數查詢系統上所有啟動的網路服務:
# 列出所有 TCP/UDP 監聽中的 Port,並顯示佔用的程式名稱與 PID
sudo netstat -tulpn
範例 3:查詢特定通訊埠(如 80 或 443)的佔用狀況
利用 grep 過濾出特定 Port 的相關資訊:
# 檢查 Port 80 是否被佔用
sudo netstat -anp | grep :80
範例 4:顯示核心路由表資訊
檢視系統當前的路由設定與閘道器(Gateway)資訊:
# 顯示核心路由表
netstat -rn
四、 常見陷阱與注意事項
⚠️ 注意事項 1:部分新版 Linux 發行版未預裝 netstat
在許多現代 Linux 發行版中,
在許多現代 Linux 發行版中,
netstat 已被視為較舊的指令,官方建議改用更現代的 ss 指令。若系統提示找不到指令,可透過套件管理工具安裝 net-tools 套件。
⚠️ 注意事項 2:檢視 PID 需要管理者權限
若不使用
若不使用
sudo 執行包含 -p 的指令,輸出結果中的行程名稱與 PID 欄位將無法完整顯示屬於其他使用者的行程資訊。
五、 相關指令推薦
ss:現代 Linux 用於傾印 Socket 統計資料的高效能替代指令(執行速度比 netstat 快)。lsof:列出系統上開啟的檔案與佔用 Port 的行程(例如:lsof -i :80)。ip:用於設定與檢視 Linux 網路介面、路由與通道的現代網路工具。
六、 參考資源與官方文件
如需進一步瞭解網路診斷工具與相關通訊協定細節:
留言
張貼留言