tracert命令
Tracert 工作原理
通过向目标发送不同 IP 生存时间 (TTL) 值的“Internet 控制消息协议 (ICMP)”回应数据包,Tracert
诊断程序确定到目标所采取的路由。要求路径上的每个路由器在转发数据包之前至少将数据包上的 TTL 递减 1。数据包上的 TTL 减为 0
时,路由器应该将“ICMP 已超时”的消息发回源系统。
Tracert 先发送 TTL 为 1 的回应数据包,并在随后的每次发送过程将 TTL 递增 1,直到目标响应或 TTL
达到最大值,从而确定路由。通过检查中间路由器发回的“ICMP 已超时”的消息确定路由。某些路由器不经询问直接丢弃 TTL 过期的数据包,这在
Tracert 实用程序中看不到。
tracert命令参数
-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)”协议在“网络连接”中安装为网络适配器属性的组件时,该命令才可用。
这是验证通往远程主机路径的实用程序
用法: tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name
示例
要跟踪名为 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
执行tracert命令时,会有如下结果,这其中的第2列,第3列,第4列为何有三个时间,如果要表示经过该IP的时间,分别对每一跳的地址发送三个测试包,所以有三个时间,分别是最小、平均、最大时间。
C:\>tracert -d www.hzcnc.com
Tracing route to www.hzcnc.com [218.108.250.243]
over a maximum of 30 hops:
1 <10 ms <10 ms <10 ms 210.83.128.110
2 <10 ms <10 ms <10 ms 210.83.128.110
3 11 ms <10 ms <10 ms 218.108.253.241
4 <10 ms 10 ms <10 ms 218.108.254.34
5 10 ms <10 ms 10 ms 218.108.252.66
6 <10 ms <10 ms <10 ms 218.108.250.243
在下例中,数据包必须通过两个路由器(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 命令确定数据包在网络上的停止位置。下例中,默认网关确定 19 2.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 reportsestination net unreachable.
Trace complete.
Tracert 实用程序对于解决大网络问题非常有用,此时可以采取几条路径到达同一个
点。