获取这种types的跟踪路由响应的原因是什么?

为什么tracert(traceroute)到​​外部主机的任何想法都会返回以下内容:

tracert 10.34.25.23 1 myborderouter.example3.com (10.52.2.41) 1.113 ms 1.103 ms 1.100 ms 2 ae0--931.maincorerouter.example2.com (10.102.65.44) 4.028 ms 4.046 ms 4.042 ms 3 gi0-1.mainrouter.example2.com (10.72.12.85) 6.653 ms 6.661 ms 6.645 ms 4 * * * 5 somebox.example.com (10.34.25.23) 7.361 ms 7.339 ms 8.723 ms 6 somebox.example.com (10.34.25.23) 11.047 ms 10.882 ms 10.802 ms 7 somebox.example.com (10.34.25.23) 8.318 ms 7.076 ms 7.016 ms 

当* * *应该是:10.34.25.23(在10.72.12.85和10.34.25.23之间没有其他设备)

 ping 10.34.25.23 PING 10.34.25.23 (10.34.25.23) 56(84) bytes of data. 64 bytes from 10.34.25.23: icmp_seq=1 ttl=122 time=8.21 ms 64 bytes from 10.34.25.23: icmp_seq=2 ttl=122 time=8.28 ms 64 bytes from 10.34.25.23: icmp_seq=3 ttl=122 time=7.73 ms 64 bytes from 10.34.25.23: icmp_seq=4 ttl=122 time=7.21 ms 

****所有地址已被更改为不反映真实地址。**

因为第四个主机没有完全处理ICMP(可能是由于安全原因和/或错误configuration)。

Traceroute基于“ICMP Time Exceeded”响应,当ICMP数据包超过其最大TTL时返回,所以中间路由器丢弃它; 但是路由器可以configuration为不通知过期的ICMP数据包的发送者,即使它回应ping(使用不同的ICMP数据包types)。

更多信息在这里: http : //en.wikipedia.org/wiki/Traceroute

我们都明白ping和tracert是基本相同的。 ping是一个ICMP Echo请求,TTL设置为机器的最大值(除非以某种方式被覆盖)。

Tracert使用相同的ICMP请求,改变TTL {1,2,3,4,… max}。

如果不是ping的事实,我会同意有一个路由循环。 如果有路由循环,ping应该失败。

@The OP – Ping 10.102.65.44所以我们可以看到你的默认TTL是什么。