Как определить сколько прыжков до сайта
Перейти к содержимому

Как определить сколько прыжков до сайта

  • автор:

Команда 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 переходов, они автоматически отбрасываются.

Вы можете задать произвольное число прыжков при помощи записи –h. К примеру:

tracert –h 4 google.com

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

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

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

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

Описание команды TRACERT

Команда TRACERT показывает трассировку маршрута до указанного удаленного хоста. В ходе трассировки будет показан весь маршрут прохождения пакетов. Также эта команда командной строки показывает в мс задержку пакетов от каждого узла на пути каждого маршрутизатора. Эта задержка позволяет определить, на каком промежуточном участке происходит потеря пакетов (потери обозначаются *).

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

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

Видео: TRACERT — трассировка маршрута до удаленного хоста

Параметры и ключи утилиты TRACERT

tracert [-d] [-h максимальное_число_переходов] [-j список_узлов] [-w интервал [имя_конечного_компьютера]

Как проверить пинг и сделать трассировку до сервера? Команды Ping, Tracert и MTR

Знакомая многим ситуация: компьютер включен, доступ в Интернет есть, но не открывается какой-то определенный сайт или сервер в сети. Например: не доступен игровой сервер или игра сильно тормозит при подключении к нему. Что делать? Ответ прост – проверка на пинг и трассировка! Другими словами можно проверить доступность сетевых ресурсов с помощью диагностических методов, самые распространённые из которых — утилиты Ping, Tracert/Traceroute и MTR/WinMTR. Давайте рассмотрим подробно каждую из данных утилит.

Утилита Ping

Сетевая утилита Ping — это самый простой способ проверить доступность любого сетевого ресурса. При условии, что у этого ресурса открыты «пинги» из вне, то есть разрешено использование протокола ICMP.

Как это работает? Команда Ping отправляет небольшие пакеты с данными на сервер, который надо проверить. В ОС Windows по умолчанию посылается серия из 4-х таких пакетов. В ОС Linux пакеты посылаются непрерывно, пока пользователь не прервёт операцию. Спустя некоторое время от сервера приходит ответ — в виде тех же пакетов, какие и были отправлены. Если число отправленных и полученных пакетов совпадает — это значит сервер «живой» и никаких проблем с его доступностью не наблюдается.

Как пропинговать сайт или сервер в Windows?

Ping – это консольная утилита, которая запускается с помощью командной строки. Она присутствует во всех версиях ОС Windows. Я буду показывать её работу на примере Windows 11.

Нажимаем правой кнопкой мыши на кнопку «Пуск» чтобы открылось дополнительное меню. Там надо выбрать вариант «Терминал»( в Windows 10 это «Командная строка»):

командная строка в windows 11

В командной строке введите команду ping, потом через пробел введите IP-адрес или доменное имя сайта(название), доступность которого надо проверить. Для примера запустим пинг на сайт ya.ru вот такой командой:

как пользоваться командой ping

Смотрим результат: отправлено было 4 пакета размером по 32 байта. Время прохождения каждого пакета составило в среднем 22 мс. Все отправленные пакеты дошли до сервера и вернулись обратно.

результаты пинга сервера

По умолчанию команда Ping в ОС Windows отправляет всего 4 пакета данных.

Чтобы отправить больше пакетов, можно задать их количество с помощью параметра –n. Пример для отправки 10 тестовых пакетов:

Результат будет таким:

как пинговать ip в сети

Как вариант, можно использовать команда ping с параметром «-t», чтобы пинговать сервер бесконечно, до принудительного прекращения задачи, как в Linux. Команда будет выглядеть так:

Пример выполнения команды пинг:

как запустить бесконечный пинг

Чтобы остановить бесконечный пинг сервера или хоста по IP-адресу — воспользуйтесь комбинацией клавиш Ctrl + C.

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

превышен интервал ожидания для запроса

Как проверить пинг до сервера в Linux?

В операционных системах семейства Linux (в том числе и на FreeBSD, MacOS и Android) проверка пинга до сервера или хоста по IP-адресу тоже осуществляется с помощью команды ping. Она вызывается из командной консоли (терминала).

как запустить терминал в ubuntu

Запускаем терминал. На некоторых ОС Линкус значок терминала есть прямо на рабочем столе, а на каких-то надо открывать меню и запускать его оттуда. В KDE, например, через раздел меню Администрирование > Терминал.
В терминале вводим команду ping, адрес проверяемого ресурса и нажимаем клавишу «Enter».

ping testing linux

В отличие от систем семейства Windows, по умолчанию проверка пинга в Linux идет непрерывно, пока пользователь не прервёт этот процесс с помощью комбинаций клавиш Ctrl + C.

В Linux так же можно задавать нужные параметры с помощью аргументов, но они могут отличаться от аргументов в ОС Windows, которые я показывал выше. Например в Линуксе количество тестовых пакетов задаётся через агрумент «-c», а не через «-n». Для того, чтобы увидеть все доступные агрументы команды Пинг — введите вот такую команду:

аргументы команды ping

Как видите, аргументов очень много, что позволяет провести очень тщательную сетевую диагностику доступности удалённого узла сети

Трассировка маршрута в сети: команды tracert и traceroute

Трассировка — еще один хороший метод диагностики связности с удалённым сервером. Смысл тут в том, что во время трассировки тоже выполняется отправка пакетов тестовых данных до сервера. Главное отличие от пинга заключается в том, что трассировка дает возможность увидеть все промежуточные узлы, через которые проходят пакеты от Вашего ПК и до конечного хоста.

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

В операционной системе Windows 11, а так же практически всех предыдущих версиях – Windows 10 и старше — трассировка маршрута до сетевого ресурса выполняется с помощью интегрированной в командную оболочку утилиты tracert.

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

Так мы запустим трассировку от нашего ПК до сервера Яндекс. Пример:

tracert windows 11

Теперь смотрим в полученный результат трассировки — он показывает весь маршрут, через который прошел запрос до сайта.

Каждая строка в трассировке — это промежуточный узел ( как правило, маршрутизатор). Эти узлы принято называть прыжками или «хопами».

В моём случае от домашнего компьютера до сайта yandex.ru совершено 7 хопов, пройдя через 5 промежуточных узлов. На каждом из прыжков указывается время, за которое тестовый пакет дошёл до этого узла и вернулся обратно.

Теперь сделаем ещё одну трассировку — google.com. И вот тут в результатах у нас появится очень интересный момент:

tracert команда виндовс проверка

А именно строчка со «звёздочками». Что они означают? Многие новички этого пугаются и считают что это сетевая проблема. Это не совсем так! «Звёздочки» говорят о том, что на данном хопе ответ от сервера не получен. Проблема ли это? В этом случае — нет. Это технический узел и на пользовательские запросы он не отвечает.

Проблема была бы в том случае, если после какого-то из хопов все последующие хопы заканчивались бы звёздочками, а сама трассировка закончилась бы ничем. Вот в этом случае надо искать причину. Чаще всего она на том узле, который ответил последним. Но это не точно)))!

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

В операционных система семейства Linux тоже можно сделать трассировку. Правда там команда несколько отличается: это уже не tracert — трассировку выполняет утилита traceroute. Запускается она точно так же, как и пинг — из консоли.

В некоторых дистрибутивах утилита traceroute по умолчанию не установлена. Потому надо её установить. В Ubuntu b Debian это делается командой:
$ sudo apt install traceroute
В RHEL и CentOS — командой:
$ yum install traceroute -y

В остальном, использование данной утилиты ничем особо не отличается от того, как мы это делали в Windows 11. Для примера сделаем трассировку до Яндекса. Команда:

traceroute команда linux

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

Использование утилит MTR и WinMTR для диагностики сети

Хочу рассказать о ещё одной очень полезной для диагностики сетевых проблем утилите – MTR(My traceroute). Она доступна во всех дистрибутивах Linux и сочетает в себе функционал двух перечисленных выше команд: Ping и Traceroute. Как Traceroute она выводит полную трассировку маршрута, который проходят сетевые пакеты до нужного узла. Кроме этого, в режиме реального времени, ведётся пинг до каждого из промежуточных узлов для определения время отклика информации о потерях пакетов на каждом шаге.
Запускается утилита MTR всё так же из терминала командой mtr. Пример:

Результат получился такой:

mtr утилита

Отправка тестовых пакетов будет идти бесконечно. Чтобы остановить диагностику — нажмите комбинацию клавиш Ctrl+C.

В моём примере результат показывает, что несмотря на наличие технического узла, который не отзывается, конечный сервер доступен, а все отправленные пакеты (см. колонку Snt) проходят до конечного узла. При этом процент потерь пакетов (см. колонку Loss) равен нулю. Всё отлично!

Используя аргумент -r при вводе команды MTR, Вы получите результат диагностики виде отчета. Информация будет выведена в консоль Linux.

Трассировка WinMTR в Windows 11

В операционных системах Windows нет такого удобного встроенного инструмента, как программа MTR. К счастью, существует специальная утилита WinMTR , выпущенная добрыми людьми. Скачать можно с официального сайта WinMTR — ссылка. Она работает в Portable-режиме, то есть дополнительная установка на ПК не требуется и программа доступна к использованию сразу же после скачивания.
Запускаем WinMTR, в открывшемся окне в строке «Host» вводим адрес проверяемого ресурса:

winmtr как пользоваться

Нажимаем кнопку «Start» и запускаем диагностику. Спустя пару минут смотрим результат.

Что удобно, в этой утилите можно полученные результаты не только скопировать в буфер обмена, но и сразу экспортировать в текстовом или HTML-формате, чтобы потом отправить, например, в техподдержку провайдера.

Трассировка до сервера

  1. ГлавнаяГлавная
  2. Трассировка до сервера

Общая информация

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

Трассировку можно выполнять с помощью команд traceroute (для Linux) и tracert (для Windows). Более информативный способ – посредством специального программного обеспечения, например, MTR.

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

Принцип работы системных утилит tracert и traceroute

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

Утилиты создают пакет, предназначенный для целевого узла и отправляют через маршрутизаторы – транзитные, то есть нецелевые узлы. В заголовке передаваемого пакета есть специальное поле TTL, переводится как «время жизни».

Это поле определяет количество узлов, проходимых пакетом. На каждом узле от заданного количества TTL отнимается одна жизнь. Если в процессе маршрута значение TTL станет равно 0, маршрутизатор отбросит пакет и вернет отправителю сообщение об ошибке «Time Exceeded».

Диагностика с помощью команд

Чтобы выполнить трассировку в Windows с помощью команды tracert:

  1. Нажмите Win+R, либо «Выполнить».
  2. В открывшееся окошко, введите команду «cmd».
  3. Нажмите «ОК».
  4. В командную строку впишите tracert и через пробел – нужный сервер, домен или IP-адрес.
  5. Нажмите «Enter».

Трассировка в Windows

Трассировка в Windows

В нашем примере запрос прошел через 13 транзитных узлов, чтобы дойти до целевого – yandex.ru.

В Linux трассировка делается по такому же принципу, но с применением команды traceroute.

Расширенная диагностика с помощью программы MTR

Трассирование посредством программы MTR дает более полное представление о проблеме, особенно когда она плавающая, поскольку выполняется непрерывно. То есть, если утилиты tracert / traceroute отправляют определенное количество пакетов, то MTR будет проводить диагностику столько времени, сколько потребуется.

Скачайте программу WinMTR для Windows по ссылке с Github: https://github.com/White-Tiger/WinMTR/releases, выбрав архив WinMTR-v100-static.zip. Чтобы начать диагностику:

  1. Распакуйте архив и запустите файл WinMTR.exe.
  2. Вверху в поле «Host» введите имя сервера, домен или IP-адрес.
  3. Нажмите «Start».

Трассировка в Windows

Трассировка в Windows

Трассировка в Windows

Теперь подождите около минуты, пока данные будут собраны. Если проблема непостоянная — дождитесь, пока она появится, соберите данные около минуты и остановите диагностику. Скриншот с результатом отправьте в поддержку.

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

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

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