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

07.04.2020 на прочтение 4 минуты

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

Сервис "Мой IP" позволяет вам узнать IP-адрес вашего устройства, с которого вы подключены к интернету. 

С помощью 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
Maria Kholodnitska
Статей: 221
Оцените статью:


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