Tracert(跟踪路由)是路由跟踪实用程序,用于确定 IP 数据报访问目标所采取的路径。Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由。
Tracert 工作原理
通过向目标发送不同 IP 生存时间 (TTL) 值的“Internet 控制消息协议 (ICMP)”回应数据包,Tracert 诊断程序确定到目标所采取的路由。要求路径上的每个路由器在转发数据包之前至少将数据包上的 TTL 递减 1。数据包上的 TTL 减为 0 时,路由器应该将“ICMP 已超时”的消息发回源系统。
Tracert 先发送 TTL 为 1 的回应数据包,并在随后的每次发送过程将 TTL 递增 1,直到目标响应或 TTL 达到最大值,从而确定路由。通过检查中间路由器发回的“ICMP 已超时”的消息确定路由。某些路由器不经询问直接丢弃 TTL 过期的数据包,这在 Tracert 实用程序中看不到。
Tracert 命令按顺序打印出返回“ICMP 已超时”消息的路径中的近端路由器接口列表。如果使用 -d 选项,则 Tracert 实用程序不在每个 IP 地址上查询 DNS。
在下例中,数据包必须通过两个路由器(10.0.0.1 和 192.168.0.1)才能到达主机 172.16.0.99。主机的默认网关是 10.0.0.1,192.168.0.0 网络上的路由器的 IP 地址是 192.168.0.1。
C:/>tracert 172.16.0.99 -d
Tracing route to 172.16.0.99 over a maximum of 30 hops
1 2s 3s 2s 10,0.0,1
2 75 ms 83 ms 88 ms 192.168.0.1
3 73 ms 79 ms 93 ms 172.16.0.99
Trace complete.
用 tracert 解决问题
可以使用 tracert 命令确定数据包在网络上的停止位置。下例中,默认网关确定 192.168.10.99 主机没有有效路径。这可能是路由器配置的问题,或者是 192.168.10.0 网络不存在(错误的 IP 地址)。
C:/>tracert 192.168.10.99
Tracing route to 192.168.10.99 over a maximum of 30 hops
1 10.0.0.1 reports:Destination net unreachable.
Trace complete.
Tracert 实用程序对于解决大网络问题非常有用,此时可以采取几条路径到达同一个点。
Tracert 命令行选项
Tracert 命令支持多种选项,如下表所示。
tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name
选项 | 描述 |
-d | 指定不将 IP 地址解析到主机名称。 |
-h maximum_hops | 指定跃点数以跟踪到称为 target_name 的主机的路由。 |
-j host-list | 指定 Tracert 实用程序数据包所采用路径中的路由器接口列表。 |
-w timeout | 等待 timeout 为每次回复所指定的毫秒数。 |
target_name | 目标主机的名称或 IP 地址。 |
用法解释二:
Tracert
通过递增“存在时间 (TTL)”字段的值将“Internet 控制消息协议 (ICMP) 回显请求”或 ICMPv6 消息发送给目标可确定到达目标的路径。路径将以列表形式显示,其中包含源主机与目标主机之间路径中路由器的近侧路由器接口。近侧接口是距离路径中的发送主机最近的路由器的接口。如果使用时不带参数,tracert 显示帮助。
语法
tracert [-d] [-h MaximumHops] [-j HostList] [-w Timeout] [-R] [-S SrcAddr] [-4][-6] TargetName
参数
-d
防止 tracert 试图将中间路由器的 IP 地址解析为它们的名称。这样可加速显示 tracert 的结果。
-h MaximumHops
指定搜索目标(目的)的路径中存在的跃点的最大数。默认值为 30 个跃点。
-j HostList
指定回显请求消息将 IP 报头中的松散源路由选项与 HostList 中指定的中间目标集一起使用。使用松散源路由时,连续的中间目标可以由一个或多个路由器分隔开。HostList 中的地址或名称的最大数量为 9。HostList 是一系列由空格分隔的 IP 地址(用带点的十进制符号表示)。仅当跟踪 IPv4 地址时才使用该参数。
-w Timeout
指定等待“ICMP 已超时”或“回显答复”消息(对应于要接收的给定“回现请求”消息)的时间(以毫秒为单位)。如果超时时间内未收到消息,则显示一个星号 (*)。默认的超时时间为 4000(4 秒)。
-R
指定 IPv6 路由扩展标头应用来将“回显请求”消息发送到本地主机,使用目标作为中间目标并测试反向路由。
-S
指定在“回显请求”消息中使用的源地址。仅当跟踪 IPv6 地址时才使用该参数。
-4
指定 Tracert.exe 只能将 IPv4 用于本跟踪。
-6
指定 Tracert.exe 只能将 IPv6 用于本跟踪。
TargetName
指定目标,可以是 IP 地址或主机名。
-?
在命令提示符下显示帮助。
注释
? 该诊断工具通过向目标发送具有变化的“生存时间 (TTL)”值的“ICMP 回响请求”消息来确定到达目标的路径。要求路径上的每个路由器在转发数据包之前至少将 IP 数据包中的 TTL 递减 1。这样,TTL 就成为最大链路计数器。数据包上的 TTL 到达 0 时,路由器应该将“ICMP 已超时”的消息发送回源计算机。Tracert 发送 TTL 为 1 的第一条“回响请求”消息,并在随后的每次发送过程将 TTL 递增 1,直到目标响应或跃点达到最大值,从而确定路径。默认情况下跃点的最大数量是 30,可使用 -h 参数指定。检查中间路由器返回的“ICMP 超时”消息与目标返回的“回显答复”消息可确定路径。但是,某些路由器不会为其 TTL 值已过期的数据包返回“已超时”消息,而且这些路由器对于 tracert 命令不可见。在这种情况下,将为该跃点显示一行星号 (*)。
? 要跟踪路径并为路径中的每个路由器和链路提供网络延迟和数据包丢失信息,请使用 pathping 命令。
? 只有当“Internet 协议 (TCP/IP)”协议在“网络连接”中安装为网络适配器属性的组件时,该命令才可用。
示例
要跟踪名为 corp7.microsoft.com 的主机的路径,请键入:
tracert corp7.microsoft.com
要跟踪名为 corp7.microsoft.com 的主机的路径并防止将每个 IP 地址解析为它的名称,请键入:
tracert -d corp7.microsoft.com
要跟踪名为 corp7.microsoft.com 的主机的路径并使用松散源路由 10.12.0.1-10.29.3.1-10.1.44.1,请键入:
tracert -j 10.12.0.1 10.29.3.1 10.1.44.1 corp7.microsoft.com
比如这是跟踪访问百度时所经过的路由器情况:
C:/WINDOWS/system32>tracert www.baidu.com
Tracing route to www.a.shifen.com [202.108.22.43]
over a maximum of 30 hops:
1 627 ms 502 ms 561 ms 221.221.144.1
2 504 ms 667 ms 597 ms gj-11-009.bta.net.cn [202.106.11.9]
3 667 ms 747 ms 647 ms bt-227-089.bta.net.cn [202.106.227.89]
4 591 ms 678 ms * bt-228-061.bta.net.cn [202.106.228.61]
5 719 ms 737 ms 652 ms 61.148.3.30
6 525 ms 497 ms 480 ms 202.106.48.18
7 366 ms 333 ms 587 ms xd-22-43-a8.bta.net.cn [202.108.22.43]
Trace complete.
这是163的情况:
C:/WINDOWS/system32>tracert www.163.com
Tracing route to www.cache.split.netease.com [202.108.9.52]
over a maximum of 30 hops:
1 580 ms 721 ms 674 ms 221.221.144.1
2 * 755 ms 620 ms 202.106.49.37
3 602 ms 413 ms 617 ms bt-227-093.bta.net.cn [202.106.227.93]
4 471 ms 386 ms 345 ms bt-228-057.bta.net.cn [202.106.228.57]
5 328 ms 245 ms 398 ms 202.106.193.126
6 417 ms 340 ms 312 ms 61.148.143.30
7 425 ms 539 ms 500 ms 210.74.176.194
8 576 ms 461 ms 418 ms zz-9-52-a8.bta.net.cn [202.108.9.52]
Trace complete.