很多人遇到网络不通,第一反应就是 ping,但 Ping 只能告诉你“能不能到”,却无法告诉你“卡在哪”。
而 tracert(Linux 下是 traceroute)就像一把解剖刀,能一步步揭开路径,把“哪一跳掉链子”直接揪出来。

遗憾的是,不少人会用,但不会“看”。
今天就带你系统掌握 tracert,从原理到实战排障,彻底玩明白。
1. Tracert 的工作原理
利用 IP 包 TTL(生存时间)字段:
第一个探测包 TTL=1,到第一跳就被丢弃,返回 ICMP 超时报文;
第二个探测包 TTL=2,到第二跳丢弃并返回;
依此类推,直到目标主机。
逐跳反馈机制:
每一跳都会返回自己的 IP 地址(或主机名),形成完整路径。
协议差异:
Windows tracert 默认用 ICMP 回显请求;
Linux traceroute 默认用 UDP(也可切换 ICMP/TCP)。
Tracert工作原理 

2. Tracert 基本用法
tracert 8.8.8.8
常用参数(Windows):
-d:不解析域名,直接显示 IP,更快。-h:设置最大跃点数(默认 30)。-w:超时时间。
Linux 下:
traceroute -n 8.8.8.8 # 不解析域名
traceroute -I 8.8.8.8 # 使用 ICMP
traceroute -T 8.8.8.8 # 使用 TCP
3. 如何解读 Tracert 输出
示例:
C:\> tracert 8.8.8.8
1 1 ms 1 ms 1 ms 192.168.1.1
2 10 ms 12 ms 11 ms 10.10.0.1
3 20 ms 22 ms 21 ms 172.16.0.1
4 35 ms 33 ms 34 ms 202.xxx.xxx.1
5 * * * 请求超时。
6 70 ms 68 ms 69 ms 8.8.8.8
关键点:
第 1 跳:通常是你的网关。若不通,说明出口配置或本地网络有问题。
中间跳延迟异常高:说明链路可能拥塞或设备负载过高。
某一跳全是
*:可能是该设备禁止 ICMP 返回,不一定是故障。连续超时:说明路径真的断了,这一段之后的流量到不了。
4. Tracert 排障逻辑
确认出口是否正常
第一跳是否通?如果网关都不通,检查本机配置(IP/掩码/网关)。
逐跳检查延迟和丢包
某一跳延迟明显高于前一跳,可能是瓶颈。
连续几跳
*,说明路径被阻断。
结合 Ping 验证
Tracert 定位到某一跳,再直接 ping 该 IP。
如果该跳可 ping 通,但下一跳不通,多半是路由丢失或 ACL 拦截。
结合抓包/防火墙策略
如果某个节点 ICMP 被过滤,但 TCP 能通,考虑防火墙配置。
5. 实战案例
案例一:出口网关配置错误
Tracert 卡在第一跳
* * *,说明网关不可达,本机配置需检查。
案例二:运营商丢包
某一跳延迟从几十毫秒骤升到几百毫秒,且后续延迟保持高位,多半是运营商链路问题。
案例三:跨区域访问失败
Tracert 到国内节点正常,但出境第一跳就超时,说明出口策略限制或国际线路问题。
6. 总结
Ping 只能看“是否通”,Tracert 能看“卡在哪”。
正确解读 Tracert 输出,能迅速定位是本地问题、网关问题、还是运营商链路问题。
配合 Ping、抓包、防火墙检查,才能精准找到“路由死点”。
3798

被折叠的 条评论
为什么被折叠?



