当前位置:首页 >> 脚本专栏

dos里执行tracert命令只有一跳的原因及解决方法

一直以来,我在家电脑DOS里执行Tracert命令时都只看到只有一跳的返回结果,令我非常不解。我原以为是电信运营商那边的问题,所以也就一直没去追究是什么真正的原因。

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

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

  1     45 ms    46ms    46ms  220.181.111.148

Trace complete.

      问题出在路由器本身不对tracert数据包进行解析

      我今天无意中看到一篇文章,说的正是这个问题,看了文章后才得知原来是路由器的问题。我之前使用的路由器是TP-LINK TL-R402M,通过TP-LINK技术支持人员给网友的邮件内容了解到,TL-R402M路由器本身不对tracert数据包进行解析,所以,中间的跳数都看不到。

      我上两个月已经把TL-R402M换成了无线路由器,型号是TP-LINK TL-WR841N。

      我再tracert看看,竟然可以看到tracert过程了。

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

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

  1     6 ms     6 ms     5 ms  14.147.84.1
  2     6 ms     5 ms     5 ms  14.147.84.1
  3     9 ms     8 ms     7 ms  193.114.62.58.broad.gz.gd.dynamic.163data.com.cn
 [58.62.114.193]
  4     6 ms     6 ms     6 ms  183.56.30.189
  5     9 ms    11 ms    11 ms  61.144.3.158
  6    48 ms    47 ms    47 ms  202.97.80.37
  7    47 ms    51 ms    46 ms  220.181.16.62
  8    50 ms    49 ms    49 ms  220.181.16.158
  9    54 ms    48 ms    47 ms  220.181.17.150
 10     *        *        *     Request timed out.
 11    47 ms    48 ms    48 ms  220.181.111.148

Trace complete.

       我进入路由器的管理后台,发现路由器的“诊断工具”里竟然自带了ping和tracert检测工具。

dos里执行tracert命令只有一跳的原因及解决方法

      利用网上在线tracert工具诊断

      如果你的路由器Tracert还是只有一跳,而你也想使用Tracert的话,那么可以通过ADSL直接拨号上网的方式,这样就可以看到Tracert数据包了,不过这样来回切换需要拔插网线,比较麻烦,估计很多人都不喜欢这样操作。

      其实现在网上出现了不少在线tracert工具,例如卡卡网的在线tracert工具,我们可以利用它们来帮我们诊断,非常方便。

dos里执行tracert命令只有一跳的原因及解决方法

      小知识:

      tracert可以解决什么问题?

      网站站长常常用它来检测IP的线路问题,用于确定 IP 数据报访问目标所采取的路径。

      可以使用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 [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name

选项 描述  -d  指定不将 IP 地址解析到主机名称。  -h maximum_hops  指定跃点数以跟踪到称为 target_name 的主机的路由。  -j host-list  指定 Tracert 实用程序数据包所采用路径中的路由器接口列表。  -w timeout  等待 timeout 为每次回复所指定的毫秒数。  target_name  目标主机的名称或 IP 地址。

      当我们不能通过网络访问目的设备时,网络管理员就需要判断是哪里出了问题。问题不仅仅会出现在最终目的设备,也可能出现在转发数据包的中间路由器。

      探测一个数据包从源点到目的地经过了哪些中转路由器,通过tracert基于记录路由选项的路由探测是一个非常不错的方法。