traceroute Принцип работы: Как понять какой узел не отвечает, где проблема (Трассировка)

Общий принцип работы - откуда берутся промежуточные адреса в списке

Если кратко - утилита всегда шлёт запроса на конечный адрес, но в отправлении каждый раз указывает всё возрастающее количество допустимых пересылок между устройствами на пути к конечному адресу, т.е.:

  • на первой попытке одна пересылка (и дальше уже ничего не отправят)
  • на второй - две пересылки максимум и т.д.

-- когда очередной узел понимает, что дальше отправлять пакет уже нельзя (число пересылок исчерпано), он отвечает нашему компьютеру, таким образом мы и узнаем промежуточный адрес в маршруте пакета

...отправляет на хост назначения ICPM-запрос «Echo Request» с TTL=1. Первый маршрутизатор, который получит запрос, проверяет, кому он предназначен. Если маршрутизатор не является целевым хостом, он уменьшает TTL на 1, отбрасывает пакет и отправляет ICMP-сообщение источнику, так как время жизни теперь равно 0. В этом сообщении маршрутизатор указывает информацию о себе и причину дропа пакета. Получив сообщение, Tracert запоминает этот маршрутизатор как первый хоп (прыжок) и отправляет следующий пакет, но уже с TTL=2

-- в этом traceroute и tracert работают, похоже, но есть и различия.

Какой узел не отвечат - последний ответ

Таким образом - если мы видим в traceroute очередной адрес (и последний до которого дозвонились) со временем ответа, например:

~$ traceroute -I 194.186.63.21
traceroute to 195.184.62.11 (195.184.62.11), 30 hops max, 60 byte packets
 1  dlinkrouter  (192.168.0.1)  4.789 ms  4.756 ms  5.025 ms
 2  10.4.0.1 (10.4.0.1)  6.772 ms  6.768 ms  8.004 ms
 3  172.28.131.14 (172.28.131.14)  7.143 ms  7.398 ms  7.393 ms
 4  * * *
 5  * * *
 6  * * *
 7  * * *
 .........................

это означает, что пакет дошел до него и этот узел ответил (в примере выше, в данном случае, последний ответивший это 172.28.131.14), после него идут звездочки, это может означать, что:

  • Дальше вообще нет соединения
  • Расположенные дальше устройства просто не отвечают на запрос
  • Комбинация того что выше (напр. 172.28.131.14 отправляет пакет дальше, но следующее устройство не считает нужным отвечать, напр. ему может не нравится запрашиваемый вами IP, с другой стороны, если следующим после последнего узла идет конечный запрощенный адрес, то он тоже может обрабатывать запрос не корректно и поэтому мы не видим результата)

-- т.е. на самом деле интерпретировать "то что дальше" не так просто. Единственное что мы знаем - адрес последнего ответившего узла

traceroute online Трассировка сразу из нескольких стран

Хороший ресурс: https://tools.keycdn.com/traceroute

Что почитать

vedro-compota's picture

Сталкивался с такой ситуацией:

Последний IP адрес, который отображается является внутренним, дальше запрос не уходит.
Не так-то просто разобраться кто блокирует - провайдер или сам ресур не отвечает тебе из-за твоего IP

_____________
матфак вгу и остальная классика =)