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博客