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


 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  * * *

回答1

traceroute 的所有实现都依赖于发送给发起者的 ICMP(类型 11)数据包。
该程序通过启动带有小 ttl(生存时间)的 UDP 探测数据包来尝试跟踪路由,然后侦听来自网关的 ICMP“超时”回复。它以 1 的 ttl 开始探测并增加 1 直到我们得到 ICMP“端口不可达”(这意味着我们必须“主机”)或达到最大值(默认为 30 跳并且可以使用 -m 标志更改)。在每个 ttl 设置处发送三个探针(使用 -q 标志更改),并打印一行显示 ttl、网关地址和每个探针的往返时间(所以三个 )。如果 5 秒内没有响应。超时间隔(使用 -w 标志更改),为该探针打印一个“”。
因此,在您的情况下,我们可以得出结论,我们只收到了 201.118.231.14 的响应。之后,节点不响应 ICMP 数据包(类型 11)直到跳数 30,这是最大生存时间(最大跳数)。您可以使用 -m 标志增加 max-time-to-live。

回答2

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选项进行更改。可能会有更多或更少的跃点,但由于在第 6 个跃点之后没有一个响应,我们只是不知道。

声明:小小博客|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - traceroute时“***”是什么意思


Carpe Diem and Do what I like