traceroute时“ ***”是什么意思


54

这是我的traceroute的结果

跟踪路由211.140.5.120

 1  141.1.31.2 (111.1.31.2)  0.397 ms  0.380 ms  0.366 ms
 2  141.1.28.38 (111.1.28.38)  3.999 ms  3.971 ms  3.982 ms
 3  142.11.124.193 (112.11.124.133)  1.315 ms  1.533 ms  1.455 ms
 4   (201.141.0.261)  2.615 ms  2.749 ms  2.572 ms
 5   (201.141.0.82)  2.705 ms  2.564 ms  2.680 ms
 6   (201.118.231.14)  5.375 ms  5.126 ms  5.252 ms
 7  * * *
 8  * * *
 9  * * *
10  * * *
11  * * *
12  * * *
13  * * *
14  * * *
15  * * *
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *

我想知道***的含义是什么,结果是否意味着我的主机与目标服务器之间确实存在30多跳?

Answers:


45

跟踪路由的所有实现都依赖于发送给始发者的ICMP(类型11)数据包。

该程序通过启动具有较小ttl(生存时间)的UDP探测数据包,然后侦听来自网关的ICMP“超时”响应来尝试跟踪路由。它从ttl为1开始探测,并以1递增,直到获得ICMP“端口不可达”(这意味着我们必须进入“主机”)或达到最大值(默认为30跳,并且可以使用-m标志进行更改) )。在每个ttl设置中发送三个探针(用-q标志更改),并打印一行,显示ttl,网关地址和每个探针的往返时间(所以三个*)。5秒钟内没有响应。超时间隔(用-w标志更改),将为该探针打印“ *”。

因此,在您的情况下,我们可以得出结论,我们仅得到201.118.231.14的响应。此后,节点不响应到最大跳数30(最大跳数)的跳数30为止的ICMP数据包(类型11)。您可以使用-m标志来增加最长生存时间。


34

Traceoute需要目标服务器和每个中间跃点的响应才能创建其输出。如果路由器未生成Time-to-live exceeded响应,则traceroute将不了解有关该跃点的任何信息。输出的跃点* * *意味着该跃点的路由器不会响应您用于跟踪路由的数据包类型(默认情况下,类Unix上为UDP,而在Windows上为ICMP)。

如果您使用的是同一版本的traceroute,则可以尝试使用该-e选项来逃避防火墙,并-P使用ICMP,TCP或GRE数据包而不是UDP。您也可以尝试使用该-p选项指定一个不太可能被过滤的特定端口(例如80或25)。

可能还有其他选择可以帮助您获得答复。检查手册页中的traceroute

要回答问题的第二部分,不,此路由跟踪并不意味着您与目标服务器之间恰好有30个跃点。一定数量的跳数后,Traceroute会“放弃”。通过限制数据包中的最大TTL(在Linux上默认为30)来完成此操作。您可以使用该-m选项进行更改。可能会有更多或更少的跃点,但是由于第六跳之后没有一个跃点正在响应,因此我们只是不知道。


2
要添加的内容:基本上,如果出于任何原因,第30跳返回响应;那么我们就会知道至少有30个跃点。(忽略任何欺骗手段)
user606723,2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.