HOME> 攻略大全> tracert 到底是怎么工作的?这篇文章带你彻底搞懂!

tracert 到底是怎么工作的?这篇文章带你彻底搞懂!

2025-10-29 18:00:45

这样一来,每一跳的设备都会被“激怒”,从而跳出来暴露它的 IP。

二、tracert 每一跳到底发几个包?

这是很多人没注意的小细节:

Windows 下:

默认每一跳发 3 个探测包(其实就是 3 次 TTL 相同的数据包),目的是防止因丢包看不到路径,显示如下:

3 15 ms 14 ms 16 ms 10.10.10.1

这 3 个数字分别是 3 次响应时间。

如果你看到的是:

4 * * * Request timed out.

可能是:

当前节点设置了丢弃 ICMP

该路径存在防火墙或 ACL 限制

路由黑洞、不通

Linux 下(使用 traceroute):

默认也是每跳发 3 个探测包,但更灵活:

可以指定协议(ICMP / UDP / TCP SYN)

可以指定端口范围

默认使用 UDP 探测端口,并期待回一个端口不可达的 ICMP 报文(type 3, code 3)

三、tracert 和 ping 属于 ICMP 协议吗?

这是一个很多人有点混淆的点,我们来区分清楚:

所以说:

ping 是标准的 ICMP 协议应用

tracert 是利用 IP 层 TTL 行为 + ICMP 返回来“逼问出”每一跳的 IP

Windows 用的是 ICMP Echo 作为“探测包”内容

Linux 用的是 UDP/ICMP/TCP 三选一(看你怎么配置)

四、为什么有时候 tracert 跳着跳着就 timeout 了?

很常见,比如:

6 25 ms 28 ms 27 ms 10.1.1.1

7 * * * Request timed out.

8 45 ms 47 ms 49 ms 220.181.57.1

这通常是:

中间设备拒绝返回 TTL 超时报文(很多运营商骨干路由器配置了防 ICMP)

该跳设备故障但还有旁路可通

ACL/防火墙策略丢弃了非业务相关的数据包

注意:timeout ≠ 不通,只能说那一跳不配合你玩 TTL 这套。

五、tracert 实战价值有哪些?

非常多,老网工排查必备工具之一:

路由路径排查

判断访问目标地址到底经过哪些设备

是从 A 出口走的,还是 B 出口走的

哪个链路在兜圈子(发现三层环路)

网络性能诊断

哪一跳延迟飙升?是不是出口/运营商链路压力太大?

某一跳之后全部 timeout,是不是 NAT 或防火墙在搞鬼?

ACL/NAT 排查

tracert 被“断崖式”中断,说明 ICMP/TTL 响应被某处阻断

可反查是否某跳设备配置了丢弃或限速 ICMP 报文

六、命令变体推荐(Windows / Linux / 华为设备)

Windows:

tracert -d www.baidu.com ← 不解析域名,加快速度

tracert -h 10 1.1.1.1 ← 限制最大跳数为10

Linux:

traceroute -I 8.8.8.8 ← 用 ICMP 发包

traceroute -T www.baidu.com ← 用 TCP SYN 代替 UDP

华为设备:

display traceroute www.baidu.com

支持类似参数配置,甚至可抓包观察 ICMP 响应。

一句话总结

★tracert 并不是“问路工具”,而是“引蛇出洞”。

它靠着设置 TTL,诱使网络设备“暴露自己”返回 ICMP 报文,才让我们看到每一跳的路径。

网络排障中,一定要配合 ping、display ip routing-table、display interface 等命令一起用,才能真正还原“数据到底走了哪”。

原创:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部返回搜狐,查看更多

玫瑰几月种植?玫瑰花的最佳种植时间
陆之南 的专栏:眷城