MS-DOS命令学习笔记:tracert

发表于: os/software | 作者: darkmi | 日期: 2009/03/13 08:00
字号:

tracert命令概述

tracert是 trace rounte的缩写,即跟踪路由的意思。该命令是windows下的一个路由跟踪、诊断的实用程序,简单的说就是查看打开一个网站到底经过了几个网络节点。

该命令对于网管而言一般用于测试网络的连通性,确定网络故障的位置;对与广大站长而言就是测试一下到达自己所用主机经过的节点数,作为选择主机的一个参考指标(经过的节点数越少越好)。

Tracert 工作原理

**tracert 命令是通过IP生存时间(TTL)字段和ICMP错误消息来确定一个主机到网络上其他主机的路由。**IP包头的TTL(Time to Live)字段,是由发送端初始设置的一个8bit字段,它指出数据包的有效时间,即生存周期。每个处理数据报的路由器都需要把TTL值减1或减去数据报在路由器中的停留秒数。由于大多数的路由器转发数据报的时延都小于1秒钟,因此TTL最终成为一个跳站的计数器,按照ICMP协议的有关规定,当路由器收到一份数据报,如果其TTL字段是0或1,则路由器丢弃该数据报,并给源主机发送一份ICMP“超时”信息。Tracert命令正是据此发现路由器、确定路由的。

在下例中,数据包必须通过两个路由器(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 命令确定数据包在网络上的停止位置。下例中,默认网关确定 192.168.10.99 主机没有有效路径。这可能是路由器配置的问题,或者是 192.168.10.0 网络不存在(错误的 IP 地址)。

C:\>tracert 192.168.10.99 

Tracing route to 192.168.10.99 over a maximum of 30 hops 

1 10.0.0.1 reports:Destination net unreachable. 

Trace complete. 

Tracert 实用程序对于解决大网络问题非常有用,此时可以采取几条路径到达同一个点。

Tracert 命令行选项

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

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

+++++++++++++++++++++++++++++++++++++++++++
-d
+++++++++++++++++++++++++++++++++++++++++++
指定不将 IP 地址解析到主机名称。很实用的一个选项,可以让 tracert 的结果更清晰。以下是一个对比:

使用该 -d 选项:

C:\Documents and Settings\Administrator>tracert www.baidu.com -d

Tracing route to www.a.shifen.com [119.75.216.20]
over a maximum of 30 hops:

  1    <1 ms    <1 ms    <1 ms  10.109.180.1
  2    <1 ms    <1 ms    <1 ms  123.165.32.1
  3     1 ms     1 ms     1 ms  222.171.116.117
  4     *       <1 ms    <1 ms  222.171.116.237
  5     1 ms     1 ms     1 ms  219.147.71.229
  6    24 ms    24 ms    24 ms  202.97.38.189
  7    23 ms    23 ms    23 ms  220.181.16.54
  8    36 ms    36 ms    36 ms  220.181.16.46
  9    30 ms   208 ms    26 ms  220.181.17.114
 10    24 ms    25 ms    24 ms  119.75.216.20

Trace complete.

不使用该 -d 选项:

C:\Documents and Settings\Administrator>tracert www.baidu.com

Tracing route to www.a.shifen.com [119.75.213.61]
over a maximum of 30 hops:

  1    <1 ms    <1 ms    <1 ms  10.109.180.1
  2    <1 ms    <1 ms     1 ms  123.165.32.1
  3     1 ms     1 ms     1 ms  117.116.171.222.broad.hr.hl.dynamic.163data.com.cn [222.171.116.117]
  4    <1 ms    <1 ms    <1 ms  49.116.171.222.broad.hr.hl.dynamic.163data.com.cn [222.171.116.49]
  5     1 ms     1 ms     1 ms  219.147.71.177
  6    40 ms    40 ms    40 ms  202.97.38.45
  7    24 ms    25 ms    24 ms  220.181.16.166
  8    26 ms    26 ms    26 ms  220.181.16.130
  9    42 ms    42 ms    42 ms  220.181.17.118
 10    38 ms    38 ms    39 ms  119.75.213.61

Trace complete.

+++++++++++++++++++++++++++++++++++++++++++
-h maximum_hops
+++++++++++++++++++++++++++++++++++++++++++
指定跃点数以跟踪到称为 target_name 的主机的路由。

+++++++++++++++++++++++++++++++++++++++++++
-j host-list
+++++++++++++++++++++++++++++++++++++++++++
指定 Tracert 实用程序数据包所采用路径中的路由器接口列表。

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

+++++++++++++++++++++++++++++++++++++++++++
target_name
+++++++++++++++++++++++++++++++++++++++++++
目标主机的名称或 IP 地址。

参考链接
wikipedia中关于traceroute(可以看做linux下的tracert)的介绍:
http://en.wikipedia.org/wiki/Traceroute

一个可视化的路由跟踪工具:
http://www.yougetsignal.com/tools/visual-tracert/

一篇不错的分析 tracert 的文章:
http://net.zdnet.com.cn/network_security_zone/2009/0330/1360543.shtml

切换主题切换主题
返回顶部