Команда tracert поможет в диагностике проблем со связью

Утилита Traceroute

Перед тем как перейти к примерам работы с утилитой давайте рассмотрим ее синтаксис и основные опции. Синтаксис вызова очень прост:

$ traceroute опции адрес_узла

В качестве адреса может использоваться ip адрес или доменное имя. Рассмотрим основные опции:

  • -4 или -6 — использовать ipv4 или ipv6 протокол;
  • -I — использовать ICMP пакеты вместо UDP;
  • -T — использовать TCP пакеты вместо UDP;
  • -F — не фрагментировать пакеты;
  • -f — указать TTL с которого нужно начать;
  • -g — передавать пакет через указанный шлюз;
  • -i — передавать пакет через указанный интерфейс;
  • -m — максимальное количество узлов, через которые пройдет пакет;
  • -q — количество пакетов, отправляемых за раз, по умолчанию три;
  • -n — не узнавать доменные имена;
  • -p — указать порт вместо порта по умолчанию;
  • -w — установить время ожидания ответа от узла, по умолчанию полсекунды;
  • -r — использовать другой роутер вместо того, что указанный в таблице маршрутизации;
  • -z — минимальный интервал между пакетами;
  • -U — использовать UDP с увеличением номера порта;
  • -UL — использовать протокол UDPLITE;
  • -D — использовать протокол DCCP;
  • —mtu — указать размер пакета;
  • -P — протокол, доступны такие значения: raw, dccp, udplite, udp, tcpconn, tcp, icmp.

Это не все опции утилиты, но все основные, которыми вы будете пользоваться. Дальше перейдем практике того, как выполняется трассировка сети Linux.

Как читать результат трассировки

Вернемся к анализу вывода Tracert. Мой запрос к сайту Yandex.ru совершил 16 прыжков – прошел через 15 «перевалочных пунктов» и шестнадцатым шагом достиг конечной цели. Порядковые номера прыжков отображены в столбце, обведенном красной рамкой. По умолчанию их максимальное число составляет 30.

Второй, третий и четвертый столбцы содержат значения RTT – времени, прошедшего от момента отправки запроса до получения ответа (как вы помните, партия состоит из трех пакетов). Чем оно меньше, тем быстрее осуществляется передача. Если оно больше 4 секунд, интервал ожидания считается превышенным.

Последний столбец – это имена и адреса промежуточных и конечного узлов.

Звездочки вместо значений не всегда указывают на недоступность или неисправность сетевого устройства (как пишут в некоторых источниках). Чаще всего это просто настройка, не позволяющая отправлять ответные ICMP-сообщения (меры по защите веб-узла от DDoS-атак). Если ваш запрос благополучно достиг конечной точки за приемлемое время, беспокоиться не о чем.

Причиной сбоя доставки ICMP-пакетов (если запрос так и не дошел до адресата) может быть неработоспособность (отключение или неисправность) сетевого устройства или политика безопасности (блокировка данного действия администратором сети).

Синтаксис

Рассмотрим синтаксис команды.

В той части команды, где будет указан адрес узла, необходимо прописать доменное имя или IP-адрес.

Дополнительные опции

Чтобы изменить тип пакетов, необходимо воспользоваться соответствующими опциями. Для пакетов ICMP – опция -I. Для пакетов TCP – опция -T. Вследствие чего формат UDP больше не будет использован программой.

Если нужно указать размер пакета, задайте опцию —mtu. В таблице маршрутизации будет указано конкретное устройство. Чтобы поменять его, и задать другой роутер, задайте опцию -r. Для установки максимально допустимого времени жизни пакета задайте опцию -m. Чтобы задать длительность паузы между прыжками, задайте опцию -z.

Вышеперечисленные ключи не являются обязательными для использования traceroute в командной строке устройства Линукс. Вы всегда можете запустить утилиту без добавления вспомогательных опций.

Примеры трассировки в Linux

Рассмотрим на примере выполнение трассировки сети до определенного сервера. Он будет указан в завершении:

Как видно из скриншота, пакет дошел до сайта всего за два хоста

Система отправляла по 3 пакета на каждый из этих узлов, засекая при этом точное время их прохождения. Имея подобную информацию на руках, очень просто понять, на каком узле возникла проблема, если сеть дала сбой.

Следует учитывать тот факт, что сервисная задержка может отнять немало времени. Это связано с приоритетностью маршрутизатора. Приходящие пакеты всегда находятся в фаворе.

Если в появившемся окне вместо узла указаны звёздочки утилиты, не стоит делать поспешных выводов о его поломке. Скорее всего, узел просто не ответил на этот раз.

Если трассировка сети не осуществляется с помощью пакетов UDP, их формат нужно поменять. В ином случае фаервол продолжил блокировку лишних пакетов. О том, как осуществить замену на практике, говорилось выше. Например, если вы хотите отдать предпочтение пакетам ICMP, то нужно подобрать соответствующую опцию, указанную в статье. В данном случае это опция -I.

Для начала пробуем без изменений:

Если не получается, измените формат пакетов:

Обрыв цепочки – не единственное, что может выявить трассировка сети Linux. Её также можно применить для исследования сети. К примеру, пользователю нужно выяснить, какие подсети используются поставщиком Интернет-услуг. Для этого необходимо отправить 3 запроса с указанием разных адресов. Вот так это выглядит на практике:

Первый адрес:

Второй адрес:

Третий адрес:

Чтобы разобраться с полученными данными и сделать правильное умозаключение, следует провести сравнение 3 выводов заданных команд. Вы увидите, к какой локальной сети подключен ваш маршрутизатор, и какие сети использует провайдер.

Подводя итог, следует резюмировать основные функции команды traceroute:

  1. Тестирование сети
  2. Управление сетью
  3. Измерение сети.

Заключение

Утилита treaceroute – весьма популярный и надежный инструмент для проверки обрыва цепочки, используемый не только системными администраторами, но и обычными пользователями дистрибутива Linux. Эта команда может пригодиться при различных неисправностях. Её рекомендуется использовать исключительно для ручной локализации проблем. Использование traceroute во время стандартных операций и автоматических сценариев может оказать мощную нагрузку на сеть, что не является целесообразным решением.

Команда tracert (traceroute)

Очень часто пользователи задаются вопросом, с чем связана разница в написании tracert и traceroute? На самом деле, команда tracert применяется в операционных системах Windows, а traceroute – в операционных системах Linux и в операционной системе маршрутизаторов Cisco.

Простейший и самый распространенный пример использования команды tracert – “tracert ya.ru”. При использовании команды tracert с буквенным адресом проверяемого хоста, автоматически проверяется еще и работоспособность и доступность DNS – сервера. Ведь для того, чтобы начать процесс трассировки, команда tracert должна сначала связаться с сервером DNS и получить IP-адрес проверяемого хоста.

Пример вывода информации командой tracert:

Трассировка маршрута к ya.ru с максимальным числом прыжков 30:

1 1 мs 1 мs 1 ms psk-cr1-fe-0-0-v03.ellink.ru 2 1 мs 1 мs 1 мs ge-2-2-0-v2.1g.m20-1-pskv.nwtelecom.ru 3 4 ms 4 ms 4 ms ae0.20g.mx960-1-210.nwtelecom.ru 4 4 ms 4 ms 4 ms as13238-yandex.gateway.nwtelecom.ru 5 12 ms 12 ms 12 ms apollo-vlan304.yandex.net 6 12 ms 12 ms 13 ms grechko-vlan121.yandex.net 7 15 ms 14 ms 14 ms silicon-vlan4.yandex.net 8 14 ms 13 ms 13 ms l3link-iva1-ugr1.yandex.net 9 14 ms 13 ms 15 ms www.yandex.ru

Команда tracert последовательно опрашивает и измеряет время задержки до всех маршрутизаторов на пути прохождения пакета, пока не будет достигнут целевой хост. Если между какими-либо двумя маршрутизаторами наблюдается большой рост задержки, значит этот участок маршрута влияет на увеличение пинга.

Следует также учитывать, что основная задача маршрутизаторов – это передавать пакеты с полезной информацией, а не отвечать на команды tracert и ping. Поэтому, некоторые маршрутизаторы на пути следования пакета могут пинговаться даже с потерей пакетов, но при этом целевой хост будет доступен без потери пакетов. Поэтому прежде чем звонить в техподдержку провайдера с криком “Я знаю, где у вас пропадают пакеты!”, убедитесь, что целевой хост также пингуется с потерей пакетов. Иначе вам попросту расскажут то, о чем написано выше. –> –>

Источник статьи: http://www.ellink.ru/co/adsl/etc/network/ping_tracert.php

Использование команды Debug

Использованные до сих пор команды debug давали нам понимание того, что происходит при использовании команды ping или traceroute. Они также могут оказаться полезными при поиске и устранении неполадок

Однако в реальных условиях отладка должна производиться с осторожностью. Если процессор не достаточно производительный или существует много перенаправляемых пакетов, то это может легко привести к падению производительности сетевого устройства

Существует пара методов для минимизации влияния выполнения команды debug на маршрутизатор. Один из способов — использование списков контроля доступа для ограничения трафика, который требуется контролировать. Ниже представлен пример этого:

Router4#debug ip packet?
<1-199> Access list
<1300-2699> Access list (expanded range)
detail Print more debugging detail

Router4#configure terminal
Router4(config)#access-list 150 permit ip host 12.0.0.1 host 34.0.0.4
Router4(config)#^Z

Router4#debug ip packet 150
IP packet debugging is on for access list 150

Router4#show debug
Generic IP:
   IP packet debugging is on for access list 150

Router4#show access-list
Extended IP access list 150
   permit ip host 12.0.0.1 host 34.0.0.4 (5 matches)

При этой конфигурации маршрутизатор 4 печатает сообщения отладки, соответствующие только списку контроля доступа 150. Команда ping, поступающая от маршрутизатора 1, приводит к отображению следующего сообщения:

Router4#
Jan 20 16:51:16.911: IP: s=12.0.0.1 (Serial0), d=34.0.0.4 (Serial0), len 100, rcvd 3
Jan 20 16:51:17.003: IP: s=12.0.0.1 (Serial0), d=34.0.0.4 (Serial0), len 100, rcvd 3
Jan 20 16:51:17.095: IP: s=12.0.0.1 (Serial0), d=34.0.0.4 (Serial0), len 100, rcvd 3
Jan 20 16:51:17.187: IP: s=12.0.0.1 (Serial0), d=34.0.0.4 (Serial0), len 100, rcvd 3
Jan 20 16:51:17.279: IP: s=12.0.0.1 (Serial0), d=34.0.0.4 (Serial0), len 100, rcvd 3

Пакеты, не соответствующие списку контроля доступа, маршрутизатором 4 не отображаются. Для их просмотра необходимо добавить следующие команды:

Router4(config)#access-list 150 permit ip host 12.0.0.1 host 34.0.0.4
Router4(config)#access-list 150 permit ip host 34.0.0.4 host 12.0.0.1

После этого отобразятся следующие результаты:

Jan 20 16:53:16.527: IP: s=12.0.0.1 (Serial0), d=34.0.0.4 (Serial0), len 100, rcvd 3
Jan 20 16:53:16.531: IP: s=34.0.0.4 (local), d=12.0.0.1 (Serial0), len 100, sending
Jan 20 16:53:16.627: IP: s=12.0.0.1 (Serial0), d=34.0.0.4 (Serial0), len 100, rcvd 3
Jan 20 16:53:16.635: IP: s=34.0.0.4 (local), d=12.0.0.1 (Serial0), len 100, sending
Jan 20 16:53:16.727: IP: s=12.0.0.1 (Serial0), d=34.0.0.4 (Serial0), len 100, rcvd 3
Jan 20 16:53:16.731: IP: s=34.0.0.4 (local), d=12.0.0.1 (Serial0), len 100, sending
Jan 20 16:53:16.823: IP: s=12.0.0.1 (Serial0), d=34.0.0.4 (Serial0), len 100, rcvd 3
Jan 20 16:53:16.827: IP: s=34.0.0.4 (local), d=12.0.0.1 (Serial0), len 100, sending
Jan 20 16:53:16.919: IP: s=12.0.0.1 (Serial0), d=34.0.0.4 (Serial0), len 100, rcvd 3
Jan 20 16:53:16.923: IP: s=34.0.0.4 (local), d=12.0.0.1 (Serial0), len 100, sending

Другим способом минимизации воздействия команды debug является помещение отладочных сообщений в буфер и их вывод после выключения отладки с помощью команды show log:

Router4#configure terminal
Router4(config)#no logging console
Router4(config)#logging buffered 5000
Router4(config)#^Z

Router4#debug ip packet
IP packet debugging is on
Router4#ping 12.0.0.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 12.0.0.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 36/36/37 ms

Router4#undebug all
All possible debugging has been turned off

Router4#show log
Syslog logging: enabled (0 messages dropped, 0 flushes, 0 overruns)
   Console logging: disabled
   Monitor logging: level debugging, 0 messages logged
   Buffer logging: level debugging, 61 messages logged
   Trap logging: level informational, 59 message lines logged

Log Buffer (5000 bytes):

Jan 20 16:55:46.587: IP: s=34.0.0.4 (local), d=12.0.0.1 (Serial0), len 100, sending
Jan 20 16:55:46.679: IP: s=12.0.0.1 (Serial0), d=34.0.0.4 (Serial0), len 100, rcvd 3

Как показано выше, команды ping и traceroute являются очень полезными при поиске и устранении проблем доступа к сети. Кроме того, они очень просты в применении. Так как эти две команды широко используются сетевыми инженерами, то понимание принципов их функционирования является очень важным при поиске и устранении неисправностей подключения к сети.

Есть вопросы?
Обращайтесь в «Аквилон-А», чтобы узнать подробности и получить
именно то, что вам требуется.

ПРИМЕЧАНИЯ

Для ускорения работы обычно выполняется несколько зондирований одновременно. Другими словами, создаётся «шторм
пакетов», особенно в ответном направлении. Маршрутизаторы могут подавлять скорость ответов icmp и некоторые из ответов могут быть утеряны. Для избежания этого
нужно уменьшить количество одновременных зондирований или даже задать его равным 1 (как в первоначальной реализации программы traceroute), т.е. указать −N
1
.

Оконечный (целевой) узел может отбрасывать некоторые из одновременных зондирований и отвечать только на самые
последние. Это может привести к сообщениям «looks like expired» − «возможно просрочен» ближе к оконечному звену. Для автоопределения таких ситуаций
используется специальный алгоритм, но если он не справился, просто воспользуйтесь −N 1.

Для повышения стабильности можно замедлить работу программы, воспользовавшись опцией −z, например, указав
−z 0.5 для полсекундной паузы между зондированиями.

Если некоторые звенья ничего не сообщают при любом используемом методе, то последний шанс получить хоть что−то −
использовать команду ping −R (IPv4, и только для ближайших 8 звеньев).

Команда tracert.

ноября 8, 2009 P.Borvickiy

Tracert – определяет путь до точки назначения с помощью посылки в точку назначения эхо-сообщений протокола Control Message Protocol (ICMP) с постоянным увеличением значений срока жизни (Time to Live, TTL).

Выведенный путь — это список ближайших интерфейсов маршрутизаторов, находящихся на пути между узлом источника и точкой назначения. Ближний интерфейс представляют собой интерфейс маршрутизатора, который является ближайшим к узлу отправителя на пути. Запущенная без параметров, команда tracert выводит справку.

Параметры

-d

Предотвращает попытки команды tracert разрешения IP-адресов промежуточных маршрутизаторов в имена. Увеличивает скорость вывода результатов команды tracert.

-h максимальное_число_переходов

Задает максимальное количество переходов на пути при поиске конечного объекта. Значение по умолчанию равно 30.

-j список_узов

Указывает для сообщений с эхо-запросом использование параметра свободной маршрутизации в заголовке IP с набором промежуточных мест назначения, указанных в списке_узлов. При свободной маршрутизации успешные промежуточные места назначения могут быть разделены одним или несколькими маршрутизаторами. Максимальное число адресов или имен в списке — 9. Список_адресов представляет набор IP-адресов (в точечно-десятичной нотации), разделенных пробелами.

-w интервал

Определяет в миллисекундах время ожидания для получения эхо-ответов протокола ICMP или ICMP-сообщений об истечении времени, соответствующих данному сообщению эхо-запроса. Если сообщение не получено в течение заданного времени, выводится звездочка (*). Таймаут по умолчанию 4000 (4 секунды).

имя_конечного_компьютера

Задает точку назначения, указанную IP-адресом или именем узла.

-?

Отображает справку в командной строке.

Примечания

Диагностическое средство, предназначенное для определения маршрута до точки назначения с помощью посылки в точку назначения эхо-запросов протокола Internet Control Message Protocol (ICMP) с различными значениями срока жизни (TTL, Time-To-Live). Каждый маршрутизатор, через который проходит путь, обязан перед дальнейшей пересылкой пакета уменьшить значение его поля TTL по меньшей мере на 1.

Фактически, TTL — счетчик узлов. Предполагается, что когда параметр TTL становится равен 0, маршрутизатор посылает системе-источнику сообщение ICMP об истечении времени. Команда tracert определяет маршрут, посылая первый эхо-запрос с полем TTL, равным 1, и увеличивая значение этого поля на единицу для каждого последующего отправляемого эхо-пакета до тех пор, пока конечный узел не ответит или пока не будет достигнуто максимальное значение поля TTL.

Максимальное количество переходов по умолчанию равно 30 и может быть изменено с помощью параметра -h. Путь определяется из анализа сообщений ICMP об истечении времени, полученных от промежуточных маршрутизаторов, и это-ответов точки назначения. Однако некоторые маршрутизаторы не посылают сообщений об истечении времени для пакетов с нулевыми значениями TTL и не видны для команды tracert. В этом случае для перехода отображается ряд звездочек (*).

  • Чтобы выполнить трассировку маршрута, вывести значение задержки распространения по сети и потерь пакета на каждом маршрутизаторе и узле в пути, используйте команду pathping.
  • Эта команда доступна, только если в свойствах сетевого адаптера в объекте Сетевые подключения в качестве компонента установлен протокол Интернета (TCP/IP).

Примеры

Чтобы выполнить трассировку пути к узлу corp7.microsoft.com, введите команду:

tracert corp7.microsoft.com

Чтобы выполнить трассировку пути к узлу corp7.microsoft.com и предотвратить разрешение каждого IP-адреса в имя, введите:

tracert -d corp7.microsoft.com

Чтобы выполнить трассировку пути к узлу corp7.microsoft.com и использовать узлы 10.12.0.1-10.29.3.1-10.1.44.1 для свободной маршрутизации, введите следующую команду:

tracert -j 10.12.0.1 10.29.3.1 10.1.44.1 corp7.microsoft.com

Условные обозначения форматирования

Формат

Значение

Курсив Сведения, вводимые пользователем
Полужирный Элементы, вводимые без изменений
Многоточие (…) Параметр может быть введен в командной строке несколько раз
В квадратных скобках ([]) Необязательные элементы
В фигурых скобках ({}); варианты, разделенные вертикальной линией (|), пример: {even|odd} Набор вариантов, из которых необходимо выбрать один
Выходные данные программы

Раздел сайта Командная строка Теги: Командная строка

Опции команды Tracert

Когда мы используем команду Tracert, в дополнение к записи команды Tracert и IP-адреса или имени сервера в консоли системных символов, мы можем записать ряд параметров для изменения или получения дополнительных данных, для этого мы должны ввести команду «Tracert Пробел, и следовал один из вариантов, которые мы укажем ниже. Примером может быть: Tracert -d 192.168.1.1

Посмотрим, какие у нас есть варианты:

  • -d: эта опция заставляет команду Tracert не выполнять поиск DNS для всех IP-адресов. То есть вместо того, чтобы показывать имя маршрутизатора, он будет показывать нам только свой IP-адрес.
  • -h: эта опция позволяет нам указать максимальное количество прыжков, которое может выполнить команда Tracert. Для этого мы должны ввести команду следующим образом. Tracert -h «количество прыжков» «IP-адрес или имя хоста» .
  • -j: эта опция указывает команде tracert, что будет нестрогим источником запроса к хосту. Чтобы сделать это, мы должны ввести опцию -j, пробел, за которым следует исходный хост, который мы хотим. Работает только с IPv4 IP-адресами.
  • -w: эта опция используется для указания максимального времени ожидания в миллисекундах в каждом ответе до сбоя соединения. Для этого мы должны ввести опцию -w, пробел и время в миллисекундах, которые мы хотим.
  • -R: эта опция используется для следования по обратному маршруту. Работает только с IPv6 IP-адресами.
  • -S: эта опция служит для указания команде tracert, какой адрес источника мы хотим использовать. Для этого мы должны ввести опцию -s, пробел, а затем IP-адрес источника.
  • -4: этот параметр служит для принудительного использования IP-адресов IPv4.
  • -6: эта опция помогает нам принудительно использовать IP-адреса IPv6.

Как уменьшить пинг?

От людей, играющих в сетевые игры, часто можно слышать об их желании уменьшить пинг. Это достаточно логично, так как маленькое время пинга означает меньшие задержки при игре. Соответственно, игрок с минимальным временем пинга может получить преимущество в игре. Наиболее популярная игра, для которой пользователи любят померить пинг – Counter Strike или сокращенно CS.

Вариантов по уменьшению времени пинга на самом деле не так уж и много. Время прохождения пинга зависит от загруженности канала пользователя и от маршрута, по которому пакеты проходят от маршрутизатора провайдера до игрового сервера.

Прежде всего, если вы испытываете проблемы с пингом, попробуйте отключить все программы для закачки файлов. Причем нужно не просто остановить закачку, а закрыть программу для закачки файлов.

Если вы делите интернет-канал с кем-либо еще, например если у вас дома несколько компьютеров, то канал может загружать другой компьютер. Для проверки попробуйте отключить другой компьютер и запустите пинг еще раз.

Если расчистка канала не помогает уменьшить пинг, можно попробовать сменить игровой сервер, т.к. пинг до различных серверов может отличаться в несколько раз. Наиболее предпочтительны в плане уменьшения пинга сервера, находящиеся в России.

Если расчистка канала и смена сервера не помогают уменьшить пинг, может помочь вариант со сменой провайдера. Обращаться к своему провайдеру с жалобой на пинг бесполезно, т.к. переписывать маршруты ради вас никто не будет, да и не факт, что у вашего провайдера есть несколько параллельно функционирующих каналов к провайдерам верхнего уровня.

Альтернативы и дополнения к traceroute


Полученная с помощью tracemap графическая карта трассировки пути на корневые серверы DNS с хоста, расположенного в Киеве

  • tracepath — похожая на traceroute программа, но может строить асимметричные трассы и имеет некоторые другие отличия.
  • mtr — Интерактивная программа, способная постоянно выводить обновлённую статистику по трассе.
  • tracemap — программа, позволяющая выполнять трассировку пути на несколько хостов сразу и представить полученные данные в виде графической карты.
  • tcptraceroute (tracetcp) — аналогичная traceroute программа, но предназначена для диагностики TCP соединений; вместо UDP-пакетов использует TCP-пакеты открытия соединения (|) с указанным сервисом (по умолчанию — web-сервер, порт 80) интересующего хоста; в результате получаем информацию о времени прохождения данного вида TCP-пакетов через маршрутизаторы и информацию о доступности сервиса на интересующем хосте, либо, в случае проблем с доставкой пакетов — видим, в каком месте трассы они возникли.

What is Traceroute?

Traceroute is a monitoring command commonly used by network and system administrators in their day-to-day operations.

This basic network diagnostic tool has three primary objectives, which give you an accurate and complete understanding of a network problem.

With Traceroute, you can?

  1. Get the complete path that a packet uses to reach its destination.
  2. Discover the names and identity of routers and devices within the path.
  3. Find the time it took to send and receive data to each device on the path.

Traceroute gives you complete information about the path that your data will take to reach its destination, without actually sending data (other than ICMP).

For example, if the source of the path (your computer) is in Boston, Massachusetts and the destination in San Jose, California (a Server), Traceroute will identify the complete path, each hop (the computers, routers, or any devices that comes in between the source and the destination) on the path, and the time it takes to go and come back.

Что следует знать о трассировке маршрутов?

Tracert — команда, которая очень важна при диагностике сетевых проблем. Однако стоит учитывать, что ошибиться, рассматривая вывод команды tracert, достаточно просто. Поэтому не надо использовать трассировку маршрутов как единственное средство поиска неполадок.

Еще одной причиной того, что трассировка может только косвенно указать на проблему, является отличие маршрутов прохождения пакетов в интернете в разном направлении. Как правило, пакет, отправленный пользователем, до сервера идет через одни узлы, а посланный обратно — совершенно по-другому.

Задержки прохождения пакетов, присутствующие в выводе утилиты tracert или traceroute, не имеют ничего общего с задержками для транзитных пакетов. Это связано со спецификой их обработки на маршрутизаторе. Поэтому для ориентирования на них необходимо уметь правильно читать вывод команды, что довольно сложно.

Пример в Linux

В UNIX/Linux системах существуют режимы, в которых запуск программы возможен только от имени суперпользователя root (администратора). К числу этих режимов относится важный режим трассировки с помощью ICMP (ключ ).

Во всех остальных случаях, traceroute может работать от имени обычного рядового пользователя.
При этом, параметры по умолчанию различаются от дистрибутива к дистрибутиву, хотя в справке традиционно пишется ключ (UDP) в качестве такового. В отдельных RedHat-based дистрибутивах фактически в качестве умолчания используется , поэтому в случае, если команда из следующего примера выдаст сообщение о недостатке прав, попробуйте явно указать ключ .

  $ traceroute www.ru
  traceroute to www.ru (194.87.0.50), 30 hops max, 38 byte packets 
   1    mygateway.ar7                       (192.168.1.1)       0.777 ms    0.664 ms   0.506 ms
   2    L0.ghsdr04                          (213.227.224.91)   15.661 ms   15.867 ms  31.426 ms
   3    213.227.224.1                       (213.227.224.1)    16.797 ms   18.221 ms  16.756 ms
   4    dg                                  (213.186.216.161)  53.068 ms   39.163 ms  38.283 ms
   5    br13                                (213.186.193.43)   40.156 ms   39.768 ms  42.803 ms
   6    aggr                                (62.221.40.169)    37.884 ms   38.712 ms  37.207 ms
   7    edge-3GE-216dot1q.kiev.ucomline.net (213.130.30.182)   39.723 ms   38.039 ms  41.261 ms
   8    ae0-202.RT771-001.kiv.retn.net      (81.222.15.1)      40.029 ms   37.088 ms  40.039 ms
   9    ae0-3.RT502-001.msk.retn.net        (81.222.15.1)     128.932 ms  122.043 ms 121.612 ms
  10    GW-Demos.retn.net                   (81.222.8.46)     120.023 ms  121.135 ms 119.493 ms
  11    iki-1-vl10.demos.net                (194.87.0.83)     119.074 ms  119.784 ms 123.607 ms
  12    www.ru                              (194.87.0.50)     120.358 ms  122.545 ms 119.399 ms

ОПИСАНИЕ

traceroute отслеживает маршрут пакетов, полученных из IP сети на пути к указанному узлу. Он использует поле
время_жизни (TTL) IP протокола и пытается извлечь отклик TIME_EXCEEDED ICMP протокола от каждого шлюза на всём пути к узлу.

Команда traceroute6 эквивалентна команде traceroute −6

Команда tcptraceroute эквивалентна команде traceroute −T

Команда lft , the Layer Four Traceroute, выполняет TCP трассировку, подобно команде traceroute
−T , но пытается обеспечить совместимость с одноимённой оригинальной реализацией «lft».

Требуемый параметр − имя или IP адрес назначения узел. Необязательный параметр длина_пакета − общий
размер зондирующего пакета (по−умолчанию 60 байт для IPv4 и 80 для IPv6). Указанный размер в некоторых случаях может быть проигнорирован или увеличен до
минимального значения.

Эта программа пытается проследить маршрут IP пакета, следующего к некоторому интернет−узлу, запуская зондирующие
пакеты с малым значением ttl (time to live − время жизни), а затем ожидая от шлюза ICMP ответ «time exceeded» − «время истекло». Процесс зондирования
начинается с единичного значения ttl и увеличивается с шагом 1 до тех пор, пока не будет получен ICMP ответ «port unreachable» − «порт недоступен» (или TCP
reset), который означает, что «узел» достигнут, или достигнут максимум звеньев (который по умолчанию равен 30). Каждое значение ttl по умолчанию используется
трижды, а в итоге выводится строка, показывающая ttl, адрес шлюза и время между между запросом и ответом каждой попытки зондирования. За адресом может
следовать дополнительная запрошенная информация. Если в процессе зондирования ответы приходят с разных шлюзов, будет отображён адрес каждой отвечающей системы.
При отсутствии ответа в течении 5.0 секунд (по умолчанию), для соответствующей попытки выводится «*» (звёздочка).

После времени ответа может отображаться дополнительная метка: !H, !N или !P (узел, сеть или
протокол недоступны), !S (ошибка в маршруте отправителя), !F (необходима фрагментация), !X (взаимодействие административно запрещено),
!V (нарушение приоритета узла), !C (сработал приоритет отсечения), или !<число> (ICMP код недоступности <число>). Если почти
все попытки зондирования свидетельствуют о недоступности, программа traceroute завершается.

Нужно чтобы узел−получатель не обрабатывал зондирующие пакеты UDP, поэтому указанный порт назначения должен быть
редко используемым (его можно изменить с помощью флага −p). Такой проблемы не существует при трассировке ICMP или TCP (для TCP используется полуоткрытая
техника, при которой приложения на узле назначения не видят попыток зондирования).

В современной сетевой среде традиционные методы трассировки маршрутов не всегда могут быть применены из−за широкого
распространения фильтрации пакетов. Они отбрасывают «редко используемые» порты UDP или даже ответы ICMP. Для решения этой проблемы используются несколько
дополнительных методов трассировки (включая tcp), см. ниже СПИСОК ДОСТУПНЫХ МЕТОДОВ. Такие методы пытаются использовать определённый протокол и порт
отправителя/получателя, чтобы обойти фильтры пакетов (чтобы фильтры пакетов рассматривали их просто как начало разрешённого типа сетевого сеанса).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector