以下是我托管的服务器中traceroute的一部分:

 9  ae-2-2.ebr2.dallas1.level3.net (4.69.132.106)  19.433 ms  19.599 ms  19.275 ms
10  ae-72-72.csw2.dallas1.level3.net (4.69.151.141)  19.496 ms
    ae-82-82.csw3.dallas1.level3.net (4.69.151.153)  19.630 ms
    ae-62-62.csw1.dallas1.level3.net (4.69.151.129)  19.518 ms
11  ae-3-80.edge4.dallas3.level3.net (4.69.145.141)  19.659 ms
    ae-2-70.edge4.dallas3.level3.net (4.69.145.77)  90.610 ms
    ae-4-90.edge4.dallas3.level3.net (4.69.145.205)  19.658 ms
12  the-planet.edge4.dallas3.level3.net (4.59.32.30)  19.905 ms  19.519 ms  19.688 ms
13  te9-2.dsr01.dllstx3.networklayer.com (70.87.253.14)  40.037 ms  24.063 ms
    te2-4.dsr02.dllstx3.networklayer.com (70.87.255.46)  28.605 ms
14  * * *
15  * * *
16  zyzzyva.site5.com (174.122.37.66)  20.414 ms  20.603 ms  20.467 ms


第14和15行是什么意思?隐藏信息吗?

#1 楼


如果未在预期的超时时间内确认数据包,则会显示一个星号。



但是zyzzyva.site5.com最终做出了响应,这就是为什么您有16行的原因。

评论


谢谢。你知道为什么要花两行吗?

–常
2011年8月4日在16:01

@Chang:需要两行,因为有两个主机没有响应,但是它们仍然将响应从其他主机传递回去。参见蒂姆的回应。

–乔
13年1月15日在17:11

#2 楼

Traceroute将“生存时间”(TTL)字段等于跃点数的数据包发送到目的地。每个路由器都会减小传入数据包的TTL值,如果看到传入数据包,TTL值也会降低。 TTL = 0时将其丢弃,否则将其减小并进一步发送。同时,它会将有关路由器身份的诊断信息发送到源。

如果路由器在超时时间内未响应,则traceroute会打印一个星号。第14和15行显示,丢弃带有原始TTL 14和15数据包的路由器在超时后没有响应。

评论


投票提醒我traceroute实际上是如何工作的。

–pix
2014年11月26日,0:36

只是为了澄清蒂姆的答案。 Tracert是一系列PING。第一次ping将TTL设置为1。当第一个路由器收到PING时,它将TTL减1,并且由于新的TTL为0,因此返回其IP地址为“错误”。 Tracert这次以TTL 2重复PING。路由器1将TTL减1,然后转发到路由器2。路由器2减小TTL,因为它现在为0,所以返回其IP地址。重复此过程,直到到达最终目的地或达到允许的最大TTL。如果从PING听不到答案,tracert将显示*。

–Trebor
19年1月3日,下午1:29

#3 楼

另一个原因是通常向每台计算机发送3个数据包,而无论什么情况,有些计算机只会响应第一个数据包。您要等待的秒数;例如,-w将等待10秒,而不是默认的5秒。

注意:某些traceroute客户端对traceroute -w 10 google.com参数使用毫秒而不是秒。

#4 楼

Arp可能已超时。我用packetracer建立了一个测试网络,并为目标主机添加了一个星号。然后,我对其执行ping操作,并得到响应,然后再次进行路由跟踪,并且该方法起作用了。然后,我注意到在星号后面的机器在本地路由器中没有arp条目。