- Команда для трассировки linux
- Трассировка в Linux
- Для CentOS и RedHat
- Для Debian и Ubuntu
- Как запустить Traceroute в Linux
- О трассировке
- Установка traceroute
- Использование traceroute
- Основное использование
- IPv4 или IPv6
- Тестирование портов
- Скрытие имен устройств
- Предел тайм-аута Traceroute
- Методы исследования
- Установка максимального количества прыжков
- Указание интерфейса
- Маршрутизация пакетов через шлюз
- Страница справки Traceroute
- Заключение
- Команда traceroute в системе Linux
- Принцип работы трассировки
- команда traceroute не найдена
- Синтаксис
- Дополнительные опции
- Примеры трассировки в Linux
- Заключение
- Traceroute, как использовать в Linux
- Как работает Traceroute
- Синтаксис traceroute и ключи
- Интерпретация результатов
Команда для трассировки linux
Командой tracert мы инициируем отправку пакетов данных тому получателю, который указали – это может быть адрес сайта, имя компьютера в сети или IP-адрес. При этом пакеты проходят через все промежуточные системы (обычно это специальные сетевые устройства – машрутизаторы) между нашим компьютером и получателем. Таким образом, мы устанавливаем маршрут до пункта назначения и, что гораздо более важно – определяем время отклика (значение в миллисекундах) каждого промежуточного узла.
Таким образом можно установить, в каком месте цепочки находится проблема. Если пакеты не доходят до самого пункта назначения – значит, проблема в нем. Если цепочка обрывается на середине – проблема в каком-то из промежуточных маршрутизаторов. При этом с другого компьютера или по другому маршруту (если такой существует) наш отвалившийся сайт может быть доступен. Если пакеты не выходят за пределы сети нашего провайдера – стало быть, там и проблема.
Трассировка в Linux
В linux за трассировку отвечает пакет traceroute. Первое что сделаем это поставим пакет.
Для CentOS и RedHat
yum install -y traceroute
Для Debian и Ubuntu
apt-get install traceroute -y
Как сделать трассировку в Ubuntu-Debian-CentOS с помощью traceroute-01
Сделаем трассировку до Яндекса. traceroute ya.ru. Видим пошло построение маршрута.
Как сделать трассировку в Ubuntu-Debian-CentOS с помощью traceroute-02
Как видите команда очень похожа на команду из операционной системы Windows. Данная команда очень сильно вам поможет в решении сетевых проблем, так что трассировка вам в помощь.
Источник
Как запустить Traceroute в Linux
Traceroute — это инструмент в Linux, позволяющий исследовать маршруты сетевых пакетов. Это может помочь вам определить ограничивающий фактор перемещения сетевых пакетов. Traceroute также полезен для устранения проблем с медленными сетевыми подключениями. В этом руководстве показано, как запустить traceroute в Linux.
О трассировке
Traceroute отправляет пакеты данных на целевой компьютер, сервер или веб-сайт и записывает любые промежуточные шаги, через которые проходят пакеты. Результатом команды traceroute будут IP-адреса и доменные имена, через которые проходят пакеты. Эти записи также показывают, сколько времени требуется, чтобы пакеты достигли каждого пункта назначения. Это может объяснить, почему некоторые веб-сайты загружаются дольше, чем другие, поскольку количество переходов трафика может варьироваться.
Traceroute также полезен для отображения локальных сетей. Понимание топологии и подключений локальной сети можно найти при запуске инструмента.
Обратите внимание, что при использовании traceroute некоторые устройства могут плохо взаимодействовать. Это может быть связано с ошибками маршрутизаторов, ограничивающими скорость сообщениями ICMP интернет-провайдерами, устройствами, не настроенными для отправки пакетов ICMP (для предотвращения распределенных DoS-атак) и т.д. Некоторые сети также настроены на блокировку запросов трассировки.
Установка traceroute
Traceroute — мощный инструмент, доступный для всех дистрибутивов Linux. Ниже приводится краткий список команд для установки traceroute в различных дистрибутивах.
Для Debian/Ubuntu и производных:
Для Fedora и производных:
Для openSUSE, SUSE Linux и производных:
Для Arch Linux и производных:
Использование traceroute
В следующих разделах показано, как использовать traceroute в вашей системе Linux.
Основное использование
Основной метод использования traceroute довольно прост. Все, что требуется traceroute, — это пункт назначения для выполнения зондирования. Назначением может быть домен или IP-адрес.
Если сеть настроена на блокировку сигнала traceroute, то этот зонд будет отмечен звездочками.
IPv4 или IPv6
По умолчанию traceroute будет использовать Интернет-протокол по умолчанию, на который настроена ваша система. Чтобы вручную установить версию IP, выполните описанную ниже процедуру.
Чтобы указать traceroute на использование IPv4, используйте флаг -4 :
Чтобы указать traceroute использовать IPv6, используйте флаг -6 :
Тестирование портов
Если есть необходимость протестировать конкретный порт, его можно указать с помощью флага -p . Для отслеживания UDP traceroute будет начинаться с заданного значения и увеличиваться с каждым зондом. Для трассировки ICMP значение будет определять начальное значение последовательности ICMP. Для TCP и других это будет постоянный порт назначения для подключения.
Скрытие имен устройств
В некоторых ситуациях имена устройств в выводе могут сделать вывод беспорядочным. Для большей наглядности вы можете скрыть имена устройств из вывода. Для этого используйте флаг -n :
Предел тайм-аута Traceroute
По умолчанию traceroute ждет 5 секунд, чтобы получить ответ. В определенных ситуациях вы можете изменить время ожидания на больше или меньше 5 секунд. Для этого используйте флаг -w . Обратите внимание, что значение времени — это число с плавающей запятой.
Методы исследования
Есть несколько методов, которые вы можете использовать для проверки удаленного адреса. Чтобы указать traceroute на использование эха ICMP, используйте флаг -I :
Чтобы использовать TCP SYN для зондирования, используйте флаг -T :
Установка максимального количества прыжков
По умолчанию traceroute отслеживает 30 переходов. Traceroute предлагает возможность вручную установить количество отслеживаемых переходов.
Используйте флаг -m для количества переходов:
Указание интерфейса
Если к компьютеру подключено несколько сетевых интерфейсов, может оказаться полезным указать сетевой интерфейс, который будет использоваться для отправки пакетов. Чтобы указать сетевой интерфейс, используйте флаг -i :
Определение количества запросов для прыжка
Чтобы определить количество запросов для перехода, укажите это число с помощью флага -q :
Маршрутизация пакетов через шлюз
Чтобы маршрутизировать пакеты через определенный шлюз, используйте опцию -g , за которой следует шлюз:
Страница справки Traceroute
Вышеупомянутые демонстрации — это лишь некоторые из распространенных способов использования traceroute, и вы можете использовать еще больше функций. Чтобы получить быструю помощь, откройте страницу справки traceroute с помощью следующей команды:
Чтобы получить более полное и подробное руководство по всем доступным параметрам traceroute, посетите страницу руководства с помощью следующей команды:
Заключение
Traceroute — это мощный инструмент, используемый для диагностики сети, и он поддерживает множество опций. Освоение traceroute может потребовать времени и практики. При использовании этого инструмента вы часто будете использовать методы, описанные в этой статье.
А ранее мы писали об использовании аналогичной команды tracert в Windows.
Источник
Команда traceroute в системе Linux
Часто какой-нибудь сегмент сети не работает должным образом. Как ни странно, при проверке часто обнаруживается, что используемое оборудование подключено и исправно. Трудно определить, что не работает, на каком участке проблема. На это есть своё объяснение. Это означает, что одно из устройств в локальной сети попросту не отвечает, что приводит к потере некоторых данных. Необходимо разобраться, какой из узлов дал сбой. Это легко проверить при помощи специальной утилиты под названием traceroute в Линукс.
В данной статье рассматривается использование проверенного инструмента только для компьютеров Linux. В других системах эти инструкции не работают.
Принцип работы трассировки
Данные в сети передаются в виде пакетов. Об этом знает даже новичок. Поток информации нуждается в разбивке, что обеспечивают специальные программы, установленные на компьютере. Далее эти пакеты отправляются на целевой узел через Интернет, после чего поток информации заново собирается.
Каждая «порция» данных имеет ограниченный срок жизни и переходит от узла к узлу, достигая конечной цели. По умолчанию утилита traceroute использует пакеты формата UDP, но данный параметр поддается коррективам. Вскоре вы сами в этом убедитесь.
команда traceroute не найдена
Обычно по умолчание утилита traceroute не входит в комплект дистрибутивов Линукс и поэтому при использовании трассировки можно получить ошибку «команда не найдена», в английском варианте «command not found».
Установка в Убунту, Debian:
# apt update
# apt install traceroute
# yum install traceroute
# dnt install traceroute
Синтаксис
Рассмотрим синтаксис команды.
В той части команды, где будет указан адрес узла, необходимо прописать доменное имя или IP-адрес.
Дополнительные опции
Чтобы изменить тип пакетов, необходимо воспользоваться соответствующими опциями. Для пакетов ICMP – опция -I. Для пакетов TCP – опция -T. Вследствие чего формат UDP больше не будет использован программой.
Если нужно указать размер пакета, задайте опцию —mtu. В таблице маршрутизации будет указано конкретное устройство. Чтобы поменять его, и задать другой роутер, задайте опцию -r. Для установки максимально допустимого времени жизни пакета задайте опцию -m. Чтобы задать длительность паузы между прыжками, задайте опцию -z.
Вышеперечисленные ключи не являются обязательными для использования traceroute в командной строке устройства Линукс. Вы всегда можете запустить утилиту без добавления вспомогательных опций.
Примеры трассировки в Linux
Рассмотрим на примере выполнение трассировки сети до определенного сервера. Он будет указан в завершении:
Как видно из скриншота, пакет дошел до сайта всего за два хоста
Система отправляла по 3 пакета на каждый из этих узлов, засекая при этом точное время их прохождения. Имея подобную информацию на руках, очень просто понять, на каком узле возникла проблема, если сеть дала сбой.
Следует учитывать тот факт, что сервисная задержка может отнять немало времени. Это связано с приоритетностью маршрутизатора. Приходящие пакеты всегда находятся в фаворе.
Если в появившемся окне вместо узла указаны звёздочки утилиты, не стоит делать поспешных выводов о его поломке. Скорее всего, узел просто не ответил на этот раз.
Если трассировка сети не осуществляется с помощью пакетов UDP, их формат нужно поменять. В ином случае фаервол продолжил блокировку лишних пакетов. О том, как осуществить замену на практике, говорилось выше. Например, если вы хотите отдать предпочтение пакетам ICMP, то нужно подобрать соответствующую опцию, указанную в статье. В данном случае это опция -I.
Для начала пробуем без изменений:
Если не получается, измените формат пакетов:
# taceroute -I history.pl
Обрыв цепочки – не единственное, что может выявить трассировка сети Linux. Её также можно применить для исследования сети. К примеру, пользователю нужно выяснить, какие подсети используются поставщиком Интернет-услуг. Для этого необходимо отправить 3 запроса с указанием разных адресов. Вот так это выглядит на практике:
Чтобы разобраться с полученными данными и сделать правильное умозаключение, следует провести сравнение 3 выводов заданных команд. Вы увидите, к какой локальной сети подключен ваш маршрутизатор, и какие сети использует провайдер.
Подводя итог, следует резюмировать основные функции команды traceroute:
- Тестирование сети
- Управление сетью
- Измерение сети.
Заключение
Утилита treaceroute – весьма популярный и надежный инструмент для проверки обрыва цепочки, используемый не только системными администраторами, но и обычными пользователями дистрибутива Linux. Эта команда может пригодиться при различных неисправностях. Её рекомендуется использовать исключительно для ручной локализации проблем. Использование traceroute во время стандартных операций и автоматических сценариев может оказать мощную нагрузку на сеть, что не является целесообразным решением.
Источник
Traceroute, как использовать в Linux
Команда traceroute используется в Linux для отображения пути прохождения пакета информации от его источника к месту назначения. Одним из способов использования traceroute является обнаружение случаев потери данных по всей сети, что может указывать на то, что узел не работает.
Поскольку каждый переход в записи отражает новый сервер или маршрутизатор между исходным ПК и предполагаемой целью, анализ результатов сканирования трассировки также позволяет выявлять медленные точки, которые могут отрицательно повлиять на сетевой трафик.
Синтаксис traceroute и другая информация, описанная ниже, применима только к машинам Linux.
Как работает Traceroute
Оценка конкретного маршрута, по которому следует сетевой трафик (или нахождение неверного шлюза, отбрасывающего ваши пакеты), представляет несколько проблем с устранением неполадок. Traceroute использует поле протокола IP, времени жизни для запроса ответа ICMP TIME_EXCEEDED от каждого шлюза по пути к хосту назначения.
Единственный параметр, который необходимо указать при выполнении команды traceroute, — это имя хоста или IP-адрес места назначения.
Синтаксис traceroute и ключи
traceroute [ -dFInrvx ] [ -f first_ttl ] [ -g gateway ] [ -i iface ] [ -m max_ttl ] [ -p port ] [ -q nqueries ] [ -s src_addr ] [ -t tos ] [ -w waittime ] [ -z pausemsecs ] host [ packetlen ]
Хотя вышеизложенное показывает, как команда traceroute должна быть записана для работы в командной строке, производительность или выходные данные команды можно изменить, указав один или несколько необязательных ключей.
Ключ | Описание |
-f | Установить начальное время жизни, используемое в первом исходящем тестовом пакете. |
-F | Установить бит «не фрагментировать». |
-d | Включить отладку на уровне сокетов. |
-g | Указать свободный исходный шлюз маршрута (максимум 8). |
-i | Указать сетевой интерфейс для получения исходного IP-адреса для исходящих тестовых пакетов. Обычно это полезно только на многосетевом хосте. (Смотрите ключ -s для другого способа сделать это.) |
-l | Использовать ICMP ECHO вместо UDP . |
-m | Установить максимальное время жизни (максимальное количество прыжков), используемое в исходящих тестовых пакетах. По умолчанию используется 30 переходов (то же самое, что используется по умолчанию для соединений TCP). |
-n | Выводить адреса переходов численно, а не символически и численно (сохраняет поиск адреса к имени сервера имен для каждого шлюза, найденного на пути). |
-p | Установить базовый номер порта UDP (по умолчанию 33434). Traceroute надеется, что на базе портов UDP ничего не прослушивается base + nhops — 1 на хосте назначения (поэтому будет возвращено сообщение ICMP PORT_UNREACHABLE для завершения трассировки маршрута). Если что-то прослушивает порт в диапазоне по умолчанию, этот параметр можно использовать для выбора неиспользуемого диапазона портов. |
-r | Обходить обычные таблицы маршрутизации и отправка напрямую на хост в подключенной сети. Если хост не находится в сети с прямым подключением, возвращается ошибка. Эта опция может использоваться для проверки связи с локальным хостом через интерфейс, у которого нет маршрута через него (например, после того, как интерфейс был сброшен маршрутизируемым (8C)). |
-s | Использовать следующий IP-адрес (который обычно задается как IP, а не имя хоста) в качестве адреса источника в исходящих тестовых пакетах. На многосетевых хостах (с несколькими IP адресами) этот параметр можно использовать, чтобы заставить исходный адрес отличаться от IP-адреса интерфейса, на который отправляется тестовый пакет. Если IP-адрес не является одним из адресов интерфейса данного хоста, возвращается ошибка и ничего не отправляется. (Смотрите ключ -i для другого способа сделать это.) |
-t | Установить для type-of-service в тестовых пакетах следующее значение (по умолчанию ноль). Значение должно быть десятичным целым числом в диапазоне от 0 до 255. Этот параметр можно использовать, чтобы увидеть, приводят ли разные типы обслуживания к разным путям. Не все значения TOS являются законными или значимыми. Полезные значения, вероятно, «-t 16» (низкая задержка) и «-t 8» (высокая пропускная способность). |
-v | Подробный вывод. Полученные ICMP-пакеты, кроме TIME_EXCEEDED и UNREACHABLE. |
-w | Установить время (в секундах) ожидания ответа на нод (по-умолчанию 5 секунд). |
-x | Переключить контрольные суммы IP . Обычно это не позволяет traceroute вычислять контрольные суммы IP. В некоторых случаях операционная система может перезаписывать части исходящего пакета, но не пересчитывать контрольную сумму; таким образом, в некоторых случаях по умолчанию не вычисляются контрольные суммы, а использование -x приводит к их вычислению. Обратите внимание, что контрольные суммы обычно требуются для последнего прыжка при использовании ICMP ECHO ( -I ), поэтому они всегда рассчитываются при использовании ICMP. |
-z | Установить время (в миллисекундах) для паузы между прыжками (по умолчанию 0). Некоторые системы, такие как Solaris и маршрутизаторы от Cisco, ограничивают скорость передачи сообщений icmp. Хорошее значение для использования это 500 (например, 1/2 секунды). |
Интерпретация результатов
Traceroute обрисовывает путь, по которому IP-пакет следует к хосту, запуская тестовые пакеты UDP с небольшим TTL (время жизни), а затем прослушивая ICMP-ответ «превышено время» от шлюза. Мы запускаем наши тесты с TTL, равным единице, и увеличиваем его на единицу, пока не получим ICMP «порт недоступен» (что означает, что пакет прибыл в пункт назначения) или не достигнем максимального значения попыток, которое по умолчанию составляет 30 прыжков и может быть изменено с помощью ключа -m .
Когда traceroute выполняется, он отправляет три сигнала с каждой настройкой TTL, а затем выводит на консоль строку, показывающую TTL, адрес шлюза и время прохождения сигнала в обоих направлениях. Если ответы зондирования поступают из разных шлюзов, печатается адрес каждой отвечающей системы. Если в течение пятисекундного интервала ожидания ответа нет (изменяется с помощью ключа -w ), для этого сигнала печатается звездочка.
Чтобы предотвратить перегрузку хоста назначения при обработке зондирующего пакета UDP, для порта назначения установлено значение, которое вряд ли будет использоваться этим устройством. Если сеть или служба в пункте назначения использует этот порт, измените значение с помощью ключа -p .
Пример использования и вывода результатов:
Traceroute предназначен для использования в тестировании, измерении и управлении сетью. Его следует использовать главным образом для ручной локализации неисправностей. Из-за нагрузки, которая может быть наложена на сеть, неразумно использовать traceroute во время обычных операций или из автоматических сценариев.
Источник