Позвольте мне попытаться ответить на этот вопрос , потому что это немного более сложным , что это может выглядеть на начальном этапе.
Кажется, что вы уже знаете основные операции, traceroute
но прежде всего здесь приведем очень небольшое резюме:
traceroute
пытается определить все промежуточные шаги от вашего хоста до хоста назначения или просто расстояние, то есть количество прыжков, от вашего хоста до хоста назначения. Для этого он начинает отправку пакетов на хост назначения с «случайным» номером порта назначения и TTL, который начинается с 1 и продолжает увеличиваться.
Идея состоит в том, что каждый промежуточный маршрутизатор уменьшает TTL на 1. Таким образом, если TTL достигает 0 (в действительности это никогда не происходит, так как маршрутизатор, который собирается уменьшить его до 0, выдает ошибку до этого), маршрутизатор возвратит ICMP Сообщение об ошибке « Время жизни истекло », например, номер пакета 24 в файле захвата. Из этого вы получаете то, что ваш пункт назначения находится дальше, и именно поэтому вы продолжаете увеличивать TTL.
Если ваш пакет имеет TTL, который достаточно велик для достижения пункта назначения, вы получите другое сообщение об ошибке ICMP: « Пункт назначения недоступен (порт недоступен) », например, номер пакета 208 в файле захвата. Из этого вы получите, что последний использованный TTL - это действительно количество прыжков между вами и узлом назначения. Причина, по которой вы получаете ошибку, заключается просто в том, что вы отправляете сообщение на «случайный» порт, который целевой узел (надеюсь) не прослушивает.
Теперь перейдем к особенностям вашего файла захвата:
со страницы руководства traceroute
мы видим, что каждый TTL используется 3 раза (опция '-q') и используется протокол по умолчанию UDP (опция '-P'). Изучив первые 3 UDP-пакета, то есть пакеты 8-9-10 , мы действительно увидим, что TTL равен 1 . Следующие 3, то есть 11-12-13 , имеют TTL 2 и так далее. Таким образом, с точки зрения источника все идет хорошо.
Затем, через некоторое время, зависящее от задержки сети, мы начинаем получать ожидаемые сообщения об ошибках. Таким образом, мы можем видеть, что пакеты 24-25-26 являются ошибочными пакетами « Время жизни истекло » и, следовательно, означают, что пункт назначения находится дальше.
Эта перемотка попыток и ошибок продолжается до тех пор, пока, наконец, в пакете 208 не появится сообщение об ошибке « Порт недоступен », означающий, что пункт назначения достигнут.
Подсчитав отправленные вами пакеты и ответы, вы сможете узнать даже по трассе, какой TTL на самом деле работал, но это утомительная задача :)
Надеюсь, что помог