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 个跃点之后没有一个响应,我们只是不知道。
Comments | NOTHING