Когда данные отправляются через интернет, они проходят через множество сетевых узлов, начиная с вашего домашнего роутера, переходя в сеть провайдера, и далее — через серию промежуточных маршрутизаторов, пока не достигнут конечного пункта назначения. Иногда возникает необходимость понять, через сколько и какие узлы проходит ваш трафик, особенно если возникают проблемы с доступом к ресурсу.
Как узнать маршрут следования данных?
Если передача данных прерывается, одной лишь командой ping
можно установить лишь факт недоступности конечного ресурса, но не понять, на каком этапе произошел сбой. Чтобы более детально исследовать проблему и выявить, на каком этапе пути происходит сбой, существует команда traceroute
, которая позволяет проследить маршрут данных от вашего устройства до целевого сервера.
Использование команды traceroute
Команда traceroute
позволяет вам увидеть весь путь, который проходит пакет данных до достижения целевого хоста. Основной синтаксис команды очень прост:
traceroute <host>
Например, чтобы проследить путь до сервера, на котором расположен хост drbrain.ru
, выполните следующую команду:
traceroute drbrain.ru
Результат покажет все сетевые узлы, через которые проходят данные. Например, вывод может содержать следующую информацию:
23 74.125.253.115 (74.125.253.115) 194.986 ms
172.253.66.177 (172.253.66.177) 199.870 ms
142.250.57.49 (142.250.57.49) 335.145 ms
24 * * *
25 * * *
26 232.44.185.35.bc.googleusercontent.com (35.185.44.232) 203.374 ms 201.985 ms 191.035 ms
В данном примере видно, что для достижения сервера пакет данных прошел через 26 сетевых узлов. В некоторых случаях вы можете увидеть строки, состоящие из символов * * *
, что может означать отсутствие ответа от узла, либо что узел настроен таким образом, чтобы не отвечать на запросы.
Настройки и параметры команды traceroute
Однако, вы можете изменить это поведение с помощью опtraceroute
по умолчанию отправляет три пакета на каждый узел для получения точной информации о времени прохождения данных. Команда -q
, чтобы уменьшить или увел
traceroute -q 1 drbrain.ru
По умолчанию, traceroute
использует UDP-пакеты для трассировки. Если ваш запрос блокируется межсетевым экраном (firewall), можно попробовать использовать ICMP-пакеты, добавив опцию -I
:
traceroute -I drbrain.ru
Это может помочь обойти блокировку и получить необходимую информацию о маршруте.
Заключение
— это незаменtraceroute
Команда -q
и -I
, вы можете настроить поведение команды в соответствии с вашими потребностями и получить максимально точные результаты.