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 地址解析为它们计算机名,这样可加速显示 tracert 的结果。
  -h maximum_hops 指定搜索目标(目的)的路径中存在的跃点的最大数,默认值为 30 个跃点。
  -j host-list 指定回显请求消息将 IP 报头中的松散源路由选项与 host-list 中指定的中间目标集一起使用。使用松散源路由时,连续的中间目标可以由一个或多个路由器分隔开。host-list 中的地址或名称的最大数量为 9。host-list 是一系列由空格分隔的 IP 地址(用带点的十进制符号表示)。仅当跟踪 IPv4 地址时才使用该参数。
  -w timeout 指定等待“ICMP 已超时”或“回显答复”消息(对应于要接收的给定“回现请求”消息)的时间(以毫秒为单位)。如果超时时间内未收到消息,则显示一个星号 (*)。默认的超时时间为 4000(4 秒)。
  target_name 目标主机的名称或 IP 地址。

  使用 tracert 命令跟踪路径
  打开 命令提示符,然后键入:
  tracert host_name 或者键入 tracert ip_address
  其中 host_name 或 ip_address 分别是远程计算机的主机名或 IP 地址。
  例如,要跟踪从该计算机到 www.microsoft.com 的连接路由,请在命令提示行键入:tracert www.microsoft.com
  如果 tracert 失败,可以使用命令输出来帮助确定哪个中介路由器转发失败或耗时太多。

  事例介绍
引用内容
C:>tracert www.bellatlantic.net
Tracing route to www.bellatlantic.net [199.45.39.45] over a maximum of 30 hops:  
1 78 ms 61 ms 62 ms dytwpadbsap07.bellatlantic.net [192.168.103.39]  
2 64 ms 71 ms 64 ms 192.168.103.30  
3 71 ms 65 ms 65 ms QWEST.philadelphia.iprs.bellatlantic.net [206.125.197.65]  
4 69 ms 73 ms 68 ms Serial5-0-0.core1.phl1.IConNet.NET [209.3.188.181]  
5 69 ms 69 ms 67 ms Serial10-0-0.core1.bwi1.IConNet.NET [204.245.69.74]  
6 73 ms 78 ms 70 ms Serial2-0-0.core1.dca1.IConNet.NET [204.245.69.94]  
7 74 ms 76 ms 76 ms 209.3.153.74  
8 82 ms 81 ms 84 ms www.bellatlantic.net [199.45.39.45]  
Trace complete.
  从以上结果可看出到达目标经过了8个节点并且包传输的很快(低于100ms)。第一列显示了节点数,第一列最后一行为到达最终目标所经过的节点总数(在我们的例子中到达最终节点,www.bellatlantic.net,共经过了8个节点)。其后的三列为各节点的响应周期。如果在其中出现星号则表示超时(这就是说在限定包存活周期内目标没有响应),不过在我们的例子中没有这种情况出现。在各列中如果都小于100ms则可认为是不错的状态。在后面的两列显示了路途中的路由器和主机的名称(如果有的话)和IP地址。