2024年4月4日发(作者:)

路由跟踪

Tracert工具说明

Tracert是路由跟踪实用程序,用于确定 IP 数据报访问目标所采取的路径。

Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机

到网络上其他主机的路由。

目标:跟踪路由

操作过程:打开wirshark开始抓包,在命令窗口输入tracert

图1

通过向目标发送不同 IP 生存时间 (TTL) 值的“Internet 控制消息协议

(ICMP)”回应数据包,Tracert 诊断程序确定到目标所采取的路由。要求路径上

的每个路由器在转发数据包之前至少将数据包上的 TTL 递减 1。数据包上的

TTL 减为 0 时,路由器应该将“ICMP 已超时”的消息发回源系统。

图2

由上图数据包,1,2,3路由器转发的数据包上的TTL为0,故系统收到请求

超时。

Tracert 先发送 TTL 为 1 的回应数据包,并在随后的每次发送过程将 TTL

递增 1,直到目标响应或 TTL 达到最大值,从而确定路由。通过检查中间路由

器发回的“ICMP 已超时”的消息确定路由。

图3

图3中抓包看到的中间路由地址与图2中使用tracert命令得到的地址一致。

某些路由器不经询问直接丢弃 TTL 过期的数据包,这在 Tracert 实用程序中看

不到。

图4

图4中ip为202.112.61.69路由器不经询问直接丢弃 TTL 过期的数据包,故在

Tracert 实用程序中看不到该地址,而在抓包中可以看到该路由无法到达。

Tracert 命令详解及用法

Tracert 命令支持多种选项,如下所示。

tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name

1. -d – 指定不将 IP 地址解析到主机名称。

2. -h maximum_hops(指定跃点数,输入数字) – 指定跃点数以跟踪到

称为target_name 的主机的路由。

3. -j host-list – 指定 Tracert 实用程序数据包所采用路径中的路

由器接口列表。(HostList 中指定的中间目标集在 IP 数据头中使用“稀疏来源

路由”选项。使用稀疏来源路由时,相邻的中间目标可以由一个或多个路由器分

隔开。HostList 中的地址或名称的最大数为 9。HostList 是一系列由空格分隔

的 IP 地址(用带点的十进制符号表示)。)

4. -w timeout – 等待 timeout 为每次回复所指定的毫秒数。

5. target_name – 目标主机的名称或 IP 地址。