Ping и трассировка в командной строке

Оглавление

Advanced information

This tool is based on Linux open-source utilities traceroute.

This graphical traceroute implementation is set up to track the path of an IP packet to a maximum of 30 hops. These raw ICMP echoes are in the form of ECHO_REQUEST datagrams, eliciting an ICMP TIME_EXCEEDED response from the last hop on the complete trip of a probing packet. The program will wait no more than 2 s before timing out waiting for such TIME_EXCEEDED response packets.

As UDP and TCP-type packets are more commonly blocked or throttled by modern devices or routers, this ping test provides a maximum guaranteed network penetration by using the ICMP protocol.

Примеры трассировки сети в Linux

Например, выполним трассировку до сервера losst.ru:

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

У вас, наверное, возник вопрос, почему время прохождения для некоторых узлов такое долгое? Ведь если выполнить ping, то общее время будет намного меньше. Дело в том, что время засекается для пути пакета туда и обратно. От запроса до ответа. Это раз, но еще нужно учитывать что маршрутизаторы дают высший приоритет для приходящих пакетов, когда для сервисных  задержки могут быть более длинными.

Еще, вместо одного узла вы можете видеть звездочки traceroute. Это еще не значит, что он не работает. Это означает что всего лишь он не захотел нам отвечать. Давайте проверим еще что-нибудь, например, публичный DNS google:

Здесь уже больше узлов, и такая же ситуация со звездочками. Если бы на пути к серверу возникла ошибка, мы бы это увидели. Например, узел 195.153.14.1 нам не ответил и мы смогли отследить запрос только до 212.162.26.169.

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

Но трассировка может использоваться не только для обнаружения обрыва в цепочке маршрутизаторов. У нее еще есть достаточно интересное применение по исследованию сети. Например, вы можете попытаться определить использование подсетей провайдером. Отправим три запроса на разные адреса:

Затем сравните выводы этих команд. Вы увидите, что начальные IP адреса одинаковые. Мы можем сделать вывод, что наш роутер 192.168.1.1 подключен к локальной сети провайдера 195.5.8.0/24, которая, в свою очередь, подключена к сети 10.50.50.0/24 откуда уже получает доступ к внешней сети.

FC (File Compare)

Команда FC пригодится в основном кодерам, также она может использоваться теми юзерами, которым приходится работать с текстовыми файлами. Эта команда позволяет сравнивать содержимое двух файлов, отыскивая между ними несоответствия. Допустим, у вас имеются два файла file1.docx и file2.docx и вы хотите их сравнить. Выполните в консоли следующую команду:

fc /U “D:file1.docx” “D:file2.docx”

В данном примере мы сравнили два простых текстовых документа. Интерпретатор командной строки нашел несоответствие в одном из предложений и указал конкретное место. Команда FC также позволяет сравнивать бинарные файлы, файлы в кодировке юникод, определять число несоответствий и т.п. Если сравниваемые файлы окажутся идентичными, при выполнении команды FC будет выведено соответствующее сообщение.

Пинг промежуточных узлов

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

В ОС Windows по умолчанию передается только четыре пакета, чего недостаточно, если проблема проявляется кратковременно. Поэтому нужно снять это ограничение параметром -t
(чтобы потом остановить обмен пакетами, нажать CTRL+C
).

Теперь по порядку.

1. Запустите команду cmd: Win+R >
пропишите cmd > ОК
.

2. В открывшейся командной строке введите ping -t Х.Х.Х.Х
(где Х.Х.Х.Х – это адрес одного из промежуточных узлов, которые мы узнали при трассировке) и нажмите Enter
.

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

Полезно!
Если вам нужно постоянно отслеживать качество соединения, для Windows можно воспользоваться удобной программой PingPlotter.

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

ping -t 10.1.1.1
ping -t 193.151.89.254
ping -t 85.195.75.129
ping -t 213.248.79.29
ping -t 62.115.139.50
ping -t 62.115.120.8
ping -t 62.115.153.215
ping -t 108.170.251.129
ping -t 66.249.94.135
ping -t 216.58.208.46

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

Traceroute Test FAQ

Using the Traceroute Tool

This tool is typically used to diagnose hiccups or interruptions in the transfer of data and pinpoint where along the chain it occurred. This IPv4 or IPv6 traceroute is unique in that it allows you to simultaneously test different locations at once. This lets you quickly determine if there is any packet loss or unexpected latency to the given IP or hostname. A CDN can help dramatically reduce latency by minimizing the distance between hops.

What is Traceroute?

Traceroute, also called tracert, is a utility that uses ICMP packets to record the route through the internet from one computer to another. It calculates the time taken for each hop as the packet is routed to the destination. To guarantee accuracy, each hop is queried multiple times (in this case four times) to better measure the response of that particular hop.

Анализатор пути Pro

Следующий инструмент, который мы собираемся упомянуть, — это Path Analyzer Pro. Благодаря ему мы сможем отслеживать расширенные сетевые маршруты с помощью тестов производительности, DNS, Whois и разрешение сети для исследования сетевых проблем. Кроме того, он имеет простой графический интерфейс и доступен для Windows и Мак Операционные системы OS X.

Очень важной особенностью является то, что он до 20 раз быстрее, чем традиционный traceroute. Также заслуживает внимания его функция «синопсиса», благодаря которой нам не придется искать данные с пяти или десяти серверов Whois, регистраторов, маршрутизаторов и других источников, а затем сопоставлять их и получать сводную информацию

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

What is the Difference between Tracert vs Traceroute?

Tracert and Traceroute have different syntax but both of these commands do the basic same thing.

What makes them different is the Operating System where they are executed, Tracert for Windows and Traceroute for Linux.

The other thing is how each command is implemented in the background.

On the foreground, you see the same kind of information for both cases. As a result of running tracert or traceroute, you will see the same route and transit delays of packets across the entire path.

The command is available in Unix-based, Linux, and MacOS as ‘traceroute’, while it is available as ‘tracert’ in Windows.

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

Использование утилиты «Tracert».

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

1. Пуск — Выполнить — В графе «Открыть» написать «cmd» и нажать Ок.

2. Сочетание клавиш Win (кнопка с логотипом Windows) + R (должны быть нажаты одновременно) — В графе «Открыть» написать «cmd» и нажать Ок.

3. Пуск — Все программы (или просто «Программы», зависит от версии операционной системы) — Стандартные — Командная строка.

Далее вам необходимо произвести трассировку до заданного ip адреса или доменного имени.

Использование утилиты «Pathping

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

Запуск программы производится из командной строки. Для этого вы должны войти в неё. Для операционных систем семейства Windows существует несколько способов запуска командной строки:

1. Пуск — Выполнить — В графе «Открыть» написать «cmd» и нажать Ок.

2. Сочетание клавиш Win (кнопка с логотипом Windows) + R (должны быть нажаты одновременно) — В графе «Открыть» написать «cmd» и нажать Ок.

3. Пуск — Все программы (или просто «Программы», зависит от версии операционной системы) — Стандартные — Командная

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

Копирование текста из командной строки.

Чтобы скопировать текст к кликаем правой кнопкой мышки по командной строке и вызываем контекстное меню. В открывшемся меню выбираем пункт «Пометить». После этого текст в командной строке можно выделить обычным движением мышкой и скопировать с помощь комбинации клавиш Ctrl+C.

Далее результаты необходимо будет переслать на электронный адрес почты 911@profintel.ru, с указанием вашего id номера и кратким описанием вашей проблемы.

Обзор бесплатных программ трассировки маршрута

Программа трассировки маршрута 3D Traceroute отличный пример качественного продукта

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

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

VisualRoute Lite отличное решение для диагностики сети и трассировки маршрута

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

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

К сожалению, красивая карта мира отключена в версии Lite. А так же отключена возможность отображения маршрута в виде списка, что очень странно, но в каком-то смысле ожидаемо. Тем не менее, Lite версия это хорошее соотношение бесплатного и полезного. И она стоит того, чтобы вы попробовали ее в деле.

Программа Alien IP простой и симпатичный инструмент для трассировки маршрута

 это простой инструмент трассировки, который умеет отображать на карте местоположение конечного пункта маршрута. Программа сравнима по возможностям с 3D Traceroute. Имеет простой и понятный интерфейс. Просто введите IP или Url адрес, и Alien IP тут же покажет на карте его месторасположение. Alien IP может так же определить дополнительную информацию хоста, обработать список IP, сохранить в текстовый файл вывод трассировки. Она включает редкий, но очень удобный инструмент — калькулятор IP адресов.

Где используется

Применяется для диагностики сетевых сбоев. Позволяет определить:

  1. Где произошла блокировка недоступного сайта: у провайдера или за его пределами;
  2. Место сбоя с нужного маршрута;
  3. Является ли ресурс подлинным.

Команда трассировки в CMD

Задумывались ли вы как идет сигнал от ПК к сайту? Чтобы узнать, используйте команду TRACERT. Рассмотрим на примере как мы ходим на сайт https://public-pc.com/. Запускаем командную строку. Нажимаем комбинацию клавиш «Win+R». В открывшемся окне пишем «cmd».
Пишем команду: TRACERT public-pc.com. Отобразится результат ее выполнения. Главное, чтобы количество посланных пакетов совпадало с полученными. Без потерь. Посмотрите, чтобы адрес места назначения совпал с адресом конечной точки.

Как разобраться с результатом

Команда трассировки маршрута TCP отобразит весь путь, прошедший сетевым пакетом до узла назначения. В нашем примере запрос к сайту сделал четырнадцать переходов, прошел 13 пунктов. Четырнадцатым шагом достиг результата. По умолчанию максимальное количество переходов тридцать. Во 2, 3, 4 столбце содержится информация о времени с момента отправки пакета, и до получения ответа. В последнем столбце отображаются имена и адреса узлов.
Участки, на которых время отклика самое маленькое говорит, что канал не перегружен, информация проходит без задержек. На узлах с большим временем отклика будет написано, что превышено время ожидания. Означает, что или сайт временно недоступен, или проблема у провайдера. Если прописать команду без сайта, появится справка о параметрах.

Quick How-To

Less is more. Insert the complete (sub.)domain, IPv4 or v6 to which you want to perform a visual traceroute test and press ‘TRACE’.

The traceroute tool will then send from 1 to 30 IP packets to the target, incrementing the (TTL) for each probe ping, starting from TTL 1. In this networking context, the TTL defines the maximum number of hops a packet can be relayed through during its travel over the Internet. Thus, each probe will incrementally reach one relay further than the previous ping. When a packet reaches a network node and gets its TTL credit down to 0, it will stop there and elicit a TIME_EXCEEDED response to be sent back to the ping’s origin (G Suite.Tools). That’s how our tool can measure the response time of each node within the path of an IP packet.

Примеры команд Tracert

tracert 192.168.1.1

В приведенном выше примере команда tracert используется для отображения пути от сетевого компьютера, на котором выполняется команда tracert сетевым устройством, в данном случае маршрутизатором в локальной сети, которому назначена 192.168.1.1 Айпи адрес. Результат, отображаемый на экране, будет выглядеть примерно так:

В этом примере вы можете увидеть, что tracert обнаружил сетевое устройство, использующее IP-адрес 192.168.1.254 , скажем, сетевой коммутатор, за которым следует пункт назначения, 192.168.1.1 , маршрутизатор.

tracert www.google.com

Используя команду tracert, как показано выше, мы просим tracert показать нам путь от локального компьютера до сетевого устройства с именем хоста www.google.com .

В этом примере мы видим, что tracert идентифицировал пятнадцать сетевых устройств, включая наш маршрутизатор, на 10.1.0.1 и вплоть до цель из www.google.com , который мы теперь знаем, использует общедоступный IP-адрес 209.85.225.104 , который просто один из многих IP-адресов Google.

Замечания: Хлопсы с 4 по 12 были исключены выше, чтобы просто привести пример. Если вы выполняете реальный трассер, все результаты будут отображаться на экране.

tracert -d www.yahoo.com

В этом последнем примере команды tracert мы снова запрашиваем путь к веб-сайту, на этот раз www.yahoo.com , но теперь я предотвращаю tracert от разрешения имен хостов, используя -d вариант.

В этом примере мы видим, что tracert снова идентифицировал пятнадцать сетевых устройств, включая наш маршрутизатор, на 10.1.0.1 и вплоть до цель из www.yahoo.com , который мы можем предположить, использует общедоступный IP-адрес 209.191.122.70 .

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

Summary

Although it is underestimated, Traceroute is one of the best OS-native network analytics tools. It is not only capable of testing connectivity, as Ping does, but it also finds all hops in between source and destination, including names, and delay times.

And all of this is done with the same protocol that Ping uses, ICMP. Also, by altering a field in the IP packet, the TTL.

Some software developers are even creating a front-end version of traceroute and including things such as GUIs, Geographical maps, graphs, etc. All to make a simple tool even more powerful.

But if you understand the basics and some of the tricks shown in this article, you probably won’t need fancy software.

Traceroute comes in all OS out there, from Linux, Windows, UNIX-based, to macOS.

The underlying functionality is the same, but remember that there are few command syntax and output distinctions.

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

Для этого вам понадобится служебная программа (утилита) traceroute. Принцип ее действия прост: программа посылает в проблемном направлении информационный сигнал – пакет данных, получая ответ от каждого из узлов – своеобразное информационное эхо. Таким образом, можно замерить время прохождения сигнала от одного узла к другому, без труда выявив «слабое звено».

Не нужно бросаться искать, где бы скачать такую полезную вещь: утилита traceroute уже встроена в вашу операционную систему. Для ее запуска служит команда tracert. Итак, что вам необходимо сделать:

  1. Вызываем командную строку. Для этого:
    • Нажимаем кнопку пуск на экране либо клавишу win на клавиатуре (клавиша win на стандартной клавиатуре находится между Alt и Control, на ней изображен всемирно известный логотип всеми любимой операционной системы Windows);
    • В появившемся меню (стартовом меню) выбираем пункт «выполнить». Команда «выполнить» позволяет задействовать служебные программы системы Windows, спрятанные подальше от рук любопытных пользователей, так как неумелое пользование некоторыми программами может нанести вред работе операционной системе и хранящимся на компьютере данным. Своего рода «защита от дурака». Но мы уж точно не дураки, поэтому продолжаем;
    • В появившейся после выбора «выполнить» строке вводим вручную латинским шрифтом cmd и нажимаем Ok. Командная строка вызвана.

Справка: быстро вызвать строку «выполнить» можно нажав на клавиатуре комбинацию win+r. После чего можно ввести cmd.

  1. В командную строку вводим команду tracert имя или IP сайта (с подсоединением к которому возникли проблемы). Например, tracert ru.
  2. Ожидаем результат. В результате мы увидим несколько строк (до 30), каждая из которых – узел, через который проходит информация. В строке будет написано имя или IP узла и время прохождения сигнала в миллисекундах (ms – тысячная доля секунды).

Выше описанное актуально для операционной системы Windows, а как выполняется трассировка маршрута под Linux? В общих чертах аналогично, только терминал (аналог командной строки) вместо cmd вызывается сочетанием клавиш Ctrl+Alt+t, а вместо tracert вводим traceroute. Стоит также отметить, что трассировка в Linux будет продолжаться, пока пользователь не прервет ее сам, нажав ctrl+c.

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

Use the Debug Command

Before issuing debug commands, please see Important Information on Debug Commands.

The different debug commands we have used so far gives us an insight into what happens when we use a ping or traceroute command. They can also be useful for troubleshooting. However, in a production environment, debugs should be used with caution. If your CPU is not powerful, or if you have a lot of process-switched packets, they can easily stall your device. There are a couple of ways to minimize the impact of the debug command on the router. One way is to use access lists to narrow down the specific traffic that you want to monitor. Here is an example:

With this configuration, Router4 only prints the debug message that matches the access-list 150. A ping coming from Router1 causes the following message to be displayed:

We no longer see the answer from Router4 because, these packets do not match the access-list. To see them, we should add the following:

We then have:

Another way of minimizing the impact of the debug command is to buffer the debug messages and show them using the show log command once the debug has been turned off:

As you can see, the ping and traceroute commands are very helpful utilities that you can use to troubleshoot network access problems. They are also very easy to use. As these two commands are the most widely used commands by network engineers, understanding them is very crucial for troubleshooting network connectivity.

Chrome DevTools, Step Debugger

  1. Есть баги, завязанные на скорость выполнения. Если вы будете выполнять вашу программу слишком медленно или слишком быстро, у вас не будет воспроизводиться баг.
  2. Есть множество платформ (Node.js, веб, мобильный веб, смарт-ТВ) и runners (Jest, Selenium), которые мы просто не сможем одновременно сконфигурировать и везде запустить отладчики. В лучшем случае — потратим на это очень много времени.
  3. Есть Web Workers, Service Workers, postMessage, разнообразные коммуникации между разными iframe. Даже в рамках базового JavaScript у нас может возникнуть множество проблем с отладкой.
  4. Есть ограничения нашей среды разработки. Иногда, к примеру, мы не можем получить доступ к исходникам и у нас нет SourceMaps. Из за того, как проект собирается и деплоится. Мы можем вообще не иметь прямого доступа к машине, на которой выполняется код, — к примеру, мы можем разрабатывать на dev-сервере и docker-образе). Конечно, мы можем настроить отладку там, но какой ценой?
  5. И самое главное: с пошаговым отладчиком, если вы не видите всей картины, не знаете свою кодовую базу идеально и не знаете, где искать этого Уолли, то можете потратить на это безумное количество времени.

Understanding MTR (MyTraceRoute)

MTR (MyTraceRoute, originally called Matt’sTraceRoute) is a computer program that combines the functionality of the Traceroute and Ping programs in a single network diagnostic tool. 

MTR probes routers on the route path by limiting the number of hops that individual packets may traverse, and listening to responses of their expiry. It will regularly repeat this process, usually once per second, and keep track of the response times of the hops along the path.

An MTR test result as shown here would point to issues with DNS resolution:

‘Ping request could not find host google.com. Please check the name and try again.’

If the end user is able to ping an IP address, but can’t ping a domain name, such as bbc.co.uk, then there is likely an issue with their DNS setting.

Бонус!

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

Для ОС семейства Windows такую оптимизацию проводит утилита Winmtr. Она не нуждается в установке и готова к использованию сразу после распаковки из архива.

Распаковали, запустили, что дальше?

В поле Host укажите конечный сервер, с которым будет проверяться соединение, и нажмите Start:

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

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

Раз мы проверяем соединение с сервером, нас интересуют столбцы Sent (отправлено пакетов) и Recv (получено пакетов). Если значения в этих столбцах не совпадают, значит, качество связи с узлом ухудшилось. Что делать? Обратиться в соответствующую техподдержку.

Столбец Loss поможет просмотреть динамику потерь в процентном соотношении.

Также утилита позволяет копировать текст в удобных форматах (.txt и .html) в буфер обмена (Copy to clipboard) или в отдельный файл (Export).

Двойной щелчок по промежуточному узлу позволит получить дополнительную информацию о нем.

Важно знать!

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

  1. Interval (sec) – время обновления данных в секундах.
  2. Max host in LRU list – максимальное количество хостов (или IP-адресов, если не активна опция Resolve names) до конечной точки.
  3. Ping size (bytes) – размер ICMP-пакета.
  4. Resolve names – возможность преобразовать IP-адрес в имя хоста.

А что же линуксоиды?

Для ОС семейства Linux утилита называется просто MTR. Если ее нет в вашей операционной системе, установить ее можно одним из следующих способов:

Debian/Ubuntu/Mint:

CentOS/RedHat/Fedora:

У MTR такой же функционал, как у Winmtr, а также схожий графический интерфейс. Запустить утилиту можно командой:

где X.X.X.X – это IP-адрес конечного сервера или имя хоста.

В данном случае интересуют следующие столбцы:

  • Loss % – процент потерянных пакетов между компьютером-отправителем и промежуточными узлами.
  • SNT – общее количество отправленных пакетов.

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

Отдельно отметим возможность запуска утилиты в текстовом (консольном) режиме. Для этого достаточно добавить опцию -t или —curses:

Рассмотрим еще несколько важных опций MTR, которые могут быть крайне полезны в процессе диагностики сети.

Запускает режим отчета, в котором MTR обработает заданное количество циклов (определенных опцией -c), а затем отобразит статистику и автоматически завершит работу. Этот режим полезен для сбора статистики о качестве сети.

Позволяет задать количество циклов, после которых MTR завершит работу.

Устанавливает размер пакетов в байтах.

Задает интервал между отправляемыми пакетами.

Разрешает не использовать DNS, отображает IP-адреса узлов.

Позволяет указать адрес интерфейса компьютера, с которого будут отправляться ICMP-запросы.

Итого

Разумеется, команды в консоли дают более точный результат, поскольку фиксируют даже единичные потери пакетов (короткие обрывы), но Winmtr и MTR компактные и более удобны в использовании. А на чем остановить свой выбор, решать только вам.

RemarksRemarks

  • Это средство диагностики определяет путь, полученный к назначению, отправляя сообщения эхо-запросов ICMP с различными значениями срока жизни (TTL) назначения.This diagnostic tool determines the path taken to a destination by sending ICMP echo Request messages with varying time to Live (TTL) values to the destination. Каждый маршрутизатор по пути должен уменьшить срок жизни в пакете IP по меньшей мере до 1 перед его пересылкой.Each router along the path is required to decrement the TTL in an IP packet by at least 1 before forwarding it. Фактически, TTL является максимальным счетчиком ссылок.Effectively, the TTL is a maximum link counter. Если срок жизни пакета достигнет значения 0, то ожидается, что маршрутизатор вернет сообщение об истечении времени ICMP на исходный компьютер.When the TTL on a packet reaches 0, the router is expected to return an ICMP time Exceeded message to the source computer. Трассировка определяет путь путем отправки первого сообщения эхо-запроса с TTL 1 и приращением TTL на 1 для каждой последующей передачи до тех пор, пока целевой объект не ответит или не будет достигнуто максимальное число прыжков.tracert determines the path by sending the first echo Request message with a TTL of 1 and incrementing the TTL by 1 on each subsequent transmission until the target responds or the maximum number of hops is reached. Максимальное число прыжков равно 30 по умолчанию и может быть указано с помощью параметра /h .The maximum number of hops is 30 by default and can be specified using the /h parameter. Путь определяется путем проверки превышения времени ICMP сообщений, возвращенных промежуточными маршрутизаторами, и сообщения эхо-ответа, возвращаемого назначением.The path is determined by examining the ICMP time Exceeded messages returned by intermediate routers and the echo Reply message returned by the destination. Однако некоторые маршрутизаторы не возвращают сообщения о превышении времени для пакетов с истекшими значениями TTL и невидимы для команды tracert.However, some routers do not return time Exceeded messages for packets with expired TTL values and are invisible to the tracert command. В этом случае для этого прыжка отображается строка звездочек (*).In this case, a row of asterisks (*) is displayed for that hop.
  • Для трассировки пути и обеспечения сетевой задержки и потери пакетов для каждого маршрутизатора и ссылки в пути используется команда pathping .To trace a path and provide network latency and packet loss for each router and link in the path, use the pathping command.
  • Эта команда доступна, только если протокол Internet Protocol (TCP/IP) установлен в качестве компонента в свойствах сетевого адаптера в окне Сетевые подключения.This command is available only if the Internet Protocol (TCP/IP) protocol is installed as a component in the properties of a network adapter in Network Connections.

The Traceroute Command

The traceroute command is used to discover the routes that packets actually take when traveling to their destination. The device (for example, a router or a PC) sends out a sequence of User Datagram Protocol (UDP) datagrams to an invalid port address at the remote host.

Three datagrams are sent, each with a Time-To-Live (TTL) field value set to one. The TTL value of 1 causes the datagram to «timeout» as soon as it hits the first router in the path; this router then responds with an ICMP Time Exceeded Message (TEM) indicating that the datagram has expired.

Another three UDP messages are now sent, each with the TTL value set to 2, which causes the second router to return ICMP TEMs. This process continues until the packets actually reach the other destination. Since these datagrams are trying to access an invalid port at the destination host, ICMP Port Unreachable Messages are returned, indicating an unreachable port; this event signals the Traceroute program that it is finished.

The purpose behind this is to record the source of each ICMP Time Exceeded Message to provide a trace of the path the packet took to reach the destination. For all the options about this command, see .

This is the first sequence of packets we send with a TTL=1. The first router, in this case Router2 (12.0.0.2), drops the packet, and sends back to the source (12.0.0.1) a type=11 ICMP message. This corresponds to the Time Exceeded Message.

The same process occurs for Router3 (23.0.0.3) with a TTL=2:

With a TTL=3, we finally reach Router4. This time, since the port is not valid, Router4 sends back to Router1 an ICMP message with type=3, a Destination Unreachable Message, and code=3 meaning port unreachable.

The table below lists the characters that can appear in the traceroute command output.

IP Traceroute Text Characters

Character Description
nn msec For each node, the round-trip time in milliseconds for the specified number of probes
* The probe timed out
A Administratively prohibited (example, access-list)
Q Source quench (destination too busy)
I User interrupted test
U Port unreachable
H Host unreachable
N Network unreachable
P Protocol Unreachable
T Timeout
? Unknown packet type