直接输入tracert,后面不带任何参数,会弹出来具体的使用方法,如下图所示:

  1. C:\Users\0310011772>tracert
  2. 用法: tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout]
  3. [-R] [-S srcaddr] [-4] [-6] target_name
  4. 选项:
  5. -d 不将地址解析成主机名。
  6. -h maximum_hops 搜索目标的最大跃点数。
  7. -j host-list 与主机列表一起的松散源路由(仅适用于 IPv4)。
  8. -w timeout 等待每个回复的超时时间(以毫秒为单位)。
  9. -R 跟踪往返行程路径(仅适用于 IPv6)。
  10. -S srcaddr 要使用的源地址(仅适用于 IPv6)。
  11. -4 强制使用 IPv4
  12. -6 强制使用 IPv6
  13. C:\Users\0310011772>

实现原理

1、tracert发出TTL值为1的ICMP数据包(40个字节、源地址、目标地址和发出时间标签,一般发3个)

2、当到达路径上第一个路由器时,路由器会将,TTL值减1

3、此时TTL值为0,该路由器将此数据包丢弃,向源地址返回一个ICMP超时通知(数据包的源地址、路由器的IP地址)

4、当tracert收到该数据包,获得了这个路径上的第一个路由器的地址

5、tracert再发送另一个TTL为2的数据包

6、第一个路由器会将此数据包转发给第二个路由器

7、当TTL=0,第二个路由器返回一个超时通知,tracert得到第二个路由器地址

Tracert每次发出数据报时便会将TTL加1,发现下一个路由器

这个动作一直重复,直到到达目的地或者确定目标主机不可到达为止

到达目的IP后,目标主机并不返回超时报文

Tracert发送数据报时,会选择一个一般应用程序不会使用的号码来做端口(3000以上)

当到达目的地后,目标主机返回一个ICMP port unreachable(端口不可达)的消息

当tracert收到这个消息后,就知道目的地到达了
Tracert会提取ICMP的超时回应数据报中的IP地址并作主机名解析
(用-d参数表示不解析主机名,解析主机名会耽误一些时间),

然后将所经过的路由器的主机名及IP地址、数据报每次往返花费的时间显示出来。
Tracert有一个固定的等待响应时间,如果这个时间过了
tracert就会输出“*”来表示某个设备没有在规定的时间内作出响应,然后tracert会将TTL值加1,继续进行检测。

使用笔记

tracert 第一跳总是超时

交换机要开 ip ttl enable

使用实例

实例01

  1. C:\Users\0310011772>tracert 1.15.14.51
  2. 通过最多 30 个跃点跟踪到 1.15.14.51 的路由
  3. 1 * * * 请求超时。
  4. 2 * <1 毫秒 <1 毫秒 10.0.1.41
  5. 3 * <1 毫秒 <1 毫秒 bfbfbefe.virtua.com.br [191.191.190.254]
  6. 4 <1 毫秒 <1 毫秒 <1 毫秒 10.88.88.1
  7. 5 * * * 请求超时。
  8. 6 14 ms 9 ms 7 ms 111.47.11.65
  9. 7 3 ms 5 ms 3 ms 120.202.252.185
  10. 8 4 ms * * 120.202.2.9
  11. 9 * * 5 ms 221.183.74.165
  12. 10 * * * 请求超时。
  13. 11 * * 24 ms 221.183.53.226
  14. 12 * * * 请求超时。
  15. 13 * 27 ms 27 ms 120.253.239.238
  16. 14 * * * 请求超时。
  17. 15 * * * 请求超时。
  18. 16 * * * 请求超时。
  19. 17 * * * 请求超时。
  20. 18 24 ms 24 ms 25 ms 1.15.14.51
  21. 跟踪完成。

实例02
image.png
不带选项的tracert命令将显示到达目标IP地址所经过的路径,并将IP地址解析为主机名一同显示。如下图所示,第一跳是网关地址,可以根据看到的主机名,判断我使用的是极路由。

根据上面的跟踪结果,画出从自己的主机出发到达www.heuet.edu.cn的网络结构

根据tracert命令输出的信息可知,第一行为我所在网段的网关
第二,第三行为所经过路由的网关
第四行为我所访问的路由地址
image.png