Skip to main content

tracert

1. 工具概述​

  • 工具类型: CLI命令行
  • 系统平台: Windows
  • 核心功能: tracert 是 Windows 内置的路由追踪命令(Linux/macOS 叫 traceroute),基于 ICMP 协议,用来查看数据包去往目标地址沿途经过的路由节点,排查网络故障。

2. 页面展示​

tracert

3. 功能描述​

  1. 查看从本机到目标IP/域名完整转发路径(每一跳路由器)
  2. 查看每一跳的往返延迟
  3. 定位网络故障:判断是内网、运营商骨干、还是目标服务器侧丢包/延迟高
  4. 判断路由走向、是否绕路

注意:tracert 只能看转发路径,不能测速;很多设备会屏蔽 ICMP,出现 * * * 请求超时,不代表一定断网。

4. 实现原理​

依托 IP 头的 TTL(生存时间,Time To Live) + ICMP 超时报文:

  1. TTL:数据包每经过一台路由器转发,TTL 自动减 1;TTL=0 时路由器丢弃数据包,返回 ICMP Time Exceeded(超时) 报文给源主机。
  2. tracert 工作流程:
    • 先发送 TTL=1 的探测包:第一跳路由收到,TTL 变为0,返回超时包 → 获取第1跳信息
    • 再发送 TTL=2 的探测包:到达第二跳路由超时,返回报文 → 获取第2跳
    • TTL 逐步+1,逐跳探测
    • 当数据包成功到达目标主机,目标主机返回 ICMP Echo Reply,tracert 停止追踪
  3. 默认每一跳发送3个探测包,所以输出里有3个延迟值。

补充:

  • 部分防火墙/路由器丢弃 ICMP 探测,不回包,显示 * * *
  • 不保证来回路径一致(非对称路由)
  • 有些运营商会对 ICMP 限速,延迟仅供参考

5. 工具用法​

5.1. 基础格式​

打开 CMD(命令提示符)

tracert 目标地址

示例:

tracert www.baidu.com
tracert 223.5.5.5

5.2. 常用参数​

tracert [-d] [-h maximum_hops] [-w timeout] [-R] [-S srcaddr] [-4] [-6] target_name
参数作用
-d不解析域名,只显示IP,速度更快(最常用)
-h设置最大跳数,默认30跳,如 tracert -h 50 www.baidu.com
-w超时等待时间(毫秒),默认4000ms
-4强制使用IPv4
-6强制使用IPv6

高频推荐命令:

tracert -d -w 300 www.baidu.com

5.3. 示例解读​

# 示例1:使用默认参数值
PS C:\Users\Lenovo> tracert www.baidu.com

Tracing route to www.a.shifen.com [180.101.51.73] # 开始追踪,www.baidu.com CNAME为www.a.shifen.com,解析目标IP:180.101.51.73
over a maximum of 30 hops: # 设置最大追踪跳数30跳(tracert默认值)

1 * * * Request timed out. # 第1跳,本地网关/光猫;3次探测都没有收到ICMP超时回复,设备屏蔽ICMP应答
2 * * * Request timed out. # 第2跳,运营商接入设备;不返回ICMP超时包,不代表链路不通
3 5 ms * * 116.233.144.1 # 第3跳,运营商城域网节点;仅第1个探测包收到回复,时延5ms,另外两次无应答
4 * 3 ms 4 ms 124.75.224.5 # 第4跳,运营商骨干节点;第1包超时,后两个探测时延3ms、4ms
5 * * * Request timed out. # 第5跳,骨干路由节点;策略丢弃ICMP超时响应
6 * * * Request timed out. # 第6跳,骨干路由节点;屏蔽tracert的ICMP超时应答
7 13 ms 14 ms 17 ms 58.213.95.218 # 第7跳,百度接入节点;三次探测全部正常回包,时延稳定
8 14 ms * * 58.213.95.210 # 第8跳,百度侧节点;仅第1个探测包收到回复,时延14ms,其余无应答
9 15 ms 24 ms 12 ms 58.213.96.66 # 第9跳,百度接入节点;三次探测均收到回复,时延有小幅波动
10 * * * Request timed out. # 第10跳,百度防护/负载均衡设备,安全策略不回ICMP超时报文
11 * * * Request timed out. # 第11跳,同上,不响应ICMP超时
12 * * * Request timed out. # 第12跳,同上
13 * * * Request timed out. # 第13跳,同上
14 18 ms 13 ms 23 ms 180.101.51.73 # 第14跳,到达目标百度服务器IP,追踪终点
Trace complete. # 追踪完成,成功到达目标地址


# 示例2:-d:关闭IP反向PTR域名解析;-w 300:探测包等待响应超时时间改为300ms(默认4000ms)
PS C:\Users\Lenovo> tracert -d -w 300 www.baidu.com

Tracing route to www.a.shifen.com [180.101.49.44] # 本次DNS调度返回另一百度IP:180.101.49.44,路由路径发生变化
over a maximum of 30 hops: # 最大追踪跳数30跳

1 * * * Request timed out. # 第1跳,本地网关;不回应ICMP超时包
2 * * * Request timed out. # 第2跳,运营商接入设备;不回应ICMP超时包
3 3 ms * 3 ms 116.233.144.1 # 第3跳,同城域网起点节点;第1、3包收到回复,时延3ms,第2包超时
4 * 16 ms 5 ms 124.75.224.21 # 第4跳,运营商骨干节点;第1包超时,后两个探测时延16ms、5ms
5 * * * Request timed out. # 第5跳,骨干节点,屏蔽ICMP应答
6 * * * Request timed out. # 第6跳,骨干节点,屏蔽ICMP应答
7 16 ms 11 ms 11 ms 180.110.207.6 # 第7跳,运营商中转节点;三次探测全部正常回包
8 * * * Request timed out. # 第8跳,路由节点,不返回ICMP超时报文
9 21 ms 12 ms 13 ms 58.213.96.66 # 第9跳,百度接入节点;三次探测均收到回复
10 * * * Request timed out. # 第10跳,百度防护设备,丢弃ICMP超时响应
11 * * * Request timed out. # 第11跳,同上
12 * * * Request timed out. # 第12跳,同上
13 * * * Request timed out. # 第13跳,同上
14 9 ms 9 ms 9 ms 180.101.49.44 # 第14跳,到达本次目标百度IP,追踪终点
Trace complete. # 追踪完成,成功到达目标地址
  • 第一列:跳数
  • 中间3个时间:3次探测的RTT往返延迟
  • 最后一列:路由节点IP
  • * * * 请求超时:该节点不响应ICMP探测

5.4. 排障思路​

  1. 前几跳(1~3跳)超时/延迟高:问题在内网、光猫、家庭网关
  2. 中间运营商节点延迟突增、大量丢包:运营商链路问题
  3. 最后几跳才超时:目标服务器防火墙拦截ICMP,链路本身可能通

6. 与 ping 的区别​

  • ping:只测到目标端连通性和延迟,看不到中间路径
  • tracert:逐跳探测整条路径,找到故障点

如果你需要,我可以给你一份 tracert 故障排查速查表。