Traceroute — трассировка сети в Linux
Traceroute — это инструмент диагностики сети, используемый в Linux и других ОС для отслеживания маршрута прохождения сетевых пакетов от источника к месту назначения. Traceroute предоставляет информацию о промежуточных маршрутизаторах, через которые проходят пакеты, а также время прохождения в оба конца (RTT) для каждого маршрутизатора.
Как работает Traceroute?
Traceroute работает путем отправки серии UDP- или ICMP-пакетов с постепенно увеличивающимся временем жизни (TTL). Каждому пакету намеренно присваивается низкое значение TTL, что приводит к истечению срока его действия в каждом маршрутизаторе на пути следования. Когда срок действия пакета истекает, маршрутизатор отправляет ответное сообщение ICMP Time Exceeded, что позволяет Traceroute определить IP-адрес маршрутизатора.
Повторяя этот процесс с увеличивающимися значениями TTL, Traceroute постепенно строит карту сетевого маршрута и измеряет время прохождения маршрута (RTT) до каждого хопа.
Настройка Traceroute
Чтобы использовать Traceroute, откройте терминал и выполните следующую команду:
traceroute <destination>
Замените <destination> на IP-адрес или доменное имя цели, которую вы хотите отследить.
Полезные опции Traceroute:
-I: использовать пакеты ICMP Echo Request вместо UDP. Некоторые маршрутизаторы могут блокировать UDP-пакеты, поэтому ICMP может быть более надежным.
-T: использовать пакеты TCP SYN вместо UDP. Это может быть полезно для отслеживания пути к определенному TCP-порту.
-p <port>: указание пользовательского номера порта назначения.
-q <queries>: устанавливает количество запросов, отправляемых за один переход.
-m <max_hops>: устанавливает максимальное количество переходов для трассировки.
-w <timeout>: установка таймаута для каждого зонда.
-n: не преобразовывать имена хостов в IP-адреса.
-r: обходить обычные таблицы маршрутизации и отправлять пакеты непосредственно на целевой хост в локальной сети.
-4 или -6: Принудительное использование протокола IPv4 или IPv6 соответственно.
Дополнительные опции и подробности можно найти на странице руководства Traceroute, выполнив команду:
man traceroute
Traceroute в ОС Windows.
В операционной системе Windows инструмент, эквивалентный Traceroute, называется tracert. Он функционирует аналогичным образом, но синтаксис команды и доступные опции несколько отличаются. Чтобы воспользоваться tracert, откройте командную строку и выполните команду:
tracert <destination>
Замените <destination> на IP-адрес или доменное имя, которое вы хотите отследить.
Чтобы просмотреть доступные опции и синтаксис для tracert в Windows, выполните команду:
tracert /?
Теперь вы знаете, как использовать Traceroute для трассировки сети в Linux, включая установку, базовое использование и некоторые полезные опции.