这是我的跟踪路由的结果
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
在 traceroute 命令中,* * * 是什么意思?如何应对这种情况?
答案1
这意味着受影响的主机(在您的示例中为第二台主机)没有回复 traceroute。由于默认情况下 traceroute 使用 UDP 端口,因此您可以使用“-I”选项将发现协议更改为使用 ICMP/PING。除此之外,您无法执行任何其他操作。
答案2
这意味着调整 TTL 的数据包没有返回适当的ICMP TTL 超出数据包或者这些数据包在返回途中丢失,在 traceroute 等待它们的给定时间段内。这可能意味着,途中的主机没有正确生成它们,甚至根本没有生成它们。
您对此无能为力。您可以更改 traceroute 用于发现的协议(如 shodanshok 所述),或增加超时时间(traceroute -w 15
例如)。还可以尝试减少发送的请求数(-N 5
)。
PS 您还可以尝试使用一些工具来利用 RECORD_ROUTE hping3
。但我无法向您提供更多详细信息,因为我从未能够使用它。