路由追踪-tracert
Tracert通过递增“生存时间 (TTL)”字段的值将“Internet 控制消息协议 (ICMP) 回响请求”消息发送给目标可确定到达目标的路径。所显示的路径是源主机与目标主机间的路径中的路由器的近侧路由器接口列表。近侧接口是距离路径中的发送主机最近的路由器的接口。
一、tracert命令语法及参数
Tracert命令的基本语法格式为:
tracert [-d] [-h MaximumHops] [-j HostList] [-w Timeout] [TargetName]
参数说明:
不带参数时,tracert 显示帮助
/d 阻止将中间路由器IP地址解析为其名称。这样可加速显示结果速度。
-h MaximumHops 在搜索目标(目的)的路径中指定跃点的最大数。默认值为30个跃点。
-j HostList 指定“回响请求”消息对于在主机列表中指定的中间目标集使用IP报头中的“松散源路由”选项。相邻的中间目标可以由一个或多个路由分隔开。主机列表中的地址或名称的最大数为9。主机列表是一系列由空格分开的IP地址(用带点的十进制符号表示)。
-w Timeout 指定等待“ICMP已超时”或“回响答复”消息(对应于要接收的给定“回响请求”消息)的时间(以毫秒为单位)。如果超时时间内未收到消息,则显示一个星号 (*)。默认的超时时间为4000(4s)。
TargetName 指定目标,可以是IP地址或主机名。
注意事项:
该诊断工具通过更改“生存时间 (TTL)”的值向目标发送“ICMP 回响请求”消息来确定到达目标的路径。要求路径上的每个路由器在转发数据包之前至少将I数据包中的TTL递减1。这样,TT就成为最大链路计数器。数据包上的TTL到达0时,路由器应该将“ICMP 已超时”的消息发送回源计算机。Tracert发送TTL为1的第一条“回响请求”消息,并在随后的每次发送过程将TTL递增1,直到目标响应或跃点达到最大值,从而确定路径。默认情况下跃点最大值是30,可使用-h参数指定。检查中间路由器返回的“ICMP超时”消息与目标返回的“回响答复”消息可确定路径。但是,某些路由器不会为使用到期TTL值的数据包返回“已超时”消息,而且有些路由器对于tracert命令不可见。在这种情况下,将为该跃点显示一行星号 (*)。
要跟踪路径并为路径中的每个路由器和链路提供网络延迟和数据包丢失信息,请使用 pathping命令。
只有当网际协议 (TCP/IP)协议在网络连接中安装为网络适配器属性的组件时,该命令才可用。
二、应用示范
示例1:追踪到智慧天下网(www.bwstet.com)的路由,证明局域网络和Internet连接是否正常。在命令提示符下键入命令:tracert www.bwstet.com 命令之星结果显示如图,从运行结果可知,局域网可以正常连接至Internet,实现对智慧天下网的访问。同时显示该链路中所有经过的路由设备的IP地址。
![](http://img1.51cto.com/attachment/200907/200907201248101328762.jpg)
前面的1 2 3 代表第几跳,也就是路由器。2 3S 3S 4S 10.0.0.1的意思是:
第二个路由器地址是121.229.176.1,最小延时3ms 平均延时3ms 最大延4ms。
假如在上面图中某一层中出现了“* * * request tinmed out”那么故障有可能就出在这层之间的问题,可能这里导致连接不到目标站点。
当使用Tracert命令时,我们必须记住几点。第一,有些主机会使用防火墙来阻止ICMP数据包。这样,有时候我们会看到一系列的星号显示跟踪路由无法在一个特定的主机上获取信息。
另外一个我们必须记住的是,与主机相类似,每台路由器都被指派了一个IP地址。不管它们是否是用于主机或者路由器,IP地址都被构造为允许反映它们的地理位置的方式。事实上,有时候tracert会提供地理信息或者甚至一些路由器的描述。如果我们想要更多的信息,有一些第三方工具可以基于这些地理信息来地理地跟踪tracer命令。