traceroute 输出中的 N * * * 是什么意思?

traceroute 输出中的 N * * * 是什么意思?

想要出于学习目的执行简单的跟踪:

traceroute google.com

它在其他行中给了我一些如下所示的行

...
15  * * *
16  * * *
17  * * *
... few similar lines

这是什么意思?

答案1

说明等待ICMP“时间超出”(TTL过期)消息超时了。

如果路由最终失败(可能目标机器已关闭),则这种情况可能发生在线路末端,或者如果该跳的路由器未生成 ICMP“超时”通知,则这种情况可能发生在路由的任何一点。遵守 TTL 是强制性的,但通知发起者由于 TTL 达到零而丢弃数据包是可选的。

答案2

这意味着数据包超时,默认情况下等待时间为 5 秒,如果在该时间内未收到响应,则显示星号并跳转到下一跳。超时可能是因为该跳上的路由器阻止了流量,或者因为它找不到到下一跳 IP 的路由。

您可以使用 -w 来增加超时时间。

-w waittime
              Set the time (in seconds) to wait for a response to a probe (default 5.0 sec).

您还可以尝试使用不同的协议,在 UDP、ICMP 和 TCP 之间切换,因为有时路由器会阻止其中一种协议,但允许其他类型的协议。

   -I     Use ICMP ECHO for probes

   -T     Use TCP SYN for probes

   -U     Use UDP datagrams for probes (it is default). Only UDP method is allowed for unprivileged users.

答案3

所有 traceroute 的实现都依赖于发送给发起者的 ICMP 数据包。

该程序通过启动具有较小 ttl 的 UDP 探测数据包然后监听来自网关的 ICMP“超出时间”答复来尝试跟踪路由。

相关内容