Tracert(跟踪路由)是路由跟踪实用程序,用于确定 IP数据包访问目标所采取的路径。Tracert命令使用用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由,其命令格式如下。Tracert[-d] [-h maximum_hops] [-j computer-list] [-w timeout] target_name
1、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。
2、Tracert命令详解
不带选项
不带选项的Tracert命令将显示到达目标IP地址所经过的路径,并将IP地址解析为主机名一同显示。如下图所示,第一跳是网关地址,可以根据看到的主机名,判断我使用的是极路由。
-d选项
不将地址解析成主机名,能够更快地显示路由器路径。与上图对比,路径是一样的,只是不将IP地址解析成主机名,速度更快。下图中红色框所示的主机名已消失。
-h选项
指定跟踪的跃点数。以下的命令只显示5跳,可以看到命令只跟踪到5跳就结束了。一般来说,5跳之内可能还是本地省内链路。
-w选项
指定等待每个应答的时间(以毫秒为单位)。默认值为 3000 毫秒(3 秒)。
另外,Tracert命令还有如“-j”、“-r”、“-s”、“-4”、“-6”等参数,用得较少,其用法都可以在命令行中输入命令“Tracert”直接查