在命令 traceroute 中有 * * * 是什么意思?你如何应对这种情况?

Kar*_*hel 7 networking linux linux-networking traceroute

这是我的跟踪路由的结果

    traceroute   www.google.com
traceroute to www.google.com (216.58.211.228), 30 hops max, 60 byte packets
 1  192.168.1.1 (192.168.1.1)  1.061 ms  1.709 ms  2.262 ms
 2  * * *
 3  10.103.5.41 (10.103.5.41)  41.594 ms  43.136 ms  44.617 ms
 4  172.29.24.33 (172.29.24.33)  50.849 ms  51.574 ms  52.316 ms
Run Code Online (Sandbox Code Playgroud)

在命令 traceroute 中有 * * * 是什么意思?你如何应对这种情况?

sho*_*hok 5

这意味着受影响的主机(在您的示例中是第二个)没有回复 traceroute。由于默认跟踪路由使用 UDP 端口,您可以使用“-I”选项将发现协议更改为使用 ICMP/PING。除此之外,你不能再做任何事情了。

  • @KarimMichel 当然可以。为什么您最终更改的任何内容都会修复其他地方路由器上的配置? (2认同)

Kon*_*ski 5

这意味着具有调整 TTL 的数据包没有返回适当的ICMP TTL 超出数据包,或者这些数据包在返回的途中丢失,在给定的时间段内 traceroute 等待它们。这可能意味着,途中的主机没有正确生成它们,如果有的话。

您对此无能为力。您可以更改 traceroute 用于其发现的协议(如 shodanshok 所述),或增加超时(traceroute -w 15例如)。还要尝试减少发送的请求数 ( -N 5)。

PS 您也可以尝试使用一些工具来利用 RECORD_ROUTE 例如hping3。但是我不能给你更多的细节,因为我从来没有使用过它。

  • 但基本上你会接受这样一个事实,即有人在路上配置了一个路由器,使其不发送 ICMP 回复。有一些非常糟糕的管理员不了解 ICMP 实际上有用途。你无能为力——除非是你的机器在那里(我说的是没有回答的机器)。然后修复配置。 (2认同)
  • `traceroute www.google.com | grep -v "* * *"` (2认同)