traceroute(Windows 為 tracert)用於追蹤網路封包從來源到目的地經過的路由節點,透過發送 TTL 遞增的 UDP/ICMP 封包,記錄每一跳的回應時間與 IP,是網路故障診斷的核心工具。
traceroute [參數] [主機名稱或IP] [封包大小]
| 參數 | 說明 |
|---|---|
-n | 直接顯示 IP,不做 DNS 反解(加速顯示) |
-m <TTL> | 設定最大跳數(預設 30) |
-q <數量> | 每跳發送封包數(預設 3) |
-w <秒數> | 等待回應逾時秒數(預設 5 秒) |
-p <連接埠> | 指定 UDP 基礎連接埠(預設 33434) |
-I | 使用 ICMP Echo Request 取代 UDP |
-r | 忽略路由表,直接發送到目標(僅本地網段有效) |
-v | 詳細模式顯示執行過程 |
traceroute www.baidu.com
輸出說明:
* * * 表示該跳無回應(可能被防火牆阻擋 ICMP)traceroute -m 10 www.baidu.com
僅顯示前 10 跳,適合快速定位區域網路問題。
traceroute -n www.baidu.com
避免 DNS 解析延遲,加快輸出速度。
traceroute -p 6888 www.baidu.com
繞過某些防火牆對預設連接埠的封鎖。
traceroute -q 4 www.baidu.com
提高統計樣本,更準確判斷丟包率。
traceroute -r www.baidu.com
# 輸出:connect: 網絡不可達
僅適用於同一廣播域的直接連線測試。
traceroute -w 3 www.baidu.com
高延遲鏈路可適當增加,低延遲環境可減少等待。
| 現象 | 可能原因 |
|---|---|
中間出現 * * * | 防火牆封鎖 ICMP、該路由器不回應 TTL 逾期、負載過高 |
| 某跳延遲極高 | 節點阻塞、QoS 限速、跨國/跨運營商鏈路 |
| 前幾跳正常,後段全 * | 目標端防火牆策略、非對稱路由 |
mtr: 結合 ping + traceroute 持續監控,動態顯示丟包率-i eth0 多網卡環境指定出口traceroute6 或 traceroute -6traceroute target > trace.log 留存分析善用 traceroute 參數組合,能快速定位網路路徑故障點,是運維與網工必備診斷技能。