Определение
Трассировка – по сути это тестирование, при котором пользователь может увидеть, по какому пути проходит пакет данных до конечного сервера. То есть через какие узлы он проходит и с какой задержкой. Например, при стандартной команде «Ping» вы получите информацию о времени отклика или время отправки и приема пакета. А при трассировке вы увидите через какие IP узлов проходит этот самый пакет до конечного сервера.
Часто данной утилитой пользуются инженеры или системные администраторы, чтобы выявить слабые стороны сети. В общем, штуковина полезная почти для всех. Далее я расскажу, как сделать трассировку до сайта или до выделенного игрового сервера, а также как вообще ею пользоваться.
Что такое трассировка к IP адресу
Когда вы заходите на любой сайт в интернете, ваш компьютер в этот момент посылает запрос к серверу. Путь этот проходит сквозь маршрутизаторы. Если все прошло успешно, тогда нужный сайт отобразится у вас в браузере. Если нет — появится уведомление об ошибке.
Соединение с сайтом может не произойти по разным причинам: сам веб-ресурс не работает, запрос со стороны компьютера не дошел до конечного сервера, потерявшись в промежуточных узлах связи, и т. д. Чтобы точно определить причину, по которой не удалось загрузить сайт, стоить выполнить трассировку IP-адреса.
Traceroute (трассировка) представляет собой утилиту сетевой диагностики. С ее помощью удается записать маршрут или конкретные компьютеры шлюза во время каждого перехода в интернете. Трассировка записывает все запросы между компьютером пользователя и другим пунктом назначения, куда направляются эти запросы. С помощью технологии Traceroute удается рассчитать и определить, сколько времени понадобилось на каждый прыжок. Также трассировка IP помогает отследить весь путь запроса до места назначения.
Назначение и применение Tracert на практике
Tracert – не просто некая абстрактная команда, которую понимает командная строка, а полноценная программа. Точнее, служебное консольное (не имеющее оконного интерфейса) Windows-приложение, предназначенное для определения пути, по которому направляются сетевые пакеты от одного узла к другому. Имя приложения образовано от «trace route», что означает «трассировка маршрута».
Программа Tracert является собственным компонентом Windows (устанавливается на компьютер вместе с ОС), ее исполняемый файл – TRACERT.exe, постоянно находится в папке %windir%/system32.
Для простоты понимания работы трассировщика представим сетевой пакет как обычную посылку, которую вы отправили по почте в соседний город. На пути следования к адресату (конечному узлу), посылка делает несколько остановок на сортировочных пунктах (промежуточных узлах), где ее регистрируют и отсылают дальше. Вы, как отправитель, зная почтовый трек-номер посылки, можете следить за ее передвижением на специальных сайтах. Если отправление вовремя не доставлено, вы легко узнаете, на каком этапе пути оно потерялось.
Подобным образом работает и Tracert. Только он предоставляет информацию о не почтовых, а о сетевых отправлениях.
Обратите внимание на сходство этих записей:
Трассировка применяется как один из инструментов комплексной диагностики сетевых сбоев. Так, с ее помощью можно определить:
- На каком уровне происходит блокировка недоступного веб-ресурса: на уровне домашней сети (пакеты не отсылаются дальше шлюза), в сети провайдера или за ее пределами.
- Где пакеты сбиваются с правильного маршрута. Например, причиной того, что вместо запрашиваемого сайта открывается страница с рекламой, может быть и вредоносная программа на компьютере пользователя, и перенаправление с какого-либо сетевого узла.
- Является ли веб-ресурс тем, за что себя выдает.
Как работает трассировка
Как вы знаете, приложение запускается и выполняется в командной строке Windows. Чаще всего оно используется без дополнительных параметров. Команда трассировки маршрута к нужному веб-ресурсу выглядит так:
tracert URL_сайта или IP_сайта. Например, tracert Mts.ru, tracert 91.216.147.50
Ответом на нее будет примерно следующее:
Ниже я поясню, что означают эти числа и записи, а сначала, чтобы было понятно, рассмотрим принцип работы трассировщика.
Как только вы введете вышеуказанную инструкцию в командную сроку и нажмете Enter, приложение отправит заданному веб-ресурсу серию из трех ICMP-пакетов. В одном из служебных полей каждого пакета указано значение TTL – количество допустимых передач между узлами сети или, как говорят,«время жизни» запроса. При переходе отправления от роутера к роутеру значение TTL уменьшается на единицу. Когда оно достигает нуля, пересылка прекращается, пакет отбрасывается, а компьютер-отправитель получает об этом ICMP-уведомление.
Значение TTL первой партии ICMP-запросов равно 1. Первый же узел, на который она поступит, вычтет из этого значения единицу. Так как «время жизни» пакетов станет равным нулю, они будут выброшены «на свалку истории», а отправитель получит ответное «письмо» с указанием имени и IP-адреса этого узла.
Значение TTL второй партии будет равно двум (ответ будет получен от второго узла), третьей – трем и т. д. Отправка с увеличением TTL на 1 будет продолжаться до тех пор, пока данные не получит адресат.
Как сделать трассировку до сервера?
Не знаете, как проверить трассировку до сервера? Тогда вам поможет приведенная ниже последовательность действий:
- Открывается командная строка
Сделать это можно по-разному:
- Если нужна команда трассировки в CMD, то командную строку можно вызвать, нажав сочетание клавиш Win+R, после чего набрав cmd и нажав клавишу Enter. Как вариант, вы можете нажать «Пуск» или клавишу Win, найти пункт «Выполнить», после чего набрать cmd и нажать клавишу Enter.
- Нажмите «Пуск» — «Программы» («Все программы») — «Стандартные» — «Командная строка».
Независимо от способа открытия, в итоге вы получаете доступ к командной строке.
- Вводится команда tracert в командной строке
Команда обладает следующим синтаксисом: tracert имя_узла, где имя_узла — имя трассируемого узла или хоста в сети. Также возможен вариант tracert IP_адрес, где IP_адрес — это IP адрес нужного вам хоста или узла. После ввода команды нажмите клавишу Enter.
- Анализируется результат выполнения команды
После нажатия Enter запускается процесс выполнения команды. По его окончании вы получите отчет, в котором будут отображены все этапы прохождения пакета между узлами, а также время отклика каждого узла в миллисекундах. Ниже представлен пример того, как была проведена трассировка интернет-соединения с веб-ресурсом Yandex.ru.
Команда tracert определяет путь до хоста или узла, отправляя ICMP-сообщения. Именно они подразумеваются под так называемыми пакетами, хотя вернее было бы называть их эхо-запросами и эхо-ответами. При этом существуют определенные параметры команды tracert, которые не стоит изменять без четкого понимания преследуемой цели. Также существуют символы, которые используют протокол ICMP и отображаются в отчете. Давайте рассмотрим подробнее, какими они бывают и что означают:
- ! Этот символ в одной из строчек означает, что соответствующий порт недоступен.
- !N Данный символ означает недоступность сети.
- !H Появление этого символа означает недоступность нужного узла.
- !P Этот символ предупреждает об использовании недопустимого протокола.
- !F Появляется в тех случаях, когда превышена допустимая длина отправленного или принятого пакета.
- !X Данный символ появляется при обнаружении административного запрета на доступ к узлу, фильтру, прокси или любой другой точке.
- * Появление этого символа означает, что данный узел не откликается.
Вызов командной строки в операционной системе Windows
- Запустить меню «Пуск», далее выбрать пункт «Все программы/приложения», в котором кликнуть по подпункту «Служебные» и выбрать приложение «Командная строка».
- Запустить меню «Пуск», выбрать пункт «Выполнить», в открывшемся диалоговом окне набрать «cmd» и нажать Enter, тем самым запустив окно командной строки.
Сетевая команда для проверки пинга сервера
Сетевая команда Telnet
Для того, чтобы выполнить эту команду, в командную строку необходимо ввести Telnet и далее через пробелы адрес серверного компьютера и номер желаемого порта, и потом нажать клавишу «Enter».
В случае появления пустого экрана и мигающего курсора, соединение с требуемым узлом было осуществлено успешно.
Если же соединение установить не удается, то в окне появится соответствующее сообщение.
Параметры и ключи утилиты TRACERT
tracert [-d] [-h максимальное_число_переходов] [-j список_узлов] [-w интервал [имя_конечного_компьютера]
- -d — Предотвращает попытки команды tracert разрешения IP-адресов промежуточных маршрутизаторов в имена. Увеличивает скорость вывода результатов команды tracert.
- -h максимальное_число_переходов — Задает максимальное количество переходов на пути при поиске конечного объекта. Значение по умолчанию равно 30.
- -j список_узов — Указывает для сообщений с эхо-запросом использование параметра свободной маршрутизации в заголовке IP с набором промежуточных мест назначения, указанных в списке_узлов. При свободной маршрутизации успешные промежуточные места назначения могут быть разделены одним или несколькими маршрутизаторами. Максимальное число адресов или имен в списке — 9. Список_адресов представляет набор IP-адресов (в точечно-десятичной нотации), разделенных пробелами.
- -w интервал — Определяет в миллисекундах время ожидания для получения эхо-ответов протокола ICMP или ICMP-сообщений об истечении времени, соответствующих данному сообщению эхо-запроса. Если сообщение не получено в течение заданного времени, выводится звездочка (*). Таймаут по умолчанию 4000 (4 секунды).
- имя_конечного_компьютера — Задает точку назначения, указанную IP-адресом или именем узла.
- -? — Отображает справку в командной строке по утилите tracert.
Основные особенности команды Tracert
- Данная команда может определить точный путь при помощи отправки ICMP-сообщений и вывести на дисплей сведения относительно каждого пройденного маршрутизатора и времени обмена информацией с ними, однако фильтрование пакетов шлюзами безопасности может запретить передачу подобной информации.
- В случае неудачной трассировки маршрута при помощи tracert, основываясь на результатах, можно точно выяснить, какой из промежуточных маршрутизаторов не выполняет перенаправление информации или осуществляет это медленно.
- Для того, чтобы получить подробные сведения относительно перенаправления и потери пакетов на каждом из маршрутизаторов, по которым идет запрос, можно использовать специальную команду «pathping».
- Для того, чтобы tracert не осуществляла вывод на дисплей имен всех маршрутизаторов, можно использовать параметр «-d», что позволяет существенно упростить вид пути следования запроса.
Примеры команды TRACERT
- Чтобы отобразить справку в командной строке по команде введите: tracert /?
- Чтобы выполнить трассировку пути к узлу, введите команду: tracert ya.ru;
- Чтобы выполнить трассировку пути к узлу и предотвратить разрешение каждого IP-адреса в имя, введите: tracert -d ya.ru.
Как читать результат трассировки
Вернемся к анализу вывода Tracert. Мой запрос к сайту Yandex.ru совершил 16 прыжков – прошел через 15 «перевалочных пунктов» и шестнадцатым шагом достиг конечной цели. Порядковые номера прыжков отображены в столбце, обведенном красной рамкой. По умолчанию их максимальное число составляет 30.
Второй, третий и четвертый столбцы содержат значения RTT – времени, прошедшего от момента отправки запроса до получения ответа (как вы помните, партия состоит из трех пакетов). Чем оно меньше, тем быстрее осуществляется передача. Если оно больше 4 секунд, интервал ожидания считается превышенным.
Последний столбец – это имена и адреса промежуточных и конечного узлов.
Звездочки вместо значений не всегда указывают на недоступность или неисправность сетевого устройства (как пишут в некоторых источниках). Чаще всего это просто настройка, не позволяющая отправлять ответные ICMP-сообщения (меры по защите веб-узла от DDoS-атак). Если ваш запрос благополучно достиг конечной точки за приемлемое время, беспокоиться не о чем.
Причиной сбоя доставки ICMP-пакетов (если запрос так и не дошел до адресата) может быть неработоспособность (отключение или неисправность) сетевого устройства или политика безопасности (блокировка данного действия администратором сети).
Если у вас Windows
-
Откройте меню «Пуск», кликните по пункту Выполнить или нажмите сочетание клавиш Win + R.
-
В поиске введите команду «cmd» и кликните Enter.
-
В открывшемся окне терминала введите команду:
tracert имя_сайта (домен) или tracert IP_сервера.
Linux
Итак, в Windows мы уже разобрались, что трассировку выполняет утилита «tracert.exe». В Linux утилита имеет другое название: «traceroute», – и также выполняет данную функцию, но немного по-другому.
Вспомним немного как работает tracert на примере нижней картинки:
- Host отправляет узлу «Router1» запрос с TTL = 1.
- Запрос приходит на «Router1», и он, видя, что TTL равен всего одному, его уменьшает и отправляет ответ.
- Ответ приходит от первого узла и Host записывает его в таблицу трассировки.
- Далее идет запрос на второй узел уже с TTL увеличенным на один.
- Так продолжается до тех пор, пока запрос не дойдет до конечного сервера. Все это делается на основе ICMP протокола.
А проблем в том, что у «tracert» нет возможности сделать запрос с портом, что делает его немного узконаправленным. «Traceroute» работает на основе совершенно другого протокола – UDP. По сути UDP протокол делает запрос именно по портам. А окончание трассировки при достижении пакетом конечного узла происходит в том случае, когда при каждом шаге при увеличении номера порта он становится закрытым на конечном сервере.
Запускаем программу аналогично через консоль. Также у неё есть свои параметры.
Кстати, есть возможность при трассировке использовать не UDP, а ICMP протокол, для этого нужно дописать параметр «-I».
Но что делать, если надо на Windows сделать трассировку по UDP протоколу и использование портов? Для этого нужно будет использовать стороннюю микропрограмму: «tcptrace». Для трассировки маршрута по TCP (и UDP) можно использовать «tcptraceroute».
Если у вас MacOS
-
В Spotlight выберите и запустите сетевую утилиту Network Utility.
-
В открывшемся окне перейдите на нужную вкладку.
На вкладке Traceroute введите имя домена (или IP-адрес) и кликните Отследить:
[spoiler title=»Источники»]
- https://WiFiGid.ru/poleznoe-i-interesnoe/trassirovka
- https://free.proxy-sale.com/trace/
- https://f1comp.ru/internet/kakie-sekrety-pomozhet-uznat-komanda-tracert/
- https://RigWEB.ru/support/soft/komanda-tracert-chto-eto-i-dlya-chego-ispolzuetsya/
- https://www.Majordomo.ru/articles/traceroute
- http://Cmd4Win.ru/administrirovanie-seti/diagnostika-sety/51-tracert
- https://2domains.ru/support/hosting/ping-and-tracert
[/spoiler]