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
Нужна дополнительная помощь?
Привет, посетитель сайта ZametkiNaPolyah.ru! Продолжим разбираться с полезными командами и утилитами командной строки Windows, на этот раз давайте разберемся с сетевой утилитой tracert, мы поговорим зачем нужна команда tracert и как ею пользоваться для диагностики компьютерной сети и устранению неполадок. Как мы увидим, утилиту tracert используют сетевые инженеры и системные администраторы для определения маршрута прохождения IP-пакета по сети, вы убедитесь, что этой утилитой довольно легко пользоваться, но не все умеют правильно оценивать результаты работы этой команды, о некоторых сложностях, которые могут возникнуть при интерпретации трассировка маршрута мы поговорим в самом конце этой публикации.
Если вам интересна тема компьютерных сетей, то в блоге уже практически закончена первая часть курса по основам компьютерных сетей, можете ознакомиться с ее содержимым. И вот здесь можно получить немного информации о самом курсе основанном на Cisco ICND1.
Назначение команды tracert или как определить маршрут прохождения пакета до узла
Содержание статьи:
- Назначение команды tracert или как определить маршрут прохождения пакета до узла
- Параметры команды tracert в Windows
- Примеры использования утилиты tracert для устранения проблем в сети
- Несколько советов о том, как читать и интерпретировать выводы результатов работы команды tracert
- Выводы
Tracert – это небольшая системная утилита вашей операционной системы, которая позволяет сделать трассировку маршрута до заданного узла в локальной сети или сети Интернет. В операционных системах Windows tracert – это стандартная утилита, которая устанавливается вместе с операционной системой, то есть вам не нужно ничего устанавливать, чтобы воспользоваться командной tracert. Исполняемый файл tracert.exe в Windows 10 находится по следующему пути: C:WindowsSystem32.
Команда tracert – это один из самых часто используемых инструментов для траблшутинга и сетевой диагностики, эта утилита дает нам возможность определить маршрут, по которому проходит пакет до заданного узла. Tracert может работать как с доменными имена или именами хостов, так и с IP-адресами (как с IPv4, так и с IPv6). Кроме того что tracert показывает маршрут от вашего компьютера до удаленного узла в сети, она еще и отображает время прохождения пакетов как до конечного узла, так и до транзитных или промежуточных узлов (время является одной из самых важных единиц измерения в компьютерных сетях). Давайте лучше посмотрим, как работает утилита tracert на простом примере без дополнительных параметров.
Трассировка маршрута при помощи команды Tracert до IP-адреса Яндекс
В данном случаем мы видим путь прохождения IP-пакета от моего ПК до сервера Яндекс, чтобы указать утилите tracert удаленный узел, мы воспользовались IP-адресом. Но эта команда может работать и с доменными именами, давайте посмотрим, сделав трассировку маршрута до сервера Google.
Трассировка маршрута при помощи утилиты tracert до сервера Google по доменному имени
Стоит сказать пару слов о выводе, который мы получили. Каждая строка вывода команды tracert пронумерована, каждая такая строка называется шагом, хопом или прыжком. По умолчанию tracert в Windows отправляет три запроса на каждый хоп и получает от этого хопа ответы, если ответ не получен, то в первых трех столбцах мы видим символ «*», если ответ получен, то в первых трех столбцах указывается время прохождения пакета, а в четвертом столбце Windows дает нам подсказку о причинах, по которым удаленный узел нам не ответил или его адрес, если узел ответил.
Хопы, которые мы видим в трассировке – это маршрутизаторы, серверы или L3 коммутаторы, на интерфейсах которых прописан IP-адрес (то есть устройства, которые определяют путь, по которому пойдет IP-пакет, другими словами – это устройства сетевого уровня моделей OSI 7 и TCP/IP), это важное уточнение для интернет-пользователей, всё дело в том, что витая пара или другой тип кабеля (про минусы использования коаксиального кабеля в Ethernet сетях можете почитать здесь), который приходит к вам в квартиру, подключен в L2 коммутатор, который никак не влияет на маршрут прохождения пакета, на нем нет IP-адресов (вернее есть один адрес, который использует тех. поддержка провайдера для управления этим коммутатором) и он не принимает решений по маршрутизации пакетов, таких коммутаторов между хопами может быть несколько десятков и мы их никак не увидим, так как для утилиты tracert они представляют собой что-то вроде кабеля, собственно как и для других утилит сетевой диагностики.
Для диагностики сетевых ресурсов утилита tracert использует специальный протокол, который называется ICMP (Internet Control Message Protocol — протокол межсетевых управляющих сообщений), есть еще команда traceroute (эта утилита обычно входит в стандартные дистрибутивы Linux, например, эта утилита присутствует в Linux Mint), которая по умолчанию использует протокол UDP, для ее использвания вам точно также потребуется эмулятор терминала. ICMP-сообщение, которое посылает наш компьютер, запаковывается в IP-пакет (здесь вы можете прочитать более подробно про инкапсуляцию данных в компьютерных сетях), у которого есть специальное значение TTL (time to live или время жизни), для понимания работы tracert это важно, поскольку эта команда при каждой отправке пакета увеличивает TTL на единицу, а первый отправленный пакет в сеть имеет значение, равное единице, при этом по умолчанию tracert отправляет три пакета с одним и тем же TTL, то есть в ответ мы должны получить три пакета от удаленного узла (самые основы взаимодействия двух узлов в компьютерной сети описаны здесь, для реализации схемы использовалась Cisco Packet Tracer).
Вернемся к примеру с трассировкой Яндекса, чтобы это лучше понять. Когда мы написали tracert 77.88.55.88, tracert сформировала IP-пакет, в котором в качестве узла назначения указала IP-адрес Яндекса и отправила его в сеть, а в качестве TTL этот пакет получил значение равное единице, далее tracert, не изменяя TTL отправила еще два пакета и получила три ответа от узла 192.168.0.1. После значение TTL было увеличено на единицу (значение стало равным двойке) и в сеть было отправлено еще три пакета (IP-адрес в этих пакетах не изменялся), следующий хоп отказался отвечать на ICMP-запросы и мы увидели три звездочки, после этого TTL был снова увеличен и мы увидели третий хоп, таким образом tracert будет увеличивать TTL до тех пор, пока не доберется до сервера Яндекс. С Гуглом ситуация аналогичная, только там мы использовали доменное имя, поэтому tracert пришлось выполнять дополнительные операции по выяснению IP-адреса, на котором этот домен висит.
При использовании утилиты tracert не стоит паниковать в тех ситуациях, когда вы видите звездочки вместо времени ответа удаленного узла, дело в том, что ICMP-протокол иногда используется для сетевых атак (например, DDoS) и некоторые сетевые инженеры и системные администраторы предпочитают настраивать свои устройства таким образом, чтобы они не отвечали на ICMP-запросы. Иногда бывает так, что конечный узел не отвечает на ICMP-запросы, но на самом деле он корректно работает и выполняет свои функции, для проверки доступности таких узлов вам не поможет команда Ping, так как она тоже использует ICMP, но может помочь команда traceroute или онлайн сервисы по проверки доступно сайтов и серверов в Интернете.
В качестве примера давайте сделаем трассировку до сайта microsoft.com, сервера этой компании не отвечают на ICMP-запросы. Трассировка показана на рисунке ниже.
Трассировка до сервера Microsoft, который не отвечает на ICMP-запросы
На момент проверки этого ресурса он был доступен, но результаты работы tracert нас немного обманывают, по ним видно, что мы якобы не можем добраться до сервера Майкрософт, поэтому для корректной диагностики удаленных ресурсов нужно иметь целый арсенал сетевых утилит, ну или как минимум браузер и умение гуглить. Еще по трассировки видно, что tracert в Windows по умолчанию использует максимальное значение TTL равное 30, протокол IPv4 позволяет задавать максимальное значение TTL 255, но на самом деле это очень много, чтобы остановить выполнение команды tracert воспользуйтесь сочетание клавиш ctrl+c.
Параметры команды tracert в Windows
Любая команда в командной строке Windows имеет небольшой справочник (команда help — справочник командной строки Windows), в котором указаны допустимые параметры, в том числе и команда tracert, чтобы увидеть эти параметры, в командной строке нужно написать: tracert /? или tracert /h.
PS C:WINDOWSsystem32> tracert /? Использование: tracert [—d] [—h максЧисло] [—j списокУзлов] [—w таймаут] [—R] [—S адресИсточника] [—4] [—6] конечноеИмя Параметры: —d Без разрешения в имена узлов. —h максЧисло Максимальное число прыжков при поиске узла. —j списокУзлов Свободный выбор маршрута по списку узлов (только IPv4). —w таймаут Таймаут каждого ответа в миллисекундах. —R Трассировка пути (только IPv6). —S адресИсточника Используемый адрес источника (только IPv6). —4 Принудительное использование IPv4. —6 Принудительное использование IPv6. |
Справка Windows дает подробные пояснения к параметрам команды, думаю, добавлять ничего не нужно, всё станет еще более очевидно, когда мы посмотрим примеры использования утилиты tracert с параметрами.
Примеры использования утилиты tracert для устранения проблем в сети
Как я уже говорил, утилита tracert может принимать несколько параметров, один из них мы уже рассмотрели – адрес удаленного узла в сети, этот параметр обязательный, давайте разберемся с другими параметрами этой утилиты и посмотрим, как их комбинировать и что можно в результате получить. Для начала посмотрим на параметр –d, на мой взгляд он самый непонятный, что означает это – без разрешения в имена узлов. Всё будет ясно, когда мы посмотрим на вывод команды tracert с параметром –d.
Как работает утилита tracert с параметром -d в Windows
Всё очевидно: «без разрешения в имена узлов» означает, что в выводе будут отсутствовать имена хостов, через которые проходит IP-пакет, это бывает удобно, некоторые провайдеры и дата-центры любят задавать длинные имена и вывод становится неудобно читать.
Мы уже делали трассировку до сервера Майкрософт, давайте теперь повторим ее, но ограничим количество хопов до 10 и не будем выводить имена хостов, для этого нужно будет скомбинировать параметры –d и –h. Для команды tracert в Windows последовательность параметров в данном случае не имеет значение.
Как ограничить количество хопов для tracert в Windows или параметр –h
Результата работы параметра –j, который дает возможность свободного выбора маршрута, я, к сожалению, вам не покажу, чтобы узнать больше о том, что дает параметр –j для команды tracert почитайте про опцию LSRR (Loose Source and Record Route), в противоположность есть опция строгой маршрутизации от источника (Strict Source and Record Route – SSRR). Команда tracert с параметром –j работает примерно так: tracert -j 10.10.10.1 20.20.20.20 30.31.44.1 google.com. После параметра –j идет список транзитных узлов, которых должно быть не больше 9 (меньше можно), а в конце адрес узла в сети, до которого вы хотите получить трассировку.
Еще одни полезным параметром утилиты tracert является параметр –w, он позволяет задать команде tracert максимальное время ожидания ICMP-ответа от удаленного узла, значение этому параметру задается в миллисекундах, по умолчанию в Windows это значение равно 4000 мс, это означает, что команда будет ждать ответа от удаленного узла не больше 4 секунд. Пример использование tracert с параметром –w: tracert –w 1000 8.8.8.8. В данном случае мы сказали команде, что не стоит ждать ответ дольше одной секунды.
К сожалению, у меня нет возможности продемонстрировать работу команды tracert с параметрами для протокола IPv6, сюда входят такие параметры как: -R для трассировки пути, -S для указания IPv6 адреса источника. Параметры -6 и -4 будут полезны, если в своей сети вы используете два протокола: IPv6 и IPv4. Но чтобы уж совсем не оставаться без примеров, обратите внимание на листинг ниже.
C:Usersexample>tracert —6 ipv6.google.com Tracing route to ipv6.l.google.com [2a00:1450:8003::93] over a maximum of 30 hops: 1 1 ms 1 ms <1 ms ipv6.myhome.example.org [2001:db8:100::1] 2 18 ms 18 ms 17 ms gw—392.dus—01.de.provider.net [2001:db8:200:187::1] 3 22 ms 17 ms 16 ms provider.gateway.example.com [2001:db8:200::1] 4 27 ms 26 ms 30 ms 2001:7f8:8::3b41:0:1 5 34 ms 30 ms 31 ms 2001:4860::1:0:60d 6 33 ms 33 ms 35 ms 2001:4860::1:0:fdd 7 42 ms 41 ms 39 ms 2001:4860::1:0:12 8 40 ms 40 ms 40 ms 2001:4860::2:0:66f 9 41 ms 50 ms 50 ms 2001:4860:0:1::2d 10 45 ms 40 ms 40 ms 2a00:1450:8003::93 |
Здесь используется параметр -6 при трассировке узла ipv6.google.com. В общем-то с примерами использования утилиты tracert можно завершить, как видите, здесь нет ничего сложного. Гораздо сложнее интерпретировать и анализировать выводы этой команды.
Несколько советов о том, как читать и интерпретировать выводы результатов работы команды tracert
Во-первых, отмечу, что пользоваться командой tracert очень легко, на самом деле очень легко пользоваться любыми сетевыми утилитами, легко писать команды на сетевых устройствах, но понимать, как это всё работает, задача гораздо более сложная. Понимать выводы команды tracert тоже непросто, иногда даже невозможно их правильно интерпретировать.
Вы наверняка думает, что tracecrt позволяет вам правильно оценить задержку прохождения пакетов по сети, ведь так? Всё вроде бы очевидно, три раза отправили, три раза получили, взяли среднее арифметическое и получили среднее время, так? Нет, не так. У пакетов есть время распространения по сети, а у сетевых устройств есть такие факторы как сериализация и буферизация, они довольно сложные.
Когда вы используете tracert или traceroute не забывайте, что маршрутизатор, который будет отвечать на ваши запросы, обрабатывает эти запросы несколько иначе, чем полезный сетевой трафик, который проходит через него транзитом. Мы с вами делали трассировки до узлов Яндекса, Гугла и Майкрософта, мы получали определенные задержки на хопах, но при трассировке мы видим только маршрут «туда», обратный маршрут с вероятностью 90% будет отличаться, но у вас нет возможности сделать трассировку до себя с указанных серверов. То есть получается, что мы видим маршрут «туда», но получаем усредненное время, которое получается путем сложения времени, которое будет затрачено на то, чтобы добраться туда с временем, которое будет затрачено на то, чтобы добраться обратно другим маршрутом (еще раз повторю, что маршрут «обратно» не обязательно должен совпадать и очень часто не совпадет с маршрутом «обратно»), несовпадение маршрутов главным образом связано с коммерческой и юридической сферой взаимодействия провайдеров и других крупных игроков интернета.
Провайдеры используют протоколы динамической маршрутизации, у которых есть функция балансировки трафика, часто до одного и того же сервера можно добраться по нескольким маршрутам. Иногда, когда вы делаете трассировку, ваш первый пакет «туда» идет одним маршрутом, а ваш второй пакет «туда» пойдет другим маршрутом.
Команда tracert только на первый взгляд кажется простой, на самом деле это не так, я сейчас даже не говорю про простых пользователей, многие админы умеют пользоваться tracert на уровне обезьяны и не хотят это исправлять, иначе не объяснишь их восприятие звездочек в выводе («это потери, ужас, мрак, хостер, провайдер, дата-центр, за что я плачу тебе 100 рублей?» обычно именно такие ребята поднимают поросячий визг из-за своей некомпетентности в вопросе, потому что те кто может платить больше, позволяют себе нанимать более компетентных людей, хотя это и не всегда так), например, вот так:
1 * <1 мс <1 мс 192.168.0.1 |
Если вы посчитали первый ответ потерей, то вам нужно изучать принцип работы tracert, а также помнить, что сетевое оборудование можно настраивать, в том числе и на работу с ICMP, а может это не потери, а роутер настроен таким образом, чтобы игнорировать часть запросов?
Tracert прекрасно справляется со своей задачей – она отображает путь, по которому проходит IP-пакет, а также время ответа транзитных роутеров/маршрутизаторов, но при помощи данной утилиты невозможно точно оценить потери и нельзя с уверенностью сказать – на каком участке сети потери происходят, чтобы оценить потери в компьютерной сети (здесь можно почитать про основные характеристики компьютерной сети), лучше воспользоваться стандартной утилитой Windows, которая называется pathping, либо более удобной программой WinMTR или mtr в операционных системах семейства Linux.
Выводы
Итак, мы разобрались с использованием команды tracert в Windows и ее параметрами, посмотрели примеры трассировок, которые нам выводила утилита tracert, но главное нужно сделать вывод о том, что утилита tracert не такая простая, как кажется на первый взгляд, и чтобы ее правильно использовать, нужно иметь представление о том, как вообще работают компьютерные сети.
К сожалению, об этом многие забывают, если вас это не убедило, то представьте, что вы пришли к доктору на обследование, который в совершенстве умеет пользоваться своими докторскими инструментами: он знает, что стетоскоп нужно вставлять в уши, прикладывать другой его конец к груди и спине пациента, говорит дышите, не дышите, но этот доктор совершенно не знает ничего о том, как работает человеческое тело, он не понимает, что он слышит в своём стетоскопе и в конце концов поставит неверный диагноз. Аналогичная ситуация и с командой tracert, которой проще пользоваться, чем стетоскопом.
Трассировка нужна для определения проблемы на маршруте от вашего компьютера до определённого сайта или сервера. Эта информация иногда требуется техподдержке хостинга на серверах которого расположен ваш сайт. Дальше я опишу, как нужно делать трассировку.
Открываем командную строку. В Виндовс 10 это делается нажатием правой кнопкой мыши на значок Пуск в левом нижнем углу экрана и выбором пункта Командная строка (администратор).
Далее кликаем на кнопку Да в открывшемся окошке что бы подтвердить выполняемое действие.
В открывшемся окне командной строки набираем маленькими английскими буквами команду трассировки и ip адрес сервера или домен сайта, до которого нужно выполнить трассировку. Например, tracert yandex.ru. Между командой трассировки tracert и доменом/ip адресом нужно поставить пробел. После жмём Enter.
После этого ждём, пока выполнится трассировка от вашего компьютера до запрашиваемого сайта или сервера. Это займёт 30-40 секунд.
По окончании вы можете скопировать полученные данные и отправить их службе поддержки хостинга если они просят сделать трассировку маршрута.
На этом всё. Если остались вопросы, пишите их в комментариях.
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-пакет.
Как использовать Traceroute и Tracert
Если у вас кириллический домен
Кириллические домены необходимо вводить в формате Punycode. Для перевода домена в Punycode воспользуйтесь сервисом.
Выполним команду Traceroute в Linux на примере Ubuntu 20.04:
-
1.
Откройте терминал при помощи комбинации клавиш CTRL + Shift + T или введите в поиске слово «Терминал».
-
2.
Введите команду
traceroute domain.name
. Вместоdomain.name
укажите домен:
Если нужно выполнить трассировку до IP-адреса, введите
traceroute ip
. Вместоip
укажите нужный адрес:
Вывод команды будет содержать:
- порядковый номер маршрутизатора (узла),
- имя узла,
- IP-адрес узла,
- круговую задержку (время, потраченное на отправку запроса и получение ответа).
Команда Traceroute в Windows 10 отсутствует, поэтому следует воспользоваться Tracert:
-
1.
Нажмите комбинацию клавиш Win + R.
-
2.
Введите cmd и нажмите Enter.
-
3.
Введите
tracert domain.name
. Вместоdomain.name
укажите домен или IP-адрес, до которого хотите выполнить трассировку:
Вывод команды tracert будет выглядеть следующим образом:
- порядковый номер маршрутизатора (узла),
- круговая задержка (время, потраченное на отправку запроса и получение ответа),
- имя узла,
- IP-адрес узла.
-
1.
Найдите в Spotlight утилиту Network Utility (Сетевая утилита) и запустите её.
-
2.
Выберите вкладку Traceroute и введите имя домена или IP-адрес. Затем нажмите кнопку Trace:
Вывод содержит:
- порядковый номер узла,
- имя узла,
- IP-адрес узла,
- круговую задержку (время, потраченное на отправку запроса и получение ответа).
Если нужно отправить вывод команды в службу поддержки, сделайте скриншот или скопируйте текст.
Как установить Traceroute на Linux
В Unix-подобных системах программа может быть не установлена. Ниже мы покажем, как установить Traceroute на некоторых операционных системах.
Как установить Traceroute в Debian/Ubuntu
-
1.
Запустите терминал и введите команду
sudo apt-get update
для обновления данных о репозиториях. -
2.
Введите команду
sudo apt-get install traceroute
.
Как установить Traceroute в Centos 7,8
-
1.
Запустите терминал и введите команду
sudo yum update
для обновления данных о репозиториях. -
2.
Введите команду
sudo yum install traceroute
.
Как выполнить Traceroute по порту
По умолчанию первый UDP-пакет отправляется на порт 34434 и на каждом узле увеличивается на 1: 34434 на первом, 34435 на втором и так далее. При помощи ключа -p
порт можно указать вручную. Команда будет выглядеть следующим образом:
traceroute -p [номер порта] domain.name
В Windows трассировку с указанием порта стандартными средствами выполнить нельзя, так как Traceroute в cmd отсутствует, а Tracert не умеет работать с портами.
Как использовать Traceroute по ICMP
И UDP и ICMP-протоколы используются командой Traceroute. UDP используется по умолчанию. Чтобы воспользоваться ICMP, добавьте в команду ключ -I
:
traceroute -I domain.name
Для чего это нужно? Оборудование может быть настроено на то, чтобы не отвечать на подобные запросы. Если вы увидите в выводе символы * * *
, это может значить, что маршрутизатор отклонил пакет и не отправил ответ. Звёздочки в выводе не означают, что у узла проблемы. Соединения может фильтровать Firewall, который стоит перед узлом. Это делается специально, чтобы снизить нагрузку. Пример такого вывода команды:
В этом случае попробуйте воспользоваться ключом -I
:
Ключ -I
требует root-привилегий. Если команда не выполняется, добавьте в начало sudo
:
sudo traceroute -I domain.name
Трассировка используется для диагностики проблем сети. Её может запросить ваш хостинг- или интернет-провайдер. В этом случае предоставьте скриншот или текст вывода команды.
Если сайт работает, а трассировка до него не доходит, значит запросы фильтруются на пути к цели. Отсутствие трассировки не означает наличие проблемы.
- Команда ping
- Как пользоваться ping
- Команда tracert
- Как запустить tracert
В статье мы расскажем, для чего нужны утилиты ping и tracert, как запустить эти утилиты, а также приведем примеры команды ping для диагностики сети.
Ping и tracert — это утилиты для проверки целостности соединений в сетях и определения маршрутов следования данных на основе TCP/IP. Без этих утилит не обойтись не только при администрировании серверов (или целой сети), но и в условиях «домашней» диагностики.
Команда ping
Команда ping — один из базовых инструментов для работы с сетью. С помощью ping можно проверить сервер и его доступность с любого компьютера, а также соединение между устройствами.
Если вы задавались вопросом «Как я могу узнать мой IP адрес и порт?», то мы дадим вам ответ: командой пинг можно как узнать порт компьютера, так и определить его IP.
Также с помощью команды ping можно выполнить такие диагностические задачи, как:
-
измерить время взаимодействия между двумя хостами;
-
проверить IP-адрес конкретного хоста в локальной и глобальной сети;
-
автоматически проверить сетевое устройство (например, когда ping является частью bash-скрипта);
-
проверить пинг до сервера и др.
Как пользоваться ping
Если у вас Windows
-
Откройте меню «Пуск», кликните по пункту Выполнить или нажмите сочетание клавиш Win + R.
-
В поиске введите команду «cmd» и кликните Enter.
-
В окне терминала введите команду:
ping имя_сайта (домен) или ping IP_сервера.
Если у вас Linux
1. Откройте терминал. Для этого:
-
в Unity (Ubuntu): перейдите в «Главное меню» и введите слово «Терминал» в поисковой строке или наберите сочетание клавиш Ctrl+Alt+T;
-
в Xfce (Xubuntu): перейдите в «Главное меню» — «Приложения», затем выберите «Система» — «Терминал»;
-
в KDE (Kubuntu): перейдите в «Главное меню» — «Приложения», затем выберите «Система» — «Терминал».
2. В окне терминала введите команду:
ping имя_сайта (домен) или ping IP_сервера.
Если у вас кириллический домен
Для Windows и Linux кириллические домены нужно вводить в формате Punycode. Перевести домен в формат Punycode можно через сервис. Сконвертируйте имя кириллического домена и вставьте его в окно терминала следующим образом: ping xn--2-8sble8ahe.xn--p1ai
Если у вас MacOS
-
В Spotlight выберите и запустите сетевую утилиту Network Utility.
-
В открывшемся окне перейдите на нужную вкладку.
На вкладке Ping введите имя домена (или IP-адрес) и кликните Отследить:
Готово, вы запустили утилиту ping.
Команда tracert
Команда tracert – самый популярный инструмент сетевой диагностики. С помощью tracert можно проверить путь запроса к серверу и выявить проблемы, связанные с доступностью удаленного сервера. Сообщения отправляются с эхо-запросом по протоколу ICMP, и после каждой передачи выводится сообщение с эхо-ответом.
Командой tracert можно проверить:
-
маршрут от локального компьютера до удаленного узла;
-
количество узлов в сети;
-
время прохождения пакета до конечного, транзитного и промежуточного узлов;
-
точку потери пакета;
-
пинг порта через командную строку.
Как запустить tracert
Если у вас Windows
-
Откройте меню «Пуск», кликните по пункту Выполнить или нажмите сочетание клавиш Win + R.
-
В поиске введите команду «cmd» и кликните Enter.
-
В открывшемся окне терминала введите команду:
tracert имя_сайта (домен) или tracert IP_сервера.
Если у вас Linux
1. Откройте терминал. Для этого:
-
в Unity (Ubuntu): перейдите в «Главное меню» и введите слово «Терминал» в поисковой строке или нажмитесочетание клавиш Ctrl+Alt+T;
-
в Xfce (Xubuntu): перейдите в «Главное меню» — «Приложения», затем выберите «Система» — «Терминал»;
-
в KDE (Kubuntu): перейдите в «Главное меню» — «Приложения», затем выберите «Система» — «Терминал».
2. В окне терминала введите команду:
traceroute имя_сайта (домен) или traceroute IP_сервера.
Если у вас MacOS
-
В Spotlight выберите и запустите сетевую утилиту Network Utility.
-
В открывшемся окне перейдите на нужную вкладку.
На вкладке Traceroute введите имя домена (или IP-адрес) и кликните Отследить:
Готово, вы запустили утилиту tracert.
Если у вас установлена ОС Windows и вы хотите упростить диагностику подключения, скачайте утилиту WinMTR. Как пользоваться WinMTR, читайте на тематических блогах.
Знакомая многим ситуация: компьютер включен, доступ в Интернет есть, но не открывается какой-то определенный сайт или сервер в сети. Например: не доступен игровой сервер или игра сильно тормозит при подключении к нему. Что делать? Ответ прост – проверка на пинг и трассировка! Другими словами можно проверить доступность сетевых ресурсов с помощью диагностических методов, самые распространённые из которых — утилиты Ping, Tracert/Traceroute и MTR/WinMTR. Давайте рассмотрим подробно каждую из данных утилит.
Сетевая утилита Ping — это самый простой способ проверить доступность любого сетевого ресурса. При условии, что у этого ресурса открыты «пинги» из вне, то есть разрешено использование протокола ICMP.
Как это работает? Команда Ping отправляет небольшие пакеты с данными на сервер, который надо проверить. В ОС Windows по умолчанию посылается серия из 4-х таких пакетов. В ОС Linux пакеты посылаются непрерывно, пока пользователь не прервёт операцию. Спустя некоторое время от сервера приходит ответ — в виде тех же пакетов, какие и были отправлены. Если число отправленных и полученных пакетов совпадает — это значит сервер «живой» и никаких проблем с его доступностью не наблюдается.
Как пропинговать сайт или сервер в Windows?
Ping – это консольная утилита, которая запускается с помощью командной строки. Она присутствует во всех версиях ОС Windows. Я буду показывать её работу на примере Windows 11.
Нажимаем правой кнопкой мыши на кнопку «Пуск» чтобы открылось дополнительное меню. Там надо выбрать вариант «Терминал»( в Windows 10 это «Командная строка»):
В командной строке введите команду ping, потом через пробел введите IP-адрес или доменное имя сайта(название), доступность которого надо проверить. Для примера запустим пинг на сайт ya.ru вот такой командой:
ping ya.ru
Пример:
Смотрим результат: отправлено было 4 пакета размером по 32 байта. Время прохождения каждого пакета составило в среднем 22 мс. Все отправленные пакеты дошли до сервера и вернулись обратно.
По умолчанию команда Ping в ОС Windows отправляет всего 4 пакета данных.
Чтобы отправить больше пакетов, можно задать их количество с помощью параметра –n. Пример для отправки 10 тестовых пакетов:
ping –n 10 yandex.ru
Результат будет таким:
Как вариант, можно использовать команда ping с параметром «-t», чтобы пинговать сервер бесконечно, до принудительного прекращения задачи, как в Linux. Команда будет выглядеть так:
ping ya.ru -t
Пример выполнения команды пинг:
Чтобы остановить бесконечный пинг сервера или хоста по IP-адресу — воспользуйтесь комбинацией клавиш Ctrl + C.
Вот так выглядит результат выполнения команды Ping на недоступный сетевой ресурс или хост, на который закрыты ICMP-пакеты.
Как проверить пинг до сервера в Linux?
В операционных системах семейства Linux (в том числе и на FreeBSD, MacOS и Android) проверка пинга до сервера или хоста по IP-адресу тоже осуществляется с помощью команды ping. Она вызывается из командной консоли (терминала).
Запускаем терминал. На некоторых ОС Линкус значок терминала есть прямо на рабочем столе, а на каких-то надо открывать меню и запускать его оттуда. В KDE, например, через раздел меню Администрирование > Терминал.
В терминале вводим команду ping, адрес проверяемого ресурса и нажимаем клавишу «Enter».
В отличие от систем семейства Windows, по умолчанию проверка пинга в Linux идет непрерывно, пока пользователь не прервёт этот процесс с помощью комбинаций клавиш Ctrl + C.
В Linux так же можно задавать нужные параметры с помощью аргументов, но они могут отличаться от аргументов в ОС Windows, которые я показывал выше. Например в Линуксе количество тестовых пакетов задаётся через агрумент «-c», а не через «-n». Для того, чтобы увидеть все доступные агрументы команды Пинг — введите вот такую команду:
ping -h
Как видите, аргументов очень много, что позволяет провести очень тщательную сетевую диагностику доступности удалённого узла сети
Трассировка маршрута в сети: команды tracert и traceroute
Трассировка — еще один хороший метод диагностики связности с удалённым сервером. Смысл тут в том, что во время трассировки тоже выполняется отправка пакетов тестовых данных до сервера. Главное отличие от пинга заключается в том, что трассировка дает возможность увидеть все промежуточные узлы, через которые проходят пакеты от Вашего ПК и до конечного хоста.
Трассировка маршрута в Windows 11
В операционной системе Windows 11, а так же практически всех предыдущих версиях – Windows 10 и старше — трассировка маршрута до сетевого ресурса выполняется с помощью интегрированной в командную оболочку утилиты tracert.
Чтобы ей воспользоваться, снова открываем командную строку и пишем команду:
tracert ya.ru
Так мы запустим трассировку от нашего ПК до сервера Яндекс. Пример:
Теперь смотрим в полученный результат трассировки — он показывает весь маршрут, через который прошел запрос до сайта.
Каждая строка в трассировке — это промежуточный узел ( как правило, маршрутизатор). Эти узлы принято называть прыжками или «хопами».
В моём случае от домашнего компьютера до сайта yandex.ru совершено 7 хопов, пройдя через 5 промежуточных узлов. На каждом из прыжков указывается время, за которое тестовый пакет дошёл до этого узла и вернулся обратно.
Теперь сделаем ещё одну трассировку — google.com. И вот тут в результатах у нас появится очень интересный момент:
А именно строчка со «звёздочками». Что они означают? Многие новички этого пугаются и считают что это сетевая проблема. Это не совсем так! «Звёздочки» говорят о том, что на данном хопе ответ от сервера не получен. Проблема ли это? В этом случае — нет. Это технический узел и на пользовательские запросы он не отвечает.
Проблема была бы в том случае, если после какого-то из хопов все последующие хопы заканчивались бы звёздочками, а сама трассировка закончилась бы ничем. Вот в этом случае надо искать причину. Чаще всего она на том узле, который ответил последним. Но это не точно)))!
Как сделать трассировку в Linux
В операционных система семейства Linux тоже можно сделать трассировку. Правда там команда несколько отличается: это уже не tracert — трассировку выполняет утилита traceroute. Запускается она точно так же, как и пинг — из консоли.
В некоторых дистрибутивах утилита traceroute по умолчанию не установлена. Потому надо её установить. В Ubuntu b Debian это делается командой:
$ sudo apt install traceroute
В RHEL и CentOS — командой:
$ yum install traceroute -y
В остальном, использование данной утилиты ничем особо не отличается от того, как мы это делали в Windows 11. Для примера сделаем трассировку до Яндекса. Команда:
traceroute yandex.ru
Результат выполнения:
Как можно заметить, результат трассировки маршрута выдаётся так же по хопам. Если какой-то узел не ответил — помечается «звёздочками».
Использование утилит MTR и WinMTR для диагностики сети
Хочу рассказать о ещё одной очень полезной для диагностики сетевых проблем утилите – MTR(My traceroute). Она доступна во всех дистрибутивах Linux и сочетает в себе функционал двух перечисленных выше команд: Ping и Traceroute. Как Traceroute она выводит полную трассировку маршрута, который проходят сетевые пакеты до нужного узла. Кроме этого, в режиме реального времени, ведётся пинг до каждого из промежуточных узлов для определения время отклика информации о потерях пакетов на каждом шаге.
Запускается утилита MTR всё так же из терминала командой mtr. Пример:
mtr ya.ru
Результат получился такой:
Отправка тестовых пакетов будет идти бесконечно. Чтобы остановить диагностику — нажмите комбинацию клавиш Ctrl+C.
В моём примере результат показывает, что несмотря на наличие технического узла, который не отзывается, конечный сервер доступен, а все отправленные пакеты (см. колонку Snt) проходят до конечного узла. При этом процент потерь пакетов (см. колонку Loss) равен нулю. Всё отлично!
Используя аргумент -r при вводе команды MTR, Вы получите результат диагностики виде отчета. Информация будет выведена в консоль Linux.
Трассировка WinMTR в Windows 11
В операционных системах Windows нет такого удобного встроенного инструмента, как программа MTR. К счастью, существует специальная утилита WinMTR, выпущенная добрыми людьми. Скачать можно с официального сайта WinMTR — ссылка. Она работает в Portable-режиме, то есть дополнительная установка на ПК не требуется и программа доступна к использованию сразу же после скачивания.
Запускаем WinMTR, в открывшемся окне в строке «Host» вводим адрес проверяемого ресурса:
Нажимаем кнопку «Start» и запускаем диагностику. Спустя пару минут смотрим результат.
Что удобно, в этой утилите можно полученные результаты не только скопировать в буфер обмена, но и сразу экспортировать в текстовом или HTML-формате, чтобы потом отправить, например, в техподдержку провайдера.
The tracert command is a Command Prompt command that’s used to show several details about the path that a packet takes from the computer or device you’re on to whatever destination you specify.
You might also sometimes see the tracert command referred to as the trace route command or traceroute command.
Tracert, as it’s explained below, applies to Windows only, but the traceroute command is available for Linux, too.
Tracert Command Availability
The tracert command is available from within the Command Prompt in all Windows operating systems including Windows 11, Windows 10, Windows 8, Windows 7, Windows Vista, Windows XP, and older versions of Windows as well.
The availability of certain tracert command switches and other tracert command syntax may differ from operating system to operating system.
Tracert Command Syntax
If you know how to read command syntax, the syntax for tracert is pretty straight-forward:
tracert [-d] [-h MaxHops] [-w TimeOut] [-4] [-6] target [/?]
Tracert Command (Windows 10).
Tracert Command Options | |
---|---|
Item | Description |
-d | This option prevents tracert from resolving IP addresses to hostnames, often resulting in much faster results. |
-h MaxHops | This tracert option specifies the maximum number of hops in the search for the target. If you do not specify MaxHops, and a target has not been found by 30 hops, tracert will stop looking. |
-w TimeOut | You can specify the time, in milliseconds, to allow each reply before timeout using this tracert option. |
-4 | This option forces tracert to use IPv4 only. |
-6 | This option forces tracert to use IPv6 only. |
target | This is the destination, either an IP address or hostname. |
/? | Use the help switch with the tracert command to show detailed help about the command’s several options. |
Other less commonly used options for the tracert command also exist, including [-j HostList], [-R], and [-S SourceAddress]. Use the help switch with the tracert command for more information on these options.
Tracert Command Examples
tracert 192.168.1.1
In the above example, the tracert command is used to show the path from the networked computer on which the tracert command is being executed by a network device, in this case, a router on a local network, that’s assigned the 192.168.1.1 IP address.
The result displayed on the screen will look something like this:
Tracing route to 192.168.1.1 over a maximum of 30 hops
1 <1 ms <1 ms <1 ms 192.168.1.254
2 <1 ms <1 ms <1 ms 192.168.1.1
Trace complete.
In this example, you can see that tracert found a network device using the IP address of 192.168.1.254, let’s say a network switch, followed by the destination, 192.168.1.1, the router.
tracert www.google.com
With the tracert command shown above, we’re asking tracert to show us the path from the local computer all the way to the network device with the hostname www.google.com.
Tracing route to www.l.google.com [209.85.225.104]
over a maximum of 30 hops:
1 <1 ms <1 ms <1 ms 10.1.0.1
2 35 ms 19 ms 29 ms 98.245.140.1
3 11 ms 27 ms 9 ms te-0-3.dnv.comcast.net [68.85.105.201]
...
13 81 ms 76 ms 75 ms 209.85.241.37
14 84 ms 91 ms 87 ms 209.85.248.102
15 76 ms 112 ms 76 ms iy-f104.1e100.net [209.85.225.104]
Trace complete.
In this example, we can see that tracert identified fifteen network devices including our router at 10.1.0.1 and all the way through to the target of www.google.com, which we now know uses the public IP address of 209.85.225.104, one of Google’s many IP addresses.
Hops 4 through 12 were excluded above just to keep the example simple. If you were executing a real tracert, those results would all show up on screen.
tracert -d www.yahoo.com
With this tracert command example, we’re again requesting the path to a website, this time www.yahoo.com, but now we’re preventing tracert from resolving hostnames by using the -d option.
Tracing route to any-fp.wa1.b.yahoo.com [209.191.122.70]
over a maximum of 30 hops:
1 <1 ms <1 ms <1 ms 10.1.0.1
2 29 ms 23 ms 20 ms 98.245.140.1
3 9 ms 16 ms 14 ms 68.85.105.201
...
13 98 ms 77 ms 79 ms 209.191.78.131
14 80 ms 88 ms 89 ms 68.142.193.11
15 77 ms 79 ms 78 ms 209.191.122.70
Trace complete.
We can see that tracert again identified fifteen network devices including our router at 10.1.0.1 and all the way through to the target of www.yahoo.com, which we can assume uses the public IP address of 209.191.122.70.
As you can see, tracert didn’t resolve any hostnames this time, which significantly sped up the process.
tracert -h 3 lifewire.com > z:tracertresults.txt
In this last example of the tracert command in Windows, we’re using -h to limit the hop count to 3, but instead of displaying the results in Command Prompt, we’ll use the > redirection operator to send it all to a TXT file located on Z:, an external hard drive.
Here are some example results of this last command:
Tracing route to lifewire.com [151.101.66.114]
over a maximum of 3 hops:
1 <1 ms <1 ms <1 ms testwifi.here [192.168.86.1]
2 1 ms 1 ms <1 ms 192.168.1.1
3 17 ms 16 ms 17 ms giantwls-64-71-222-1.giantcomm.net [64.71.222.1]
Trace complete.
Tracert Related Commands
The tracert command is often used with other networking related Command Prompt commands like ping, ipconfig, netstat, nslookup, and others.
The pathping command is similar to tracert but also shows network latency and loss information.
Thanks for letting us know!
Get the Latest Tech News Delivered Every Day
Subscribe
The tracert command is a Command Prompt command that’s used to show several details about the path that a packet takes from the computer or device you’re on to whatever destination you specify.
You might also sometimes see the tracert command referred to as the trace route command or traceroute command.
Tracert, as it’s explained below, applies to Windows only, but the traceroute command is available for Linux, too.
Tracert Command Availability
The tracert command is available from within the Command Prompt in all Windows operating systems including Windows 11, Windows 10, Windows 8, Windows 7, Windows Vista, Windows XP, and older versions of Windows as well.
The availability of certain tracert command switches and other tracert command syntax may differ from operating system to operating system.
Tracert Command Syntax
If you know how to read command syntax, the syntax for tracert is pretty straight-forward:
tracert [-d] [-h MaxHops] [-w TimeOut] [-4] [-6] target [/?]
Tracert Command (Windows 10).
Tracert Command Options | |
---|---|
Item | Description |
-d | This option prevents tracert from resolving IP addresses to hostnames, often resulting in much faster results. |
-h MaxHops | This tracert option specifies the maximum number of hops in the search for the target. If you do not specify MaxHops, and a target has not been found by 30 hops, tracert will stop looking. |
-w TimeOut | You can specify the time, in milliseconds, to allow each reply before timeout using this tracert option. |
-4 | This option forces tracert to use IPv4 only. |
-6 | This option forces tracert to use IPv6 only. |
target | This is the destination, either an IP address or hostname. |
/? | Use the help switch with the tracert command to show detailed help about the command’s several options. |
Other less commonly used options for the tracert command also exist, including [-j HostList], [-R], and [-S SourceAddress]. Use the help switch with the tracert command for more information on these options.
Tracert Command Examples
tracert 192.168.1.1
In the above example, the tracert command is used to show the path from the networked computer on which the tracert command is being executed by a network device, in this case, a router on a local network, that’s assigned the 192.168.1.1 IP address.
The result displayed on the screen will look something like this:
Tracing route to 192.168.1.1 over a maximum of 30 hops
1 <1 ms <1 ms <1 ms 192.168.1.254
2 <1 ms <1 ms <1 ms 192.168.1.1
Trace complete.
In this example, you can see that tracert found a network device using the IP address of 192.168.1.254, let’s say a network switch, followed by the destination, 192.168.1.1, the router.
tracert www.google.com
With the tracert command shown above, we’re asking tracert to show us the path from the local computer all the way to the network device with the hostname www.google.com.
Tracing route to www.l.google.com [209.85.225.104]
over a maximum of 30 hops:
1 <1 ms <1 ms <1 ms 10.1.0.1
2 35 ms 19 ms 29 ms 98.245.140.1
3 11 ms 27 ms 9 ms te-0-3.dnv.comcast.net [68.85.105.201]
...
13 81 ms 76 ms 75 ms 209.85.241.37
14 84 ms 91 ms 87 ms 209.85.248.102
15 76 ms 112 ms 76 ms iy-f104.1e100.net [209.85.225.104]
Trace complete.
In this example, we can see that tracert identified fifteen network devices including our router at 10.1.0.1 and all the way through to the target of www.google.com, which we now know uses the public IP address of 209.85.225.104, one of Google’s many IP addresses.
Hops 4 through 12 were excluded above just to keep the example simple. If you were executing a real tracert, those results would all show up on screen.
tracert -d www.yahoo.com
With this tracert command example, we’re again requesting the path to a website, this time www.yahoo.com, but now we’re preventing tracert from resolving hostnames by using the -d option.
Tracing route to any-fp.wa1.b.yahoo.com [209.191.122.70]
over a maximum of 30 hops:
1 <1 ms <1 ms <1 ms 10.1.0.1
2 29 ms 23 ms 20 ms 98.245.140.1
3 9 ms 16 ms 14 ms 68.85.105.201
...
13 98 ms 77 ms 79 ms 209.191.78.131
14 80 ms 88 ms 89 ms 68.142.193.11
15 77 ms 79 ms 78 ms 209.191.122.70
Trace complete.
We can see that tracert again identified fifteen network devices including our router at 10.1.0.1 and all the way through to the target of www.yahoo.com, which we can assume uses the public IP address of 209.191.122.70.
As you can see, tracert didn’t resolve any hostnames this time, which significantly sped up the process.
tracert -h 3 lifewire.com > z:tracertresults.txt
In this last example of the tracert command in Windows, we’re using -h to limit the hop count to 3, but instead of displaying the results in Command Prompt, we’ll use the > redirection operator to send it all to a TXT file located on Z:, an external hard drive.
Here are some example results of this last command:
Tracing route to lifewire.com [151.101.66.114]
over a maximum of 3 hops:
1 <1 ms <1 ms <1 ms testwifi.here [192.168.86.1]
2 1 ms 1 ms <1 ms 192.168.1.1
3 17 ms 16 ms 17 ms giantwls-64-71-222-1.giantcomm.net [64.71.222.1]
Trace complete.
Tracert Related Commands
The tracert command is often used with other networking related Command Prompt commands like ping, ipconfig, netstat, nslookup, and others.
The pathping command is similar to tracert but also shows network latency and loss information.
Thanks for letting us know!
Get the Latest Tech News Delivered Every Day
Subscribe
Для диагностики и поиска проблем в сети системные администраторы часто применяют такой удобный инструмент, как трассировка маршрута. Она позволяет определить все узлы (маршрутизаторы, серверы, компьютеры), через которые проходит трафик по дороге к точке назначения. Если связь с каким-либо удалённым хостом рвётся или вообще пропадает, то трассировка маршрута сети позволит быстро найти участок, на котором появились проблемы как в локальной сети, так и в глобальной паутине Интернет.
Для выполнения этой процедуры в каждой современной операционной системе есть соответствующий инструмент.
В ОС Windows — это утилита tracert. В XP она была доступна по умолчанию, а вот во всех последующих версия вплоть до Windows 10 её надо включать дополнительно через «Программы и Компоненты».
В операционных система ОС семейства *NIX — Linux, FreeBSD, Android — программа traceroute
Смысл алгоритма трассировки маршрута в том, что посылается по три специальных запроса на каждый сетевой узел, через который идёт трафик до нужного хоста, затем для каждого из них на экране, рядом с его адресом, выдаётся время ответа. По этим результатам можно легко отследить на каком участке сети начинают появляться задержки ответа или он вообще пропадает.
Трассировка в Windows 10
Для проведения трассировки сети в Windows 10 необходимо нажать комбинацию клавиш Win+R и в окне «Выполнить» набрать команду «cmd». Этим Вы откроете командную строку Виндовс, в которой надо ввести команду:
tracert <IP-адрес или имя сервера>
Для примера возьмём сайт google.ru
Трассировка в Linux
В операционных системах семейства Linux — Ubuntu, Fedora, CentOS и т.п. — для запуска трассировки маршрута в надо открыть системную консоль и ввести команду:
traceroute <имя_сервера>
Пример:
Внимание! Использовать трассировку маршрута в сети для оценки качества последней мили (абонентской линии ADSL,FTTB или PON) нельзя, так как эта системная программа никоим образом оценить качество линии не может и не умеет.
If you’re having network connectivity problems, you can run a traceroute to pinpoint exactly where your connection is failing. The traceroute command will provide you with information about your internet connection, website status, and more. Then you can give this information to your technical support representative to resolve your network connectivity issues. Here’s how to run a traceroute on Windows 10 and how to read your traceroute results.
What Is Traceroute?
Traceroute is a network diagnostic tool that tracks the path of a packet of data as it travels from your computer to a destination over the internet. Running a traceroute lets you see where your connection is slow or unresponsive.
You can think of the traceroute tool like a traffic map of your internet connection. When you run a traceroute, you will see all the “hops,” or routers that three separate packets are pushed through on their way to a destination. It will also show you your network’s latency, or how long it took for each packet to travel from one hop to the next.
If you just want to test your network’s latency, check out our step-by-step guide on how to do a ping test on your Windows 10 computer.
How to Run a Traceroute on a Windows 10 Computer
To run a traceroute on a Windows 10 computer, open the Windows search box and type CMD into the search bar. Then open the Command Prompt app and type in tracert followed by a space and then the destination URL or IP address. Finally, hit Enter.
- Open the Windows search box. You can do this by clicking the magnifying glass icon in the bottom-left corner of your screen.
- Then type CMD in the search bar and click Open.
- Next, type tracert followed by a space and then an IP address or URL. If you just want to test your internet connection, it is a good idea to run a traceroute to 8.8.8.8 (Google’s DNS server). You can also run a traceroute to the URL of any website or IP address. Just make sure you leave a space after tracert and before the URL or IP address. For example, to run a traceroute to HelloTech.com, you would type tracert hellotech.com into the Command Prompt app.
- Finally, press Enter on your keyboard and wait for the traceroute to finish. You will see the words Trace complete when the process is finished. You can also stop a traceroute at any time by pressing the Control + C keys on your keyboard at the same time.
To copy the traceroute results, left-click and drag your mouse to select the traceroute results. Then press Enter on your keyboard. Next, open a document or text file and paste the traceroute results there.
How to Read Traceroute Results
To read your traceroute results, look for the round trip time (RTT) in columns two through four. If you see any hops that took a long time or there is an error message in any of the rows, that might be where you have network connectivity problems.
How to Read the Traceroute Columns
- Column 1: This represents the hop number, or the number of hops that the three data packets were pushed through to reach the destination.
- Columns 2-4: These show the round trip time measured in milliseconds. RTT represents the time it took for a data packet to travel from the source to the destination and back again. To check for the consistency of the response times, the traceroute command sends three packets to each hop, which is why there are three time values listed per row. RTT values below 100 milliseconds are acceptable. However, if you see RTT values consistently increasing from the middle hop to the destination, it could be due to a network problem.
- Column 5: This column shows the name or IP address of the routers on every hop from your computer to the destination. It will also list the domain name of the router, if that information is available.
How to Read the Traceroute Rows
The traceroute results will show you the IP addresses for different points in the route. The addresses in the first few rows are from your source network, the middle hops are from internet service providers (ISPs), while the last ones are those near the destination.
- Local router. The first lines of the traceroute results will indicate your gateway’s IP address. In most cases, the first line will be your router’s IP address, which usually starts with 192.168.XXX.Xor 10.0.XXX.X. However, there are other router manufacturers that will have default IP addresses that start with other numbers. To find out which row your router is on, check out our guide on how to find your router’s IP address, and then compare it to your traceroute results.
- PoP router. A Point of Presence (PoP) is the local access point of your ISP. This access point helps your device establish a connection with the internet.
- Source Tier 2 ISP Network. Your request might be routed to a regional ISP (like Comcast or Cox), which services a limited geographic area. They pay Tier 1 providers for connectivity but also have agreements with other Tier 2 providers to exchange traffic directly. You might see your ISP provider’s name in lines three or four of the traceroute results.
- IXP. An Internet Exchange Point (IXP) is a physical location where ISPs and other network providers connect to exchange internet traffic. Here, administrators make routing decisions based on hop counts and other factors.
- Tier 1 ISP Network. These ISP providers are considered the backbone of the internet because they own the infrastructure to carry most of the traffic themselves. Tier 1 providers include AT&T, Sprint, and Verizon.
- Destination Tier 2 ISP Network. This is the regional ISP closest to the data packet’s destination and can appear in the second to the last line of the traceroute results.
- Destination Web Server. This is the last line in the traceroute results before the “Trace complete” message.
Common Traceroute Error Messages
If there is an issue within the network, the traceroute results will also show error commands, which include Request timed out, Destination unreachable, * in RTT columns, and more.
- Request timed out: Seeing this error at the end of the traceroute means that a firewall or a security device might be blocking your request, or there was a problem in the return route. If you see this at the beginning, it’s nothing to worry about as it is a common hop.
- Destination net unreachable: This means that the data packets have stopped traveling within the network. Most of the time, this is because there is a problem with the router or that the website or IP address you are trying to reach is down.
- * in RTT columns: It means the router did not respond to the request within the maximum allotted time of two seconds. It could also mean that the router in the hop was not set up to provide a response to a traceroute request. However, it does not necessarily mean that the packet was dropped. To verify if there was a packet loss, you can ping the IP address of the router where you see the asterisk.
Traceroute Command Variations
If you are looking for ways to run a traceroute, you can open the Command Prompt app and type tracert /? to see variations you can use.
Now that you know how to run a traceroute on your Windows 10 computer, check out our article on how to boost your WiFi signal.