Утилита Psping

Утилита psping входит в состав пакета PsTools от Марка Руссиновича. Она позволяет выполнять ping по определённому tcp порту.

Введение

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

Когда вы пингуете какой-то узел, и используете при этом стандартную утилиту ping на операционной системе Windows, то используется протокол ICMP. Источник отправляет запрос вида ICMP echo request. А получатель отвечает (если ему не запрещено) ICMP echo reply. Время между отправкой запросом и поучением ответа считается временем пинга.

А разбираемая нами утилита PsPing реализует пинг но для TCP порта. Например пропингуем хост yandex.ru по 443 порту:

>psping.exe yandex.ru:443

PsPing v2.12 - PsPing - ping, latency, bandwidth measurement utility
Copyright (C) 2012-2023 Mark Russinovich
Sysinternals - www.sysinternals.com

TCP connect to 77.88.55.60:443:
5 iterations (warmup 1) ping test:
Connecting to 77.88.55.60:443 (warmup): from 192.168.0.9:56368: 17.73ms
Connecting to 77.88.55.60:443: from 192.168.0.9:56369: 18.12ms
Connecting to 77.88.55.60:443: from 192.168.0.9:56370: 17.31ms
Connecting to 77.88.55.60:443: from 192.168.0.9:56371: 17.57ms
Connecting to 77.88.55.60:443: from 192.168.0.9:56372: 17.81ms

TCP connect statistics for 77.88.55.60:443:
  Sent = 4, Received = 4, Lost = 0 (0% loss),
  Minimum = 17.31ms, Maximum = 18.12ms, Average = 17.70ms

Опции командной строки

ОпцияПримерОписание
-tpsping.exe -t yandex.ru:443По умолчанию отправляются 4 пакета, эта опция позволяет пинговать бесконечно, а для остановки: Ctr+c.
-npsping.exe -n 10 yandex.ru:443Указываем количество пакетов, которые будут отправлены.
-ipsping.exe -i 5 yandex.ru:443Указываем интервал, через который будут посылаться пакеты.
-qpsping.exe -q yandex.ru:443Тихий режим, скрываем процесс пинга и увидеть лишь конечный результат.
-hpsping.exe -q -n 100 -h yandex.ru:443Строим гистограмму. Удобно использовать совместно с опциями -q и -n.

Последний пример покажу с выводом:

psping.exe -q -n 100 -h yandex.ru:443

TCP connect to 5.255.255.70:443:
101 iterations (warmup 1) ping test: 100%

TCP connect statistics for 5.255.255.70:443:
  Sent = 100, Received = 100, Lost = 0 (0% loss),
  Minimum = 12.18ms, Maximum = 22.46ms, Average = 14.62ms

Latency Count
12.18   9
12.72   18
13.26   29
13.80   17
14.34   9
14.88   3
15.42   2
15.97   1
16.51   0
17.05   0
17.59   0
18.13   0
18.67   0
19.22   0
19.76   0
20.30   1
20.84   3
21.38   3
21.92   4
22.46   1
  • Больше всего пакетов (29 из 100) были получены за 13.26 ms.

Пинг с помощью icmp

Чтобы PsPing использовал для пинга icmp достаточно не указать порт:

psping.exe yandex.ru

Латентность и скорость соединения

Есть ещё две интересные опции, но в этом случае утилиту нужно будет запускать на обоих сторонах (на клиенте и сервере). Вот эти опции:

  • -l <размер пакета > — Latency test.
  • -b -l <размер пакета> — Bandwidth test.

Напирмер:

# Запускаем на сервере слушающий порт (с правами администратора)
psping.exe -4 -f -s 192.168.0.9:21000

# Проверка латентности (на клиенте):
psping.exe -l 2m 192.168.0.9:21000

TCP latency test connecting to 192.168.0.9:21000: Connected
9 iterations (warmup 5) sending 2097152 bytes TCP latency test: 100%

TCP roundtrip latency statistics (post warmup):
  Sent = 4, Size = 2097152, Total Bytes: 8388608,
  Minimum = 0.23ms, Maximum = 0.23ms, Average = 0.23ms

# Проверка скорости (на клиенте):
psping.exe -b -l 2m 192.168.0.9:21000

Setting warmup count to match number of outstanding I/Os: 16
TCP bandwidth test connecting to 192.168.0.9:21000: Connected
20 iterations (16 warmup) sending 2097152 bytes TCP bandwidth test: 100%

TCP sender bandwidth statistics:
  Sent = 4, Size = 2097152, Total Bytes: 39845888,
  Minimum = 10.34 GB/s, Maximum = 10.34 GB/s, Average = 10.34 GB/s

Если понравилась статья, подпишись на мой канал в  VK  или  Telegram .