Traceroute, представляет собой утилиту для тестирования пути сетевого соединения между устройствами. Основная задача, которого вывести список устройств, участвующих в передаче пакета до точки назначения. Работает по протоколам сетевого и транспортного уровней: TCP, UDP и ICMP. Так же в отличие от утилиты ping может использоваться для построения сетевой карты.
В чем принцип работы?
Для того, чтобы устройства могли общаться в сети существует ряд правил, по которым передается информация. Одно из таких обязует добавить каждому, передаваемому пакету параметр TTL, который принимает стандартное значение 128 для ПК и 64 для мобильных устройств. Каждый раз, когда пакет проходит через маршрутизатор значение TTL уменьшается для того, чтобы пакет не был зациклен. Ведь при достижении значения 0 маршрутизатор удаляет пакет и отправляет обратно пакет Time Exceed. Поэтому принцип работы таков: traceroute отправляет пакеты ICMP с параметрами TTL=1, TTL=2, TTL=3 и так далее, когда узел отвечает Time Exceed, то утилита фиксирует узел.
Как установить traceroute?
Перед тем, как установить утилиту необходимо проверит ее наличие на устройстве путем запроса к менеджеру пакетов. Для дистрибутивов с apt-менеджером:
Если вы используете rpm-подобный менеджер пакетов, то команда примет следующий вид:
Для установки используем пакетный менеджер:
apt install traceroute -y
Для RPM-подобного менеджера пакетов используйте соответствующие команды:
dnf install traceroute -y
Обновив репозитории и инсталлировав утилиту, обратимся к подсказке и выделим из всего списка полезные опции для работы:
В данном списке представлен полный перечень опций, которые можно использовать для работы. Опции -4 и -6 позволяют указать тип используемого протокола IPv4 или IPv6. Для того, чтобы пакеты не фрагментировались, а передавались целиком используется опция -F. Для смены протокола, которым опрашиваются узлы можно использовать опции -T для TCP пакетов, -I для ICMP соединения, по умолчанию используется UDP.
Примеры работы утилиты
Для того, чтобы проверить путь до узла необходимо прописать команду, которая обратиться к целевому узлу:
На скриншоте виден полный путь из маршрутизаторов и перенаправляющих устройств, которые прошел пакет. По ним можно предположить какие сети вложены друг в друга, а какие находятся на одно уровне.
Бывает такое, что ответные пакеты не приходят и на месте узла остаются звездочки, как в 5 строке на скриншоте. Это происходит из-за того, что узел закрыл порты для подключения по используемому протоколу. В таких случаях можно попробовать использовать TCP или ICMP соединение, к примеру, попробуем для google.com узнать 5 строку:
Все действия были выполнены в среде облачного сервера от Serverspace, для этого перейдем к созданию сервера, на любой из двух платформ vStack cloud или же VMware cloud. Нажмем на кнопку Создать сервер и выберем конфигурацию, подходящую под наши задачи, затем нажмем кнопку Создать:
Потребуется некоторое время для развертывания серверных мощностей. После чего вы можете подключиться любым из удобных способов. На основе предлагаемы VPS и VDS серверов, так же можно развернуть уже свою виртуальную инфраструктуру.