Задача
Установка и использование traceroute в Linux.
Распределения
Это руководство поддерживает Ubuntu, Debian, Fedora, OpenSUSE и Arch Linux.
Требования
Рабочий Linux с установленным сетевым подключением.
Введение | Зачем нужен traceroute?
Traceroute находит, какие сетевые маршруты берутся между вашим компьютером и пунктом назначения.
Это место назначения может быть веб-сайтом, сервером или другой машиной в вашей сети.
Если вы можете отправить ему сетевые пакеты, вы можете проверить путь с помощью traceroute.
Это полезный инструмент для понимания того, как данные передаются через сеть.
Что делает Traceroute?
Traceroute отправляет пакеты на целевой компьютер и записывает все шаги, которые выполняются этими пакетами.
Он выводит IP-адреса и доменные имена серверов, через которые проходят эти пакеты, в своем окне терминала.
Вы сможете увидеть, сколько времени потребуется, чтобы ваши пакеты достигли места назначения, и вы сможете узнать, почему некоторые веб-сайты занимают в загрузке больше времени, чем другие, в зависимости от количества трафика.
Traceroute можно также использовать для сопоставления локальных сетей.
Если вы проводите аудит безопасности, вы можете использовать traceroute из целевой сети, чтобы понять, как настроена сеть и какие устройства находятся на ней.
Как это работает?
Traceroute работает, используя свойство «ttl», которое имеют сетевые пакеты.
Все пакеты имеют определенное количество отказов, которые они могут делать между компьютерами, прежде чем они будут автоматически удалены.
Эта функция предотвращает бесконечные передачи потерянных пакетов по сети, замедляя законный трафик.
Когда пакет переходит от сетевого устройства к другому, устройство проверяет время для жизни этого пакета.
Если количество отскоков, оставшихся от него, выше одного, оно уменьшит число на единицу и передает его следующему устройству.
Если это число один, он упадет, потому что уменьшение времени жизни на один приведет к нулю, убив пакет.
Если устройство отбрасывает пакет, оно отправляет обратно отправителю, сообщая ему, что он упал пакет, потому что время ожидания истекло.
Traceroute использует эти сообщения об истечении срока действия для проверки маршрута между вашим компьютером и пунктом назначения.
Инструмент направит первый пакет с ttl =1 .Первое устройство отбросит его, отправив сообщение с собственным IP-адресом.
Затем traceroute отправит еще один пакет со временем для жизни из двух ttl.
Второе устройство отправит сообщение об истечении срока действия.
Traceroute продолжит процесс до достижения цели.
Установка Traceroute
Traceroute – базовая системная утилита Linux.
Он доступен практически во всех хранилищах репозиториев.
Используйте его менеджер пакетов, чтобы установить его в своей системе.
Ubuntu/Debian
$ sudo apt install traceroute
Fedora
# dnf install traceroute
OpenSUSE
# zypper in traceroute
Arch Linux
# pacman -S traceroute
Основное использование
Traceroute прост. Запустите команду traceroute, а затем пункт назначения.
Это место назначения может быть IP-адресом или доменным именем.
$ traceroute itisgood.ru
Иногда вы можете увидеть, что traceroute останавливает вывод какой-либо фактической информации в ваш терминал и начинает показывать символы звездочки, как на изображении выше.
Некоторые сети настроены на блокировку трассировки.
Если ваши пакеты перемещаются по такой сети в любой момент своего пути, traceroute не будет работать.
Попробуйте также с IP-адресом. Вы заметите, что это тот же самый процесс.
Не стесняйтесь попробовать это и в своей собственной сети.
Вы сможете увидеть, есть ли медленные области или узкие места, которые необходимо улучшить.
Полезные флаги
Вам действительно не нужны флаги для использования traceroute, но есть несколько из них, которые могут помочь, в зависимости от вашей ситуации.
Во-первых, вы можете легко переключаться между IP4 и IP6 с помощью флагов -4 и -6.
$ traceroute -4 itisgood.ru
По умолчанию traceroute использует пакеты icmp (ping).
Если вы предпочитаете проверять TCP-соединение для сбора данных, более релевантных веб-серверу, вы можете использовать флаг -T.
$ traceroute -T itisgood.ru
Если вы хотите протестировать определенный порт, флаг -p может помочь с этим.
$ traceroute -p 53 192.168.1.1
Вы также можете вручную управлять им, когда traceroute начинается и заканчивается.
Вы можете сделать это, используя флаг -f, чтобы установить первый раз для жизни и -m для максимального времени для жизни.
Пример ниже начнется на третьем прыжке и заканчивается на десятой.
$ traceroute -f 3 -m 10 linuxconfig.org
Заключительные мысли
Traceroute – замечательный многоцелевой инструмент для изучения и понимания сетевого трафика.
Он может помочь вам сформировать четкую картину пути, который пакеты совершают как в вашей локальной сети, так и в Интернете в целом.