查看: 3213|回复: 7

Traceroute的时候遇到的一个非常奇怪的问题

[复制链接]
发表于 2008-6-1 16:33:48 | 显示全部楼层 |阅读模式
我的系统是XP,想用tracert命令查找一下从我的主机,到百度,一共经过了多少个路由。
所以我输入tracert baidu.com
但是一个路由都探测不到。

我家里有个路由,所以怀疑是不是家里的路由就把数据包拦截了。
所以我输入tracert 192.168.1.1
显示结果是1 <1 ms <1 ms <1 ms 192.168.1.1
说明没被拦截。
然后我又tracert了电信的DNS服务器,也是一个路由都探测不到。。

我就很纳闷,起码第一个路由总能探测到吧,就是家里的路由啊,为什么一个都探测不到。。我查过路由表,默认路由指向的就是192.168.1.1
___________________________________________________________
这个是tracert baidu.com的时候截获的数据包头
  1. 源地址:192.168.1.2        目标地址:202.108.22.46        TTL:  1        PacketSize:92
  2. 协议:ICMP        ICMP 类型:8        ICMP 代码:0        标准含义:请示回显

  3. 源地址:192.168.1.2        目标地址:202.108.22.46        TTL:  1        PacketSize:92
  4. 协议:ICMP        ICMP 类型:8        ICMP 代码:0        标准含义:请示回显

  5. 源地址:192.168.1.2        目标地址:202.108.22.46        TTL:  1        PacketSize:92
  6. 协议:ICMP        ICMP 类型:8        ICMP 代码:0        标准含义:请示回显
复制代码
这个是tracert 192.168.1.1的时候截获的数据包头
  1. 源地址:192.168.1.2        目标地址:192.168.1.1        TTL:  1        PacketSize:92
  2. 协议:ICMP        ICMP 类型:8        ICMP 代码:0        标准含义:请示回显

  3. 源地址:192.168.1.1        目标地址:192.168.1.2        TTL: 64        PacketSize:92
  4. 协议:ICMP        ICMP 类型:0        ICMP 代码:0        标准含义:回显应答
复制代码
这是我的路由表,192.168.1.2是我的机子
  1. Network Destination        Netmask          Gateway       Interface  Metric
  2.           0.0.0.0          0.0.0.0      192.168.1.1     192.168.1.2       20
  3.         127.0.0.0        255.0.0.0        127.0.0.1       127.0.0.1       1
  4.       192.168.1.0    255.255.255.0      192.168.1.2     192.168.1.2       20
  5.       192.168.1.2  255.255.255.255        127.0.0.1       127.0.0.1       20
  6.     192.168.1.255  255.255.255.255      192.168.1.2     192.168.1.2       20
  7.         224.0.0.0        240.0.0.0      192.168.1.2     192.168.1.2       20
  8.   255.255.255.255  255.255.255.255      192.168.1.2     192.168.1.2       1
  9. Default Gateway:       192.168.1.1
  10. ===========================================================================
  11. Persistent Routes:
  12.   None
复制代码
回复

使用道具 举报

发表于 2008-6-1 19:10:25 | 显示全部楼层
tracert www.csna.cn
第一次tracert

在路由上允许PING

第二次tracert

tracert用的是ICMP协议

还有一个很有意思的现象,路由不允许PING的时候,头三次回显请求路由返回超时,后面就不再返回超时;后面的回显请求,每3个一组,TTL加1,使得路由不再往下一跳转发包。


[ 本帖最后由 oldjiang 于 2008-6-1 20:41 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?CSNA会员注册

×
回复

使用道具 举报

 楼主| 发表于 2008-6-1 19:47:59 | 显示全部楼层
谢谢回复。
从图中可以看到,在trace外网的时候,你的局域网路由已经被探测到了
不过我在tracert www.csna.cn的时候,一个路由器都探测不到。
直接tracert自己的路由,却可以探测到。

请问这是为什么?
回复

使用道具 举报

发表于 2008-6-1 20:49:19 | 显示全部楼层
比较你和我的图,我TRACERT不到的时候,有超时数据包,你的则没有。
回复

使用道具 举报

 楼主| 发表于 2008-6-2 20:19:18 | 显示全部楼层
我直接trace自己的路由,那个返回的TTL=64的包应该就是超时数据包吧?

还有你说的很有意思的现象,应该就是正常现象啊,前三个数据包TTF=1,到达的是你的路由,你的路由支持发回超时数据包,所以显示超时。后面的数据包不知道怎么的就没有到达一下站路由,或者路由不支持显示超时,或者其他原因,没有显示超时。

所以我奇怪的是你在trace外网的时候可以探测到第一个路由(也就是你自己的路由),我却不行。
回复

使用道具 举报

发表于 2008-6-3 13:27:46 | 显示全部楼层
同一网段中的数据包访问是不需要经过路由处理的,不管是TRACERT网关还是TRACERT同一网段中的任何一台电脑,都只有一条从目的地址访问的信息,而如果TRACERT不同网段的IP,数据包则需要经过路由的转发,并且返回的数据也需要经过路由转发,有可能路由对所有丢弃数据包的ICMP反馈报文都过滤了,所以一个路由都tracert不到,我的TP无线路由与你的情况相同,无法tracert
回复

使用道具 举报

 楼主| 发表于 2008-6-3 15:14:31 | 显示全部楼层
我也的是TP路由。刚才把WAN口的线直接插电脑上就能trace到了。。看来路由真的是把所有来自WAN口的超时信息过滤掉了。。LS的第一句话很关键,我把这个忘记了,现在理解了,谢谢了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | CSNA会员注册

本版积分规则

快速回复 返回顶部 返回列表