Использование трассировки TCP/IP на базе Windows

Опубликовано: 25 Марта, 2023
Использование трассировки TCP/IP на базе Windows

Эта утилита TCP/IP позволяет вам определить маршрут, по которому пакеты проходят через сеть для достижения определенного узла, который вы укажете. Tracert работает, увеличивая значение «время жизни» (TTL) каждого последующего отправленного пакета. Когда пакет проходит через хост, хост уменьшает значение TTL на единицу и пересылает пакет следующему хосту. Когда пакет с TTL, равным единице, достигает узла, узел отбрасывает пакет и отправляет сообщение о превышении времени ICMP. Tracert, при правильном использовании, может помочь вам найти точки в вашей сети, которые либо маршрутизируются неправильно, либо вообще не существуют.

Введение

Tracert — это инструмент командной строки на базе Windows, который можно использовать для отслеживания пути, по которому пакет интернет-протокола (IP) идет к месту назначения от источника. Tracert определит путь к месту назначения. Он делает это, отправляя сообщения эхо-запроса протокола управляющих сообщений Интернета (ICMP) адресату. При отправке трафика в пункт назначения он постепенно увеличивает значения поля «Время жизни» (TTL), чтобы помочь найти путь к этому адресу назначения. Путь намечен из этого процесса.

Используя следующую иллюстрацию, давайте посмотрим, как tracert будет работать в производственной сети.

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

Как вы видели на последней иллюстрации, мы будем отправлять трафик с тестовой рабочей станции с сайта B на сервер на другом сайте (сайт A). Пакеты будут проходить через глобальную сеть (WAN), которая разделяет два сайта по T1 с резервным каналом через цифровую сеть с интеграцией служб (ISDN). Чтобы использовать утилиту tracert, вам просто нужно знать, какой у вас IP-адрес назначения и как правильно использовать утилиту tracert, а также что искать в результатах.

Tracert работает, манипулируя временем жизни (TTL). Увеличивая TTL, а затем уменьшая значение каждого маршрутизатора по мере того, как он отправляет его следующему маршрутизатору, вы получите количество переходов от вашего источника до пункта назначения. Переход маршрутизатора будет пакетом, отправленным от одного маршрутизатора к другому маршрутизатору — это переход. Когда TTL пакета достигает нуля (0), маршрутизатор отправляет ICMP-сообщение «Time Exceeded» обратно на исходный компьютер. Вы можете увидеть пример нашей примерной сети на следующей иллюстрации; с исходным и целевым IP-адресами… мы будем использовать рабочую станцию на сайте B и сервер на сайте A для нашего теста.

На этом рисунке видно, что исходный IP-адрес будет 10.1.2.4, а конечный (для этого примера) — 10.1.1.6. Обычный маршрут, по которому должны проходить пакеты, — от сайта B к сайту A по каналу с более высокой пропускной способностью, T1 (1,544 Мбит/с). Канал ISDN имеет скорость 128 Кбит/с и используется в качестве резервного на случай отказа основного канала. Tracert после запуска и использования сможет показать вам, что отправленные пакеты будут начинаться с сайта B, ПК с 10.1.2.4, а затем проходить по T1 до 10.1.1.1. Этот маршрутизатор будет знать, как отправлять пакеты в свою локальную сеть (10.1.1.0) и, в конечном счете, в 10.1.1.6.

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

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

Работа tracert заключается в том, что после запуска и использования tracert будет сообщать (распечатывать) список в том порядке, в котором он получил ответ от каждого хоста, который он прошел на пути к назначенному месту назначения. Это хорошо, потому что вы можете многому научиться на этом пути. Если вы получаете интерфейсы «ближней стороны», то на следующем рисунке вы увидите новый набор IP-адресов (192.168.10.1 и 192.168.11.1). 10.1 используется для канала ISDN, а 11.1 — для канала T1. Почему это важно?

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

Например, путь, как вы видите на последнем рисунке, идет от 10.1.2.4, а затем к 10.1.2.1 (шлюз локальной сети по умолчанию), а затем он проходит через глобальную сеть к 10.1.1.1. Единственная проблема здесь в том, что вы не увидите этот адрес. Поскольку у T1 есть интерфейс на маршрутизаторе сайта A (11.1), а также канал ISDN (10.1), эти два IP-адреса являются наиболее важными в результатах tracert — это потому, что в этом примере T1 может не работает, и теперь путь проходит по каналу ISDN. Это работает «как рекламируется», но что происходит, когда вы снова подключаете T1 к сети — помимо ощущения сканирования вашей сети при переходе от T1 со скоростью 1,544 Мбит/с к 128 Кбит/с — вы больше не должны использовать канал ISDN. Это то, что мы собираемся проверить…

Трассовый тест

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

Пуск => Выполнить => CMD => трассировка

(примечание — вы должны ввести tracert, так как вы можете видеть, что traceroute работает только в UNIX/Linux и других системах, таких как Cisco и т. д.)

В следующем примере команды tracert и ее выходных данных пакет проходит через два маршрутизатора (как показано на последнем рисунке), чтобы добраться до узла 10.1.1.6. В этом примере шлюз по умолчанию с сайта B — 10.1.2.1, а IP-адрес маршрутизатора в глобальной сети через каналы T1 и ISDN (соответственно) — 192.168.11.1 и 192.168.10.1.

Давайте сначала посмотрим, как это должно выглядеть с использованием T1.

C:>трассировать 10.1.1.6
Отслеживание маршрута до 10.1.1.6 с использованием не более 30 прыжков
—————————————————
1 2 мс 3 мс 2 мс 10.1.2.1
2 25 мс 83 мс 88 мс 192.168.11.1
3 25 мс 79 мс 93 мс 10.1.1.6

Трассировка завершена.

Теперь, если T1 был недоступен, и вы использовали канал ISDN, вы можете увидеть, что существует другой «путь», и вы также можете увидеть, что путь туда занимает «больше времени».

C:>трассировать 10.1.1.6
Отслеживание маршрута до 10.1.1.6 с использованием не более 30 прыжков
—————————————————
1 2 мс 3 мс 2 мс 10.1.2.1
2 75 мс 83 мс 88 мс 192.168.10.1
3 75 мс 79 мс 93 мс 10.1.1.6

Трассировка завершена.

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

Использование параметров трассировки

Чтобы использовать tracert, помните о нескольких параметрах, которые вы можете с ним использовать. Самый полезный - первый. Использование параметра –d всегда полезно, если вы хотите удалить разрешение DNS. Серверы имен полезны, но если они недоступны или неправильно настроены, или если вам просто нужен IP-адрес хоста, используйте параметр –d.

Предотвращает попытки tracert преобразовать IP-адреса промежуточных маршрутизаторов в их имена. Это может ускорить отображение результатов tracert.
-час Указывает максимальное количество прыжков на пути для поиска цели (назначения). По умолчанию 30 переходов.
-j Вы можете использовать это со списком хостов (HostList). Указывает, что в сообщениях эхо-запроса используется параметр «Свободный исходный маршрут» в заголовке IP с набором промежуточных пунктов назначения, указанным в HostList. При свободной маршрутизации источника последовательные промежуточные пункты назначения могут быть разделены одним или несколькими маршрутизаторами. Максимальное количество адресов или имен в списке хостов равно 9. Список хостов представляет собой серию IP-адресов (в десятичной записи с точками), разделенных пробелами.
-w Указывает количество времени в миллисекундах для ожидания получения сообщения ICMP Time Exceeded или Echo Reply, соответствующего данному сообщению Echo Request. Если сообщение не получено в течение времени ожидания, отображается звездочка (*). Время ожидания по умолчанию составляет 4000 (4 секунды).
-? Отображает справку в командной строке.

tracert [-d] [-h Максимальное количество прыжков] [-j Список хостов] [-w Время ожидания] [Имя_назначения]

Как использовать Tracert для устранения неполадок

Могут быть случаи, когда результат, который вы получаете, не так ясен для вас. Например, что делать, если вы получите звездочку? Как только что упоминалось в последнем разделе, звездочка может быть ложным срабатыванием, потому что пакет ICMP может пройти, но что-то мешает возврату отчета, скорее всего, правило брандмауэра или список контроля доступа.

Вы можете использовать tracert, чтобы узнать, где в сети остановился пакет. В следующем примере шлюз по умолчанию обнаружил, что нет допустимого пути ни для одного хоста. Это будет означать, что оба канала не работают — T1 и ISDN, и пункт назначения недоступен.

C:>трассировать 10.1.1.6
Отслеживание маршрута до 22.110.0.1 с использованием не более 30 прыжков
——————————————————
1 10.1.2.1 сообщает: Сеть назначения недоступна.

Трассировка завершена.

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

Как только что упоминалось, поскольку пути нет, ближайший к источнику маршрутизатор информирует источник об отсутствии пути.

Важные заметки

Вот несколько важных заметок, которые я составил, чтобы помочь вам узнать больше о tracert.

  • Tracert также не поможет вам найти «задержку». Чтобы отследить путь и определить задержку в сети и потерю пакетов для каждого маршрутизатора и канала на пути, используйте команду pathping. Посетите мой авторский раздел на этом сайте, чтобы узнать о пути.
  • Tracert доступен только в том случае, если протокол Интернет-протокола (TCP/IP) установлен как компонент в свойствах сетевого адаптера в сетевых подключениях. Это утилита TCP/IP, которая использует ICMP, протокол из набора протоколов TCP/IP.
  • В современных дистрибутивах Linux утилита traceroute (не tracert, хотя некоторые системы Linux также позволяют использовать tracert!) использует дейтаграммы UDP с номером порта 33434. Windows использует эхо-запрос ICMP (тип 8), более известный как ping-пакеты.
  • Прочтите RFC 792 для получения дополнительной информации о ICMP и его внутреннем устройстве.

 

Резюме

В этой статье мы рассмотрели основы tracert. Tracert (также известный как traceroute) — это инструмент на базе Windows, который позволяет вам тестировать вашу сетевую инфраструктуру. В этой статье мы рассмотрели и рассмотрели, как использовать tracert при устранении реальных проблем, таких как множественные пути или неработающие ссылки. Это поможет усилить полезность инструмента и покажет вам способы его использования при работе в ваших собственных сетях. Эта утилита TCP/IP позволяет вам определить маршрут, по которому пакеты проходят через сеть для достижения определенного узла, который вы укажете. Tracert работает, увеличивая значение «время жизни» (TTL) каждого последующего отправленного пакета. Когда пакет проходит через хост, хост уменьшает значение TTL на единицу и пересылает пакет следующему хосту. Когда пакет с TTL, равным единице, достигает хоста, хост отбрасывает пакет и отправляет сообщение о превышении времени ICMP. Tracert, при правильном использовании, может помочь вам найти точки в вашей сети, которые либо маршрутизируются неправильно, либо вообще не существуют. Tracert (и traceroute) — это инструмент, которым вы должны овладеть, если планируете работать с сетями. Его (вместе с ping и pathping) можно использовать для упрощения отображения и устранения неполадок в сети. Оставайтесь с нами, чтобы узнать больше!

Ссылки и справочные материалы

Основы протокола управляющих сообщений Интернета (ICMP)
http://support.microsoft.com/kb/170292/EN-US/

Охватывает следующее;

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

 

Использование TRACERT с опцией маршрутизации со свободным источником
http://support.microsoft.com/default.aspx?scid=kb;en-us;169206

Информация о трассировке IPv6
http://www.microsoft.com/technet/prodtechnol/windowsserver2003/library/ServerHelp/7707957f-68a9-45b8-a3a7-abae340bd179.mspx

Трассировка в MSDN
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcecomm5/html/wce50lrfTracert.asp

RFC 792 (ICMP)
http://www.faqs.org/rfcs/rfc792.html

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