Cd-m.ru

ПК Журнал СД-М
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

TRACERT; TCP/IP; Windows

Использование команды TRACERT для устранения неполадок TCP/IP в Windows

Microsoft Windows 2000 версия этой статьи 162326см.

Аннотация

В данной статье описывается TRACERT (Trace Route), служебная программа командной строки, который можно использовать для трассировки путь, который принимает пакет Internet Protocol (IP) до места назначения. В данной статье рассматриваются следующие вопросы:

Использование служебной программы TRACERT

Использование команды TRACERT для устранения неполадок

Сведения о параметрах команды TRACERT

Дополнительная информация

Использование служебной программы TRACERT

Диагностические программы TRACERT определяет маршрут к месту назначения, посылая эхо-сообщений протокола ICMP (Internet Control) пакетов в место назначения. В этих пакетов TRACERT использует разные значения IP Time To Live (TTL). Поскольку каждый маршрутизатор на пути обязан уменьшить значение поля TTL пакета, по крайней мере на 1 перед дальнейшей пересылкой пакета, значение TTL по сути является эффективным счетчиком переходов. Когда срок ЖИЗНИ пакетов достигает нуля (0), маршрутизатор посылает ICMP «Time Exceeded» сообщений на исходном компьютере. TRACERT отправляет первого эхо-пакета с TTL равным 1 и увеличивает значение TTL на 1 для каждого последующего отправляемого пока назначение не ответит или пока не будет достигнуто максимальное значение поля TTL. Сообщений ICMP «Time Exceeded», который промежуточные маршрутизаторы отправить назад отображается маршрут. Однако обратите внимание, что некоторые маршрутизаторы просто отбрасывать пакеты с истекшим сроком TTLs, и эти пакеты не видны для команды TRACERT. Команда TRACERT выводит упорядоченный список промежуточных маршрутизаторов, которые возвращают ICMP «Time Exceeded» сообщения. Параметр -d с помощью команды tracert программа TRACERT не требуется выполнять поиск в DNS для каждого IP-адреса, так, что команда TRACERT отображает IP-адрес ближних интерфейсов маршрутизаторов. В следующем примере команда tracert и ее результаты пакет проходит через два маршрутизатора (157.54.48.1 и 11.1.0.67), чтобы достигнуть узла 11.1.0.1. В этом примере основной шлюз — 157.54.48.1 и IP-адрес маршрутизатора в 11.1.0.0 сети находится в 11.1.0.67.The команды:

C:>tracert 11.1.0.1В результате выполнения команды: Tracing route to 11.1.0.1 over a maximum of 30 hops ————————————————— 1 2 ms 3 ms 2 ms 157.54.48.1 2 75 ms 83 ms 88 ms 11.1.0.67 3 73 ms 79 ms 93 ms 11.1.0.1 Trace complete.

Использование команды TRACERT для устранения неполадок

TRACERT можно использовать, чтобы узнать в каком месте сети останавливаются пакеты. В следующем примере основной шлюз обнаружил, что существует не правильный путь для размещения на 22.110.0.1. Вероятно, либо маршрутизатор имеет проблемы конфигурации или 22.110.0.0 сети не существует, отражая неправильный IP-адрес. Команда:

C: > tracert 22.110.0.1В результате выполнения команды: Tracing route to 22.110.0.1 over a maximum of 30 hops —————————————————— 1 157.54.48.1 reports: Destination net unreachable. Trace complete. TRACERT полезна для устранения неполадок в больших сетях, где несколько путей может привести к той же точке или где задействовано множество промежуточных компонентов (мосты или маршрутизаторы).

Сведения о параметрах команды TRACERT

Существует несколько параметров командной строки, которые можно использовать с помощью команды TRACERT, несмотря на то, что параметры не являются обычно требуются для стандартных неполадок. В следующем примере синтаксис команды показывает все возможные варианты:

Tracert -d -h максЧисло -j списокУзлов — w Таймаут target_hostЧто делают параметры: -d Specifies to not resolve addresses to host names -h maximum_hops Specifies the maximum number of hops to search for the target -j host-list Specifies loose source route along the host-list -w timeout Waits the number of milliseconds specified by timeout for each reply target_host Specifies the name or IP address of the target host

Команда tracert — что это и для чего используется?

Команда tracert используется многими пользователями практически так же часто, как и команда ping. С ее помощью можно проследить путь прохождения пакетов до заданной точки, то есть протрассировать маршрут пути пакета до конечного узла и выяснить, работоспособен ли он. Чем именно может быть полезна такая трассировка сети? С ее помощью вы сможете выяснить:

  • Количество узлов

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

  • Точку потери пакетов

Если вы решили купить vps сервер на Linux, то обратите внимание, что здесь будет использоваться команда под названием traceroute.

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

Читать еще:  Как перенести контакты с айфона на айфон? Легко!

Команда трассировки в CMD (в командной строке)

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

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

Как сделать трассировку до сервера?

Не знаете, как проверить трассировку до сервера? Тогда вам поможет приведенная ниже последовательность действий:

    Открывается командная строка

Сделать это можно по-разному:

  1. Если нужна команда трассировки в CMD, то командную строку можно вызвать, нажав сочетание клавиш Win+R, после чего набрав cmd и нажав клавишу Enter. Как вариант, вы можете нажать «Пуск» или клавишу Win, найти пункт «Выполнить», после чего набрать cmd и нажать клавишу Enter.
  2. Нажмите «Пуск» — «Программы» («Все программы») — «Стандартные» — «Командная строка».

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

Команда обладает следующим синтаксисом: tracert имя_узла, где имя_узла — имя трассируемого узла или хоста в сети. Также возможен вариант tracert IP_адрес, где IP_адрес — это IP адрес нужного вам хоста или узла. После ввода команды нажмите клавишу Enter.

После нажатия Enter запускается процесс выполнения команды. По его окончании вы получите отчет, в котором будут отображены все этапы прохождения пакета между узлами, а также время отклика каждого узла в миллисекундах. Ниже представлен пример того, как была проведена трассировка интернет-соединения с веб-ресурсом Yandex.ru.

Команда tracert определяет путь до хоста или узла, отправляя ICMP-сообщения. Именно они подразумеваются под так называемыми пакетами, хотя вернее было бы называть их эхо-запросами и эхо-ответами. При этом существуют определенные параметры команды tracert, которые не стоит изменять без четкого понимания преследуемой цели. Также существуют символы, которые используют протокол ICMP и отображаются в отчете. Давайте рассмотрим подробнее, какими они бывают и что означают:

  • ! Этот символ в одной из строчек означает, что соответствующий порт недоступен.
  • !N Данный символ означает недоступность сети.
  • !H Появление этого символа означает недоступность нужного узла.
  • !P Этот символ предупреждает об использовании недопустимого протокола.
  • !F Появляется в тех случаях, когда превышена допустимая длина отправленного или принятого пакета.
  • !X Данный символ появляется при обнаружении административного запрета на доступ к узлу, фильтру, прокси или любой другой точке.
  • * Появление этого символа означает, что данный узел не откликается.

Трассировка маршрута в Linux

Стоит уточнить, что tracert в неизменном виде используется только в ОС Windows. Трассировка на Маке или Unix-системах выполняется при помощи другой команды, и в данном случае аналогом tracert для Linux и MAC является команда traceroute. И если в ОС Windows используется ICMP протокол, то упомянутые выше системы используют UDP протокол. Но синтаксис команды при этом остается таким же: traceroute имя_домена или traceroute IP_адрес, где имя_домена — имя нужного узла, а IP_адрес — IP адрес нужного узла.

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

Пользуйтесь профессиональным хостингом, и время отклика ваших сайтов всегда будет минимальным!

Утилиты Traceroute и Tracert

Traceroute — это утилита, которая позволяет проследить маршрут следования данных до удалённого адресата в сетях TCP/IP. В Linux используется команда Traceroute, а в Windows — Tracert. При помощи этих команд можно увидеть путь пакета данных от вашего компьютера до целевого сервера или сайта.

Читать еще:  Как сделать тайм-код на Ютубе

Как работают Tracert и Traceroute

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

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

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

Tracert отправляет на хост назначения ICPM-запрос «Echo Request» с TTL=1. Первый маршрутизатор, который получит запрос, проверяет, кому он предназначен. Если маршрутизатор не является целевым хостом, он уменьшает TTL на 1, отбрасывает пакет и отправляет ICMP-сообщение источнику, так как время жизни теперь равно 0. В этом сообщении маршрутизатор указывает информацию о себе и причину дропа пакета. Получив сообщение, Tracert запоминает этот маршрутизатор как первый хоп (прыжок) и отправляет следующий пакет, но уже с TTL=2. Первый хоп успешно обрабатывает новый пакет, уменьшает время его жизни на 1 и передаёт дальше. Следующий маршрутизатор тоже выполняет проверку хоста назначения и, если пакет предназначен не ему, уменьшает TTL, отбрасывает пакет и отправляет ICMP-сообщение источнику. Tracert запоминает второй хоп, снова увеличивает TTL на 1 и отправляет следующий пакет. Эти действия будут повторяться до тех пор, пока пакет не достигнет целевого хоста. Когда запрос попадёт к целевому хосту, этот хост в ответ направит ICMP «Echo Reply». Источник воспримет это как завершение трассировки.

Утилита Traceroute вместо ICMP-запроса отправляет 3 UDP-пакета на определенный порт целевого хоста и ожидает ответа о недоступности этого порта. Первый пакет отправляется с TTL=1, второй с TTL=2 и так далее, пока запрос не попадёт адресату. Отличие от Tracert в том, как Traceroute понимает, что трассировка завершена. Так как вместо ICMP-запроса он отправляет UDP-запрос, в каждом запросе есть порт отправителя (Sourсe) и порт получателя (Destination). По умолчанию запрос отправляется на закрытый порт 34434. Когда запрос попадёт на хост назначения, этот хост отправит ответ о недоступности порта «Destination port unreachable» (порт назначения недоступен). Это значит, что адресат получил запрос. Traceroute воспримет этот ответ как завершение трассировки.

Если Tracert работает по протоколу ICMP, то какой протокол используется командой Traceroute? По умолчанию используется протокол UDP, но traceroute может отправить и ICMP-запрос «Echo Request», как Tracert. Такой способ пригодится, если хоп не отвечает на UDP-пакет.

Команда TRACERT: что это, отличие от PING, как пользоваться?

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

схема сети интернет

Утилита командной строки Traceroute – это инструмент, который используется для определения точного маршрута, по которому пакет данных проходит в сети Интернет от отправителя до места назначения.

При помощи команды tracert (Windows) или traceroute (Linux и Mac OS) вы легко и быстро можете определить где находится проблема, узкое место в передаче данных, задержка соединения с сервером. Также вы можете использовать утилиту, если вам просто интересно узнать какой путь проделывает пакет данных до места назначения.

Чем Tracert отличается от Ping?

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

отчет команды ping cmd

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

Читать еще:  Как понять, что тебя заблокировали в Инстаграме

Traceroute даст нам больше информации – утилита не только проверит наличие связи с конечным пунктом назначения, но и с каждым маршрутизатором на этом пути. Она измерит время приема-передачи пакетов данных от каждого встреченного на пути маршрутизатора.

Как пользоваться Tracert?

Для примера проследим путь от моего ПК до сайта Google. В командной строке ввожу:

  • tracert google.com – для систем на базе Windows
  • traceroute google.com – для систем на базе Linux и Mac OS

Вместо доменного имени вы можете также ввести ip-адрес удаленного сервера.

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

отчет утилиты tracert

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

В крайнем левом столбце указано количество hops (хопов, узлов, прыжков) пройденных до пункта назначения. Следующие три столбца показывают время прохождения каждого пакета данных до каждого узла и обратно.

анализ полученных данных

Как видим, на первом этапе передача пакетов произошла менее чем за 1 ms. Первой точкой перехода был мой домашний модем-роутер (маршрутизатор). Этот маршрут самый короткий и быстрый, поскольку он проходит в пределах моей локальной сети. Но как только данные попадают в Интернет (второй прыжок), время приема-передачи значительно увеличивается. И чем дальше пакеты данных должны пройти к каждому маршрутизатору, тем больше времени будет затрачено на это.

Достижение конечного пункта назначения будет самым длительным этапом. Его значение будет соответствовать результату, полученному при помощи команды Ping. Потому что, как вы помните, ping отображает только время достижения конечного пункта на пути следования пакетов данных.

сравнение tracert и ping

Последний столбец отчета traceroute сообщает IP-адрес или доменное имя каждого встреченного маршрутизатора.

Как установить проблему при помощи трассировки?

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

отчет ping говорит о наличии проблемы

Проблема есть, но на каком именно этапе прохождения пакетов данных она возникает команда Ping не показывает.

Утилита Tracert поможет определить корень проблемы. Проанализируем отчет трассировки:

как анализировать отчет tracert

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

Что означают звездочки в отчете?

Иногда в отчете трассировки вы можете заметить звездочки, исходящие от маршрутизатора.

звездочки в отчете

Это может означать как наличие проблемы с данным маршрутизатором, так и то, что он работает нормально, но не был настроен для возврата ответов tracert. Узел принял и передал пакеты в штатном режиме, но просто не сообщил затраченное на это время.

Что такое TTL?

После запуска tracert в окне командной строки можно прочесть такую фразу: «с максимальным числом прыжков 30» (на русском или английском).

что значит ttl

Количество таких прыжков (hops) определяет параметр TTL (Time To Live), или время жизни. Он задает то, как долго переданные пакеты данных могут жить прежде чем будут отброшены. По умолчанию задаётся 30 прыжков. Если пакеты не достигают цели через 30 переходов, они автоматически отбрасываются.

tracert –h 4 google.com

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

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

Для чего вообще нужен TTL? TTL способен предотвратить бесконечное перемещение пакета данных по сети Интернет в попытках найти пункт назначения. Такое может случиться, если некоторые маршрутизаторы в Интернет были неправильно настроены, и данные могут попасть в бесконечный цикл между этими маршрутизаторами без перспективы «прорваться» на следующий узел на своем пути до цели.

Получается так, что эти «неправильные» маршрутизаторы заняты постоянной обработкой присланных однажды пакетов, что мешает обработке последующих.

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