1、概述
????????Traceroute(Windows 系統中為?tracert
)是一種網絡診斷工具,用于跟蹤數據包從本地設備到目標主機的傳輸路徑,并顯示沿途經過的每一跳(路由器)的延遲和 IP 地址。它通過發送不同 TTL(生存時間)的 ICMP 或 UDP 數據包,結合目標主機的響應,來繪制網絡路徑。
2、適用場景
- 網絡故障排查:定位網絡延遲、丟包的具體節點(如某路由器故障)。
- 網絡性能優化:分析數據包傳輸路徑,選擇更優的網絡鏈路。
- 學習網絡架構:了解數據包從本地到目標網站的實際路由過程。
3、命令使用
Windows 系統(tracert 命令)
語法格式
tracert [參數] 目標主機(域名或 IP 地址)
常用參數
-d
:不將 IP 地址解析為域名,加快追蹤速度。-h <最大跳數>
:設置最大追蹤跳數(默認 30)。-w <超時時間>
:設置等待響應的超時時間(毫秒,默認 1000)。
示例
追蹤百度的網絡路徑
tracert www.baidu.com
Linux/macOS 系統(traceroute 命令)
語法格式
traceroute [參數] 目標主機
常用參數
-I
:使用 ICMP 協議(默認)。-U
:使用 UDP 協議。-n
:不解析域名,僅顯示 IP。-m <最大跳數>
:同 Windows 的?-h
。
示例
traceroute -n www.baidu.com
ip+端口
使用?traceroute
?的 TCP 模式
traceroute -T -p 443 www.baidu.com
UDP 端口診斷
traceroute -U -p 443 www.baidu.com
centos 7安裝
yum install traceroute
4、輸出結果解讀
windows解讀
tracert www.baidu.com追蹤到 www.a.shifen.com [14.215.177.39] 的路由,最多 30 跳:1 1 ms 1 ms 1 ms 192.168.1.12 3 ms 2 ms 2 ms 10.1.1.13 12 ms 11 ms 13 ms 202.102.32.1...10 45 ms 43 ms 44 ms 14.215.177.39
- 各列含義:
- 第 1 列:跳數(TTL 值)。
- 第 2-4 列:三次數據包往返的延遲時間(ms),若超時顯示?
*
。 - 第 5 列:路由器的 IP 地址(可能顯示域名)。
- 關鍵現象解讀:
- 連續丟包(*):可能對應路由器負載過高或禁止 ICMP 響應。
- 延遲突然升高:該節點可能存在網絡擁塞。
linux解讀
[root@i-xjwcFHlEO-1 ~]# traceroute www.baidu.com
traceroute to www.baidu.com (110.242.70.57), 30 hops max, 60 byte packets1 gateway (172.16.0.1) 1.562 ms 1.527 ms 1.994 ms2 * * *3 * * *4 * * *5 * * *6 * * *7 * * 101.36.162.133 (101.36.162.133) 2.038 ms8 * * 101.36.162.21 (101.36.162.21) 1.892 ms9 * * 101.36.162.21 (101.36.162.21) 1.806 ms
10 * * *
11 * * *
12 * * 123.58.12.184 (123.58.12.184) 3.541 ms
13 * 172.31.1.81 (172.31.1.81) 10.624 ms 172.31.1.85 (172.31.1.85) 15.495 ms
14 * * *
15 220.192.72.117 (220.192.72.117) 4.986 ms 220.192.72.89 (220.192.72.89) 4.986 ms *
16 220.192.72.145 (220.192.72.145) 5.812 ms 220.192.72.97 (220.192.72.97) 4.942 ms 220.192.72.49 (220.192.72.49) 4.862 ms
17 220.192.72.45 (220.192.72.45) 4.959 ms 220.192.72.53 (220.192.72.53) 5.099 ms *
18 219.158.9.174 (219.158.9.174) 9.093 ms 110.242.66.174 (110.242.66.174) 12.770 ms 110.242.66.182 (110.242.66.182) 12.850 ms
19 110.242.66.174 (110.242.66.174) 13.183 ms 110.242.66.166 (110.242.66.166) 13.489 ms 110.242.66.190 (110.242.66.190) 13.641 ms
20 221.194.45.134 (221.194.45.134) 13.165 ms 110.242.66.162 (110.242.66.162) 13.180 ms 221.194.45.130 (221.194.45.130) 13.610 ms
21 * * *
22 * * *
23 * * *
24 * * *
25 * * *
26 * * *
27 * * *
28 * * *
29 * * *
30 * * *
首行信息????
- 目標解析:域名?
www.baidu.com
?對應 IP 為?110.242.70.57
(百度服務器地址)。 - 追蹤參數:最大跳數 30,數據包大小 60 字節(Linux 默認值)。
本地網絡與初始跳(1-6 跳)
1 gateway (172.16.0.1) 1.562 ms 1.527 ms 1.994 ms
2-6 * * *
- 第 1 跳:本地網關?
172.16.0.1
,延遲極低(約 1.5 ms),說明本地網絡連接正常。 - 第 2-6 跳:全為?
*
(無響應),可能原因:- 企業防火墻或 ISP 路由器屏蔽了 ICMP 響應。
- 該段路由為內網鏈路,不對外暴露信息。
中間路由節點(7-9 跳)
7 * * 101.36.162.133 (101.36.162.133) 2.038 ms
8-9 * * 101.36.162.21 (101.36.162.21) 1.892 ms / 1.806 ms
- IP 歸屬:
101.36.x.x
?屬于百度 BGP 網絡(百度自用 IP 段)。 - 現象解讀:
- 延遲仍較低(約 1.8-2 ms),說明數據包已進入百度的邊緣網絡。
- 前兩列顯示?
*
,僅第三列有響應,可能是路由器僅對部分探測包回復。
網絡中轉節點(12-13 跳)
12 * * 123.58.12.184 (123.58.12.184) 3.541 ms
13 * 172.31.1.81 (172.31.1.81) 10.624 ms 172.31.1.85 (172.31.1.85) 15.495 ms
- IP 歸屬:
123.58.x.x
?屬于中國聯通(China Unicom)。172.31.x.x
?為私有 IP 段(可能是企業內網或云服務商內部路由)。
- 現象解讀:
- 第 13 跳延遲明顯升高(10-15 ms),可能是跨運營商鏈路或節點負載較高。
- 同一跳出現兩個不同 IP(172.31.1.81 和 172.31.1.85),可能是負載均衡或路由抖動。
百度 CDN 節點(15-17 跳)
15 220.192.72.117 (220.192.72.117) 4.986 ms ...
16 220.192.72.145 (220.192.72.145) 5.812 ms ...
17 220.192.72.45 (220.192.72.45) 4.959 ms ...
- IP 歸屬:
220.192.x.x
?屬于中國聯通 CDN 節點(百度常用的 CDN 資源池)。 - 現象解讀:
- 延遲穩定在 5 ms 左右,說明進入百度的內容分發網絡(CDN)。
- 同一網段內多節點響應,可能是 CDN 負載均衡或路由優化機制。
接近目標的路由(18-20 跳)
18 219.158.9.174 (219.158.9.174) 9.093 ms ...
19-20 110.242.66.x.x / 221.194.45.x.x 12-13 ms
- IP 歸屬:
219.158.x.x
?屬于中國聯通骨干網。110.242.x.x
?為百度核心服務器 IP 段。221.194.x.x
?屬于中國移動(China Mobile),可能存在多線 BGP 路由。
- 現象解讀:
- 延遲升至 12-13 ms,接近目標服務器,但未抵達最終 IP(110.242.70.57)。
- 多運營商 IP 混合出現,說明百度使用 BGP 多線接入,優化不同網絡用戶的訪問路徑。
末尾跳數(21-30 跳)
21-30 * * *
- 現象解讀:
- 全部顯示?
*
,未到達目標 IP,可能原因:- 百度核心服務器設置了 ICMP 響應屏蔽(出于安全考慮)。
- 最后幾跳為內網路由,不對外暴露信息。
- 達到最大跳數(30),但實際已接近目標(第 20 跳已在百度網絡內)。
- 全部顯示?
關鍵問題總結
- 中間節點丟包:第 2-6 跳、第 10-11 跳、第 14 跳、第 21-30 跳出現?
*
,主要由以下原因導致:- 企業 / ISP 防火墻攔截 ICMP 請求。
- 內網路由不響應外部探測。
- 延遲波動:第 13 跳延遲突然升高(10-15 ms),可能是跨運營商鏈路或節點擁塞。
- 多線路由特征:第 20 跳同時出現聯通(110.242.x.x)和移動(221.194.x.x)的 IP,說明百度利用 BGP 實現多線接入。
特殊符號含義
*
:表示該跳無響應,可能原因:- 路由器屏蔽了 ICMP/UDP 響應。
- 網絡擁塞導致數據包丟失。
- 路由器配置限制(如防火墻規則)。
!H
、!N
、!P
:分別表示主機不可達、網絡不可達、協議不可達。
5、實時監控丟包率
可以使用mtr命令
mtr -c 30 www.baidu.com # 持續追蹤并統計丟包率
參考文檔:MTR使用說明-CSDN博客