路由追踪tracert命令
Tracert(跟踪路由)是路由跟踪实用程序,用于确定 IP 数据报访问目标所采取的路径。Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由。(这点和ping非常相似)
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 命令确定数据包在网络上的停止位置。
现在使用命令追踪下黑基论坛的信息~
tracert bbs.hackbase.com
Tracing route to cdn.hackbase.com [218.28.195.106]
over a maximum of 30 hops:
1 <1 ms <1 ms <1 ms 192.168.10.1
2 2 ms 1 ms 1 ms 58.221.201.65
3 2 ms 1 ms 1 ms 58.221.27.13
4 2 ms 1 ms 1 ms 58.221.27.61
5 6 ms 5 ms 5 ms 58.221.25.137
6 8 ms 7 ms 7 ms 202.97.39.109
7 43 ms 42 ms 42 ms 202.97.46.50
8 258 ms 258 ms 257 ms 219.158.35.93
9 269 ms 267 ms 265 ms 219.158.13.61
10 273 ms 273 ms * 219.158.6.222
11 265 ms * 261 ms hn.kd.smx.adsl [221.13.223.222]
12 263 ms 262 ms 262 ms pc30.zz.ha.cn [61.168.254.30]
13 265 ms 268 ms 266 ms pc30.zz.ha.cn [61.168.251.30]
14 277 ms 278 ms 277 ms pc0.zz.ha.cn [218.28.7.186]
15 275 ms 277 ms 278 ms pc0.zz.ha.cn [218.28.195.106]
Trace complete.
分析:第一行是我本地所在网段的网关。第二行是所在路由器WAN口的网关。
这样下去,一层一层,直到找到bbs.hackbase.com为止。Trace complete.追踪结束~
Tracert 实用程序对于解决大网络问题非常有用。如果你本地网络比较复杂,经过几个网关转换,那么使用此命令可以查出到哪个节点出现问题。从而判断网络通信在什么位置不同通过。
现在结合帮助解析下相关参数
tracert /?
Usage: tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name
Options:
-d Do not resolve addresses to hostnames.
-h maximum_hops Maximum number of hops to search for target.
-j host-list Loose source route along host-list.
-w timeout Wait timeout milliseconds for each reply.
说明如下:
-d 不解析主机名;
-h maximum_hops 指定搜索到目的地址的最大轮数;
-j host-list 沿着主机列表释放源路由;
-w timeout 指定超时时间间隔(单位毫秒)。
在UNIX下有一个工具叫做traceroute,功能相同。
至此,路由跟踪的作用已经说明了。