Servisneva.ru

Сервис Нева
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

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

Команда tracert

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

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

Что такое команда Tracert

Эта команда изначально доступна в системе Windows через командную консоль, как в командной строке, так и в Windows PowerShell . Мы также обычно знаем его как Traceroute в случае команды в Linux или просто трассировки.

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

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

Unix: что такое traceroute

Оригинал и полная версия доступна тут>>>.

Основы traceroute

«Просмотр результатов traceroute схож с наблюдением с высоты птичьего полета за движением автомобиля из одной точки в другую: вы видите каждую из дорог (маршрутов) и перекрестков (роутеров), которые встречаются по пути» (с) Richard Steenbergen, NANOG presentation.

Каждая строка в выводе traceroute представляет собой один «прыжок» («hop«) через роутер и отображает путь, который прошел пакет от источника до заданного направления. По умолчанию — большинство реализаций traceroute выполняет три обращения к каждому роутеру («хопу»), отображая три значения его «отзывчивости», измеряемые в милисекундах.

В некоторых случах — эти обращения к хопу могут пройти по различным каналам (хопы 1-4 и 8-9 в примере ниже), что приведет к отображению нескольких строк результата для хопа:

Как работает traceroute

Внутри каждого IP-пакета имеется поле, известное как TTLTime To Live. Это поле содержит значение «времени жизни» пакета, измеряемое в количестве пройденных этим пакетом хопов (роутеров) и используется для предотвращения закольцовывания маршрута и бесконечного потребления сетевых ресурсов, ограничивая количество хопов, через которые может быть пропущен этот пакет.

Читать еще:  Как открыть файл формата EPS

Частью роутинга IP пакетов является уменьшение значения TTL пакета на 1 каждый роутером, который его обрабатывает. Если значение достигает значения 0 — пакет отбрасывается, а отправителю отправляется сообщение ICMP TTL Exceeded (ICMP тип 11), уведомляя о сбросе пакета. traceroute использует эту неотъемлемую часть процесса роутинга пакетов IP для составления «карты» с каждым роутером, который проходит пакет, отправляя серию «зондирующих» пакетов, TTL которых должен истекать до достижения точки назначения и подсчитывая количество полученных сообщений ICMP TTL Exceeded:

traceroute_1

Каждый такой зондирующий пакет следует следующей схеме:

  1. traceroute отправляет пакет к точке назначения, устанавливая TTL равным 1;
  2. каждый роутер в маршруте уменьшает значение TTL на единицу, пока TTL не достингнет нуля;
  3. когда TTL становится == 0 то роутер, который отбрасывает этот пакет, отправляет отправителю сообщение ICMP TTL Exceeded, в которое включаются первые 28 байт оригинального «зондирующего» пакета;
  4. traceroute получает это сообщение и использует разницу во времени между отправкой оригинального пакета и полученным в ответ пакетом ICMP для посчета задержки доставки к этому роутеру/хопу;
  5. процесс повторяется с п. 1, но с TTL увеличенным на 1, пока…
  6. окончательный получатель получает пакет от traceroute и отправляет в ответ сообщение, отличное от ICMP TTL Exceeded. Тогда traceroute считает, что трассировка завершена и заверает процесс.

И результат tcpdump :

  • в результатах видно значение TTL, которое увеличивается от 1 в первом пакете — IP (tos 0x0, ttl 1) и в последнем — IP (tos 0x0, ttl 12) , всего 11 хопов
  • порт назначения для первого пакета: 93.158.134.3.33434
  • ответ ICMP TTL Exceeded: 93.158.134.3 > 192.168.1.149: ICMP time exceeded in-transit

Какие хопы вы видите в результатах traceroute ?

Когда роутер отбрасывает пакет из-за истекшего значения TTL — он создает сообщение ICMP TTL Exceeded, в котором указывается IP-адрес интерфейса источника пакета, который получил оригинальный пакет. Далее, когда traceroute получает этот ICMP ответ — он использует адрес источника для преставления очередного роутера:

traceroute_2

В примере выше маршрут, который отобразит traceroute , будет:

  1. 172.16.2.1
  2. 10.3.2.2

Важно помнить, что traceroute не предоставляет никакой информации об «исходящих» интерфейсах роутра или об обратном пути пакета ICMP.

Реализации traceroute

Фактически — любой тип пакетов IP может использоваться как «зондирующий» пакет traceroute , так как единственное требование — это наличие поля TTL.

Читать еще:  Как узнать свой пароль от Wi Fi на компьютере

Что Вы можете сделать с помощью Ping

Теперь, когда Вы знаете, как использовать эту команду, вот некоторые интересные вещи, которые Вы можете сделать с ней:

  • Ping URL (например, guidepc.ru) или IP-адрес, чтобы узнать, можете ли Вы добраться до интернет-адресата. Если Вы получите успешный ответ, Вы знаете, что все сетевые устройства между Вами и этим получателем работают, включая сетевой адаптер на Вашем компьютере, Ваш маршрутизатор и любые устройства в Интернете между Вашим маршрутизатором и пунктом назначения. И если Вы заинтересованы в дальнейшем изучении этих маршрутов, Вы можете использовать другой сетевой инструмент с именем tracert, чтобы сделать это.
  • Ping URL-адреса, чтобы увидеть его IP-адрес. Если Вы хотите узнать IP-адрес для определенного URL-адреса, Вы можете отправить URL-адрес. Инструмент ping показывает Вам вверху IP-адрес, с которым он работает.
  • Ping Вашего маршрутизатора, чтобы увидеть, можете ли Вы достичь его. Если Вы не можете успешно выполнить ping интернет адреса, Вы можете попробовать выполнить ping-соединение с Вашим маршрутизатором. Успешный ответ позволяет узнать, что Ваша локальная сеть работает нормально, и проблема, связанная с доступом к интернет-сайту, находится где-то вне Вашего контроля.
  • Ping Вашего loopback-адреса (127.0.0.1). Если Вы не можете успешно выполнить ping роутера, но Ваш маршрутизатор, похоже, включен и работает, Вы можете попробовать ping так называемый loopback адреса. Этот адрес всегда 127.0.0.1, и его успешное тестирование позволяет узнать, что сетевой адаптер на Вашем компьютере (и сетевое программное обеспечение в Вашей ОС) работает правильно.

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

В приведенном выше списке используется внешний подход, когда Вы сначала отправляете запрос на самый удаленный пункт назначения, а затем прокладываете путь к более локальным устройствам. Некоторым людям нравится работать наоборот, сначала пинг loopback адреса, затем маршрутизатор (или другое локальное устройство), а затем интернет-адрес.

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

Читать еще:  Как конвертировать XLSX в XLS онлайн

Когда вы пытаетесь открыть сайт, браузер отправляет сообщение (запрос) серверу, на котором этот сайт находится. Сообщение на своём пути проходит через маршрутизаторы. Они решают, куда дальше передать сообщение, чтобы гарантированно его доставить адресату.

В трассировке маршрутизаторы ещё называют хопами (хоп — прыжок) или узлами. Количество узлов, через которые на своём пути пройдёт запрос, можно узнать при помощи утилит Tracert и Traceroute. Узлы, которые не являются целевыми для запроса, называют транзитными.

Утилита Traceroute формирует UDP-датаграмму (сообщение, которое нужно доставить целевому серверу), упаковывает её в IP-пакет и передаёт первому транзитному узлу. В заголовке такого IP-пакета есть поле TTL (Time To Live) — время жизни пакета.

Оно определяет количество хопов, через которые пакет может пройти. На каждом узле TTL уменьшается на единицу. Если на пути к удалённому адресату время жизни пакета станет равно 0, маршрутизатор отбросит пакет и отправит источнику ICMP-сообщение об ошибке «Time Exceeded» (время истекло).

Этот принцип лежит в основе работы утилит Tracert и Traceroute, однако между ними есть отличия. Рассмотрим каждую утилиту отдельно.

Отправка вывода в файл

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

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

strace -o трассировка-output.txt ./stex

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

Теперь вы можете использовать все возможности поиска less для исследования результатов.

Утилита MTR

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

Версия утилиты для Windows имеет название WinMTR и распространяется бесплатно.

что проверяет команда tracert

Пользователям Linux также придется MTR устанавливать дополнительно из репозиториев. В этих операционных системах обычно используется консольная версия утилиты. Пользователю доступны разнообразные параметры, позволяющие задать количество отправляемых пакетов, запись отчета в файл, таймаут. Также версия для Linux может использовать для тестирования определенные порты или TCP-пакеты.

голоса
Рейтинг статьи
Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector