MS-DOS命令学习笔记:tracert

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

此条目发表在os/software分类目录,贴了, , 标签。将固定链接加入收藏夹。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据