netstat 與 tracert 是網路可觀測性的雙基石:前者聚焦「本機連線狀態」,後者聚焦「端到端路徑拓撲」。本文深度解析兩指令核心參數、輸出欄位含義,並提供木馬偵測、路由驗證、效能基線建立等實戰用法。
netstat:本機連線狀態全景圖
核心參數組合
| 參數組合 | 用途 | 關鍵輸出欄位 |
netstat -a | 所有連線與監聽埠 (TCP/UDP) | Proto、Local Address、Foreign Address、State |
netstat -an | 同上但直接顯示 IP:Port (不解析名稱,速度快) | 同上 |
netstat -anb | 顯示建立連線的執行檔 (需管理員) | 新增 PID、Process Name |
netstat -ano | 顯示 PID,配合 tasklist 追查進程 | PID |
netstat -r | 顯示路由表 (同 route print) | Network Destination、Netmask、Gateway、Interface、Metric |
netstat -s | 依協定顯示統計計數器 (TCP/UDP/ICMP/IP) | Segments Received/Sent、Retransmitted、Errors 等 |
netstat -e | 顯示介面卡統計 (位元組/封包/錯誤/捨棄) | Bytes Received/Sent、Unicast/Non-unicast、Discards、Errors |
netstat -p 協定 | 篩選特定協定 (tcp, udp, tcpv6, udpv6) | 同上 |
連線狀態機解讀
| 狀態 | 含義 | 異常徵兆 |
| LISTENING | 埠開放等待連入 | 非預期埠 LISTENING → 疑似後門/木馬 |
| ESTABLISHED | 連線已建立雙向傳輸 | 大量 ESTABLISHED 來自單一可疑 IP → 連線洪水 |
| TIME_WAIT | 主動關閉方等待 2MSL 確認對方收到 FIN | 大量 TIME_WAIT → 短連線風暴、需調整 TCP 參數 |
| CLOSE_WAIT | 被動關閉方等待應用程式呼叫 close() | 大量 CLOSE_WAIT → 應用程式未正確關閉 Socket (洩漏) |
| SYN_SENT / SYN_RECEIVED | 三向交握中 | 大量 SYN_SENT → 主動掃描/連線風暴 |
| FIN_WAIT_1 / FIN_WAIT_2 / CLOSING / LAST_ACK | 關閉流程中間狀態 | 大量堆積 → 應用/協定棧異常 |
實戰:木馬/異常連線偵測 SOP
netstat -anb | findstr "ESTABLISHED" → 記錄可疑 PID/埠/遠端 IP。
tasklist /FI "PID eq 可疑PID" → 確認進程名稱/路徑。
- Virustotal 上傳可疑執行檔 / 查詢遠端 IP 威脅情報。
- 確認惡意 → 防火牆封鎖 IP、終止進程、啟動事件回應流程。
tracert:端到端路徑拓撲重建
核心參數
| 參數 | 功能 | 範例 |
-d | 不解析主機名稱 (大幅加速) | tracert -d 8.8.8.8 |
-h 最大跳數 | 預設 30,可擴大 | tracert -h 50 目標 |
-w 逾時毫秒 | 預設 4000ms | tracert -w 1000 目標 |
-4 / -6 | 強制 IPv4/IPv6 | tracert -4 google.com |
輸出解讀
追蹤 8.8.8.8 最多 30 個躍點的路由:
1 1 ms 1 ms 1 ms 192.168.1.1
2 12 ms 11 ms 12 ms 100.64.0.1
3 15 ms 14 ms 15 ms 203.72.XX.XX
4 * * * 要求逾時。
5 18 ms 17 ms 18 ms 8.8.8.8
追蹤完成。
- 每列三次 RTT:取中位數評估該跳延遲;* 表該跳未回應 ICMP TTL Exceeded (可能封鎖 ICMP 或負載過高)。
- 第 1 跳通常為預設閘道;最後一跳為目標或目標前一跳。
- 中間出現 RFC1918 私有 IP (10.x, 172.16-31.x, 192.168.x) → 經過 ISP 內部網路/NAT。
進階替代:pathping / MTR
pathping 目標 # 結合 tracert + ping 統計,每跳丟包率、延遲分佈 (耗時較久)
# Linux/macOS/Win (Git Bash/Scoop)
mtr 目標 # 即時動態顯示,支援報表匯出,強烈推薦
實戰場景對照表
| 場景 | 首選指令 | 關鍵觀察點 |
| 懷疑主機中毒對外連線 | netstat -anb | 非預期 ESTABLISHED、怪異埠、可疑 PID |
| Web 服務間歇性慢 | tracert -d / mtr | 特定跳數延遲暴增、丟包率高 |
| VPN 撥通但存取不了內網 | netstat -r / route print | 路由表缺少內網網段、Metric 錯誤 |
| 新增 VLAN 後互不通 | tracert 目標IP | 卡在哪一跳 → 檢查該層 ACL/Trunk/路由 |
| 建立效能基線 | netstat -e -s (定時排程) | 錯誤計數器、重傳率、頻寬使用趨勢 |
總結
netstat 守住「本機視角」,tracert/mtr 掌握「路徑視角」。將兩者納入日常巡檢腳本、監控儀表板、事件回應手冊,讓網路狀態可見、可測、可控。