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 發行版中,netstat 已被視為較舊的指令,官方建議改用更現代的 ss 指令。若系統提示找不到指令,可透過套件管理工具安裝 net-tools 套件。
⚠️ 注意事項 2:檢視 PID 需要管理者權限
若不使用 sudo 執行包含 -p 的指令,輸出結果中的行程名稱與 PID 欄位將無法完整顯示屬於其他使用者的行程資訊。

五、 相關指令推薦

  • ss:現代 Linux 用於傾印 Socket 統計資料的高效能替代指令(執行速度比 netstat 快)。
  • lsof:列出系統上開啟的檔案與佔用 Port 的行程(例如:lsof -i :80)。
  • ip:用於設定與檢視 Linux 網路介面、路由與通道的現代網路工具。

六、 參考資源與官方文件

如需進一步瞭解網路診斷工具與相關通訊協定細節:

留言

相關文章 / 薪資情報

文章載入中...

你可能有興趣

精選文章 / 推薦情報

文章載入中...