Traceroute и Tracert: для чего предназначены утилиты и как ими правильно пользоваться?

Если с вашим каналом связи постоянно возникают проблемы, при этом сотрудники службы поддержки провайдера часто пожимают плачами, говоря, что на своей стороне они не видят проблем – выход есть! Утилита tracert может помочь разобраться – на каком узле может быть проблема.

Назначение команды

«Tracert» – это набор функций в Windows, разрешающих выполнять трассировку маршрута до указанного узла сети (локальной и глобальной). Утилита интегрирована в ОС и ее можно запустить через «CMD» или «PowerShell». Исполняемый файл «tracertpt.exe» находится в системном разделе папки System32.

Расположение утилиты в папке Windows

Команда «tracert» достаточно частый гость во время сетевой диагностики и troubleshooting. С ее помощью определяется маршрут, по которому следует пакет до выставленного узла. Преимущество программы: работа с доменными именами, IPv4 и IPv6. Кроме определения маршрута, программа выявляет и демонстрирует время прохождения пакетов до транзитных, промежуточных и конечных узлов.

С помощью команды можно узнать:

  1. На каком уровне заблокировался веб-ресурс: на уровне локальной сети (пакет не доходит до основного маршрутизатора), в сети провайдера (коммутатор L3 не пропускает пакет далее), на уровне промежуточного сервера или конечного (проблема на стороне сервера).
  2. На каком этапе пути пакеты данных сбиваются с маршрута и вместо нужного адресата вас перенаправляет на другой (например, на сайт с рекламой).
  3. Конечный сайт является точно тем, за который себя выдает.

Основные моменты работы и анализ

Чтобы провести трассировку пакетов данных от собственного ПК до сервера, введите его IP-адрес после основной команды.

Пример трассировки

Как видно на примере, введя команду, а затем IP-адрес, было определено, что это айпишник Яндекс сервера. Также были выявлены транзитные узлы, через которые приходится пройти пакету, чтобы попасть к конечному серверу «yandex.ru».

Примечательно, что команда понимает и доменные имена, выявляя их IP-адреса автоматически.

Результат трассировки

Когда вводится команда для трассировки маршрута, каждая пронумерованная строка называется шагом, прыжком (jump) или хопом.

Джампы, которые наблюдаются при работе утилиты, это роутеры, серверы или коммутаторы L3 провайдера. Важно отметить, что провайдеры могут использовать для подключения множества абонентов коммутаторы L2, которые обрабатывают и регистрирует МАС–адреса поступающих фреймов, осуществляют физическую адресацию и управляют потоком данных.

Таких коммутаторов в инфраструктуре сети провайдера могут быть десятки. Их не регистрирует «ТрасеРТ» из-за того, что L2 коммутаторы не используют IP-адреса. Пакет не задерживается на них и не фиксирует эти устройства, воспринимая их не более чем обычный кабель витой пары или оптоволокна.

СОВЕТ! Буква L обозначает уровень, на котором работает коммутирующее устройство – советую почитать про уровни модели OSI.

Делая запрос, утилита отправляет три запроса (TTL) на каждый шаг, получая от шага ответы. При отсутствии ответа, может указываться «*» в трех столбцах. В последнем столбце можно получить небольшую подсказку, с чем связано получение символа «*». Превышение интервала будет указано в случае, если ожидание превысило показатель в 4 секунды.

Звездочки не всегда значат, что порт неисправен или недоступен. Вероятно, они настроены таким образом, что не могут ответить на запрос ICMP-сообщением из-за того, такие настройки часто используются для защиты интернет ресурсов от DDoS-атак.

При получении пакета первые три столбца содержат данные RTT и знаменуют количество мс, за которые пакет прошел от узла к узлу. Четвертый столбец указывает IP-адрес (или доменное имя конечного адресата) тех узлов, что ответили.

Более подробно про механизм трассировки читаем тут.

Оправляемые пакеты

Диагностика сети происходит благодаря посылаемым пакетам. Утилита «Tracet» в Windows работает с протоколом ICMP. Еще, есть команда traceroute – она входит в дистрибутивы Linux и присутствует в качестве функций однотипных приложений, например, Linux Mint. Последняя использует UDP-протокол для посылания по узлам сети.

Также, наличие перл-библиотеки, graphviz и подтянутого скрипта разрешает после выполнения основного программного запроса вывести узлы трассировки в графическую tracemap.

При этом файл сохранится в «tracemap.png» и будет похож на карту, представленную ниже.

Карта трассировки

ICMP-сообщение запаковывается в IP-пакет перед самой отправкой. У такого сообщения есть собственное время жизни (TTL – time to live). При каждой отправке пакета TTL увеличивается на 1. Первый отправленный в сети пакет равен 1. Команда в качестве дефолтных настроек посылает 3 пакета с одинаковым TTL чтобы в качестве ответа от узла были получены также 3 пакета.

Дефолтное значение TTL, используемое трассировкой равно 30. Однако, IPv4 протокол способен на максимальный TTL в 255 единиц. Опытным путем было определено, что TTL в районе 30 шагов будет достаточно, чтобы добраться до конечных узлов определяемых веб-ресурсов.

Ключи для команды

Дополнительные параметры команды

Чтобы полноценно закрепить материал и понять – как работает трасерт, и какими значениями есть возможность оперировать, воспользуйтесь специальными ключами. Запустите .exe-файл «tracetcp» или программу через командную строку и введите tracert /? Для вывода всех ключей и их значений на экран.

Вот основные:

КлючНазначение
-dВ 4 столбце выводит только IP-адреса (ускорение трассировки)
-hВыставление количества прыжков ограничением (макс TTL – 255, по умолчанию – 30)
-wВыставление таймаута ответов в мс
-jМаршрут выбирается по представленному после ключа списку веб-узлов (доступно в IPv4)
-RПровести трассировку пути по IPv6
-SНачало трассировки с того узла, что задан после ключа
-4Прыжки только по протоколам IPv4
-6Прыжки только по протоколам IPv6
Автор статьи
Хомяк 729 статей
Первый в мире автор-хомяк. Админ нашего паблика ВК. Домашний питомец пропавшего WiFi Гида и обладатель большой семьи. Треш, зерно и AC/DC - никакой слабости.
WiFiGid
Комментарии: 3
  1. Женя

    За разъяснение большое спасибо вам :idea:

  2. Миша

    У меня была как раз такая проблема: инет постоянно глючил и терялись пакеты. Провайдер кивалы головой на мой комп, а потом оказалось, что потери со стороны одного из шлюзов, который стоят в подъезде. Сказал им, вроде должны поменять. Автору, спасибо

  3. Аноним

    Ну не все так просто, как оказалось. Читаем в общем все от начала и до конца. :!:

Добавить комментарий
После отправки комментарий может не отображаться - это нормально. Сразу же после модерации он будет опубликован. Если Вы хотите быстро узнать о получении ответа, рекомендуем оставить свой e-mail (это необязательно). E-mail используется исключительно для Вашего оповещения, мы не занимаемся спамом.

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.