PathPing — утилита для трассировки сетевого маршрута, поставляемая вместе с Windows NT, Windows 2000, Windows XP, Windows Vista, Windows 7, Windows 8 и Windows 10. Сочетает в себе функциональность утилит ping и tracert и обладает дополнительными возможностями. Для Unix систем примерным аналогом является команда mtr.

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

Существенным отличием от программы tracert в Windows является то, что маршрут следования icmp-пакета записывается в тело этого icmp-пакета, что накладывает определенные ограничения. Во-первых, такой метод поддерживается не всеми маршрутизаторами, а во-вторых, накладывается ограничение на длину маршрута.

Пример:

 C:\>pathping -n www.yandex.ru
 
 Трассировка маршрута к www.yandex.ru [77.88.21.3] с максимальным числом прыжков 30:
 0  192.168.159.210
 1  217.70.110.146
 2  217.70.110.186
 3  217.70.107.219
 4  193.232.87.42
 5  213.180.208.66
 6  77.88.16.61
 7  77.88.21.3
 
 Подсчет статистики за: 275 сек. ...
          Исходный узел     Маршрутный узел
 Прыжок  RTT   Утер./Отпр.   %   Утер./Отпр.  %   Адрес
 0                                           192.168.159.210
                               0/ 100 =  0%   |
 1    0мс     0/ 100 =  0%     0/ 100 =  0%  217.70.110.146
                               0/ 100 =  0%   |
 2   10мс     0/ 100 =  0%     0/ 100 =  0%  217.70.110.186
                               0/ 100 =  0%   |
 3    3мс     1/ 100 =  1%     1/ 100 =  1%  217.70.107.219
                               0/ 100 =  0%   |
 4    1мс     0/ 100 =  0%     0/ 100 =  0%  193.232.87.42
                               10/ 100 =  10%   |
 5   66мс     10/ 100 =  10%     0/ 100 =  0%  213.180.208.66
                               0/ 100 =  0%   |
 6   68мс     17/ 100 =  17%     7/ 100 =  7%  77.88.16.61
                               0/ 100 =  0%   |
 7   66мс     10/ 100 =  10%     0/ 100 =  0%  77.88.21.3
 
 Трассировка завершена.

После запуска pathping сначала выводится путь. Это тот же путь, который выводится командой tracert. Далее в течение 275 секунд команда выдает сообщение о том, что она занята (это время варьируется в зависимости от числа переходов). В течение этого времени происходит сбор сведений со всех маршрутизаторов, перечисленных выше, и со всех соединений между ними. По завершении этого периода выводятся результаты проверки.

В примере отчета, приведенном выше, столбцы "Исходный узел", "Утер./Отпр.  %" и "Адрес" показывают, что при переходе от адреса 193.232.87.42 к 213.180.208.66 теряется 10 процентов пакетов. Маршрутизаторы в узлах 3 и 6 отбрасывают пакеты, адресованные им, но эти потери не оказывают влияние на их способность пересылать пакеты, которые им не адресованы (транзитный трафик).

Оценки потерь для соединений (задаваемых вертикальной чертой | в столбце "Адрес") показывают перегрузку, вызывающую потерю пакетов, пересылаемых по маршруту. Степень потерь пакетов на маршрутизаторах (в правом столбце таких строк указан IP-адрес маршрутизатора) показывает, что процессоры этих маршрутизаторов перегружены.

Использование:

   pathping [-g <список_узлов>] [-h <число_прыжков>] [-i <адрес>] [-n]
               [-p <пауза>] [-q <число_запросов>] [-w <таймаут>]
               [-4] [-6] <конечный_узел>

Параметры:

   -g <список_узлов>    Свободный выбор маршрута по списку узлов.
   -h <число_прыжков>   Максимальное число прыжков при поиске узла.
   -i <адрес>           Использовать указанный адрес источника.
   -n                   Не определять имена узлов по адресам.
   -p <пауза>           Пауза между отправками пакетов (мсек).
   -q <число_запросов>  Число запросов при каждом прыжке.
   -w <таймаут>         Время ожидания каждого ответа (мсек).
   -4                   Обязательное использование протокола IPv4.
   -6                   Обязательное использование протокола IPv6.

Запущенная без параметров команда PathPing выводит справку.

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