Что показывает команда traceroute? Для чего она?

Автор: Mariia Kholodnitska 07.04.2020 3 799 на прочтение 5 минут

Команда traceroute - это базовый инструмент, который используется для мониторинга состояния сети. traceroute используется в системах с Linux  для отображения маршрута от Вашего сервера через узлы к месту назначения (домена или ІР), а также выводит задержку. Эта команда применяется, когда нужно узнать о маршруте и обо всех прыжках, которые выполняет пакет. И если на одном из узлов возникнет проблема,  можно определит на каком именно. Анализ результатов также может быть использован для понимания задержки, потери данных или диагностики сетевых проблем.

С помощью traceroute  предоставляется возможность увидеть, сколько времени потребуется для того, чтобы ваши пакеты достигли места назначения, и тем самым  понять, почему некоторые веб-сайты загружаются дольше, чем другие, исходя из объема трафика, который проходит в пути.

Перед началом работы нужно убедиться, что traceroute установлена на сервере, если нет, это можно сделать через менеджер пакетов своего дистрибутива Linux. Использовать команду очень легко, просто в консоле после самой утилитой указываем адрес узла, им может служить домен или же IP. Дополнительно совместно с командой можно  применять ключи, к ним еще вернемся.  

command traceroute

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

Коротко разберем сам алгоритм осуществления команды traceroute.  traceroute использует набор протоколов TCP/IP, для выполнения делает  отправку тестовых UDP пакетов с небольшим временем жизни, а затем пытается вызвать ICMP ответ “TIME_EXCEEDED” от каждого шлюза по пути к указанному хосту. 

Пакет отправляется от своего источника к месту назначения через маршрутизатор. Каждая строка содержит и выводит на екран подробности взаимодействия с каждым встреченным маршрутизатором. Где заголовок содержит поле времени жизни (TTL), что представляет собой счетчик отсчета переходов. И за это параметр на скриншоте отвечает первый столбец, в нем идет последовательная  нумерация прыжков. При исполнении traceroute увеличивает TTL на 1 и пытается снова выполнить отправку пакетов. Этот процесс повторяется до тех пор, пока не будет достигнут указанный в команде пункт назначения или не будет проверено максимальное количество прыжков (по умолчанию их 30). Когда пакет достигает своего максимального значения TTL, последний переход в строке отправит обратно пакет «ICMP TTL Exceeded» обратно к источнику. Этот ответ - то, что ищет traceroute. Сообщение «ICMP TTL Exceeded» содержит важную информацию, такую как время, необходимое для достижения этого перехода, и название маршрутизатора или его IP, который делает этот ответ.

Второй столбец представляет адрес узла для каждого перехода, затем идет три разделенных пробелами времени в миллисекундах. Так как команда traceroute по умолчанию  отправляет три пакета на переход, и каждое указанное на выводе время относится к времени, которое требуется этому пакету для достижения перехода. В результате выводится строка, показывающая TTL,  имя хоста, затем ip этого хоста, и время прохождения которое требуется пакету, чтобы добраться до хоста и вернуться к серверу. Адрес может сопровождаться дополнительной информацией по запросу. Если ответы поступают от разных шлюзов, тогда отдельно будет напечатан адрес каждой отвечающей системы. У traceroute также по умолчанию установлено время ожидания  ответов от маршрутизаторов в пять секунд. Если за это время не предоставляется ответ, попытка прекращается и для этого пакета будет выводиться в консоль знак * (см.скриншот внизу), это может означать, что маршрутизатор попросту не предоставил ответ или же очень медленный.

traceroute in linux

Ключи в traceroute несут разные функции, и могут быть полезны, при настройке и замене стандартных параметров выполнение команды и характеристик  пакетов, для удобного вывода данных.

Рассмотрим часто использование опции команды и их применение на примерах: 

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

 traceroute key

-w - с помощью этой опции можно изменить стандартное время ожидание ответа от маршрутизатора, задается в секундах. Например,  мы установили значение в 0.3 секунды.

5ghfvjdkc

-q - для указания нового значения для количества пакетов на один переход, по-умолчанию их 3, изменим его на 5.

6uhgujfl

-m - изменяет стандартные времени жизни (TTL), по-умолчанию идет 30, откорректируем на примере на 20.

7fhdjkxl

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

8ghvjfcl

Команда traceroute является базовой и используется в рутине при администрировании для понимания  проблем в сети. Мы команда ГиперХост предлагаем администрирование серверов 24/7, что гарантирует бесперебойную работу ваших проектов.

Купить VPS


Close Screen
Mariia Kholodnitska
Статей: 75
Оцените статью:


Спасибо за отзыв
Рейтинг: 5 из 5 Голосов: 6