это - результат моего 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
Что делает наличие * * *, означают в команде traceroute? и Как можно справиться с той ситуацией?
Это означает, что затронутый хост (в вашем примере второй ) не ответил на трассировку. Поскольку по умолчанию traceroute использует порт UDP, вы можете изменить протокол обнаружения на использование ICMP / PING с помощью параметра «-I». Кроме того, вы больше ничего не можете сделать.
Это означает, что пакет с измененным TTL не вернул соответствующий ICMP пакет превышения TTL , или что эти пакеты были потеряны на обратном пути в течение заданного периода. traceroute ждет их. Это МОЖЕТ означать, что хост на пути не генерирует их должным образом, если вообще.
Вы мало что можете с этим поделать. Вы можете изменить протокол, который traceroute использует для своего обнаружения (как описано shodanshok), или увеличить время ожидания (например, traceroute -w 15
). Также попробуйте уменьшить количество отправляемых запросов ( -N 5
).
P.S. Вы также можете попробовать использовать какой-нибудь инструмент для использования RECORD_ROUTE, например hping3
. Но я не могу дать вам больше подробностей, так как никогда не мог им пользоваться.