Утилиты Ping

Компьютерное

PING

Ping расшифровывается как Packet Internet Gopher. Ping это основной и простейший инструмент для проверки вашего сетевого соединения. Вы можете проверить с её помощью связь между двумя любыми устройствами в публичной или частной сети.

Проще говоря, сеть это два и более устройства соединенных между собой любым правильно настроенным способом коммуникации. Например, если вы соедините два устройства через Ethernet кабель и правильно настроите IP, то такое соединение уже можно назвать — сеть. И вот тут ping это первейшее средство для проверки соединения между вашими двумя машинами в вашей пока еще маленькой сети. Если сеть отлично настроена, то между машинами A и B будет возможность получения и отправки пакетов от одной к другой.

ICMP Протокол:

Ping использует ICMP протокол. ICMP расшифровывается как Internet Control Message Protocol. Ping просто отправляет пакет ICMP echo-запроса на устройство назначения и ждёт ICMP echo-ответа от адресата. По завершению выводится статистика в которой отображено количество отправленных запросов и полученных ответов, потерянных пакетов и минимум, максимум и среднее время получения ответа. Время между отправкой ICMP запроса и получения ICMP ответа называется время round-trip (круиз, или туда-обратно). Ping используется не только для выявления проблем  в сети и тестирования соединения, но и для тестирования времени ответа от устройств и измерения сетевой задержки. Первое что делает ping это разрешает доменное имя места назначения в IP адрес, параллельно также тестируя на сколько правильно работают сервис dns. Ниже показан вывод ping который по умолчанию отправляет 4 пакета и останавливается.

ping google.com
Pinging google.com [216.58.192.14] with 32 bytes of dat
Reply from 216.58.192.14: bytes=32 time=306ms TTL=49
Reply from 216.58.192.14: bytes=32 time=303ms TTL=49
Reply from 216.58.192.14: bytes=32 time=302ms TTL=49
Reply from 216.58.192.14: bytes=32 time=304ms TTL=49

Ping statistics for 216.58.192.14:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss)
Approximate round trip times in milli-seconds:
    Minimum = 302ms, Maximum = 306ms, Average = 303ms

А здесь вывод ping с Linux машины который по умолчанию продолжает делать запросы до тех пор пока его работа не будет завершена через нажатие клавиш ctrl+c.

ping google.com
PING google.com (216.58.220.14) 56(84) bytes of data.
64 bytes from bom05s05-in-f14.1e100.net (216.58.220.14): icmp_seq=1 ttl=52 time=26.0 ms
64 bytes from bom05s05-in-f14.1e100.net (216.58.220.14): icmp_seq=2 ttl=52 time=25.9 ms
64 bytes from bom05s05-in-f14.1e100.net (216.58.220.14): icmp_seq=3 ttl=52 time=25.8 ms
64 bytes from bom05s05-in-f14.1e100.net (216.58.220.14): icmp_seq=4 ttl=52 time=25.8 ms
64 bytes from bom05s05-in-f14.1e100.net (216.58.220.14): icmp_seq=5 ttl=52 time=25.8 ms

^C

--- google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 25.823/25.891/26.049/0.195 ms

Другие примеры ping:

Ниже приведены несколько примеров использования ping с разными опциями. В Linux можно использовать опцию -c для ограничения количества отправляемых пакетов. В примере ниже ping отправляет 5 пакетов и останавливается.

ping -c 5 google.com
PING google.com (216.58.220.14) 56(84) bytes of data.
64 bytes from bom05s05-in-f14.1e100.net (216.58.220.14): icmp_seq=1 ttl=52 time=25.9 ms
64 bytes from bom05s05-in-f14.1e100.net (216.58.220.14): icmp_seq=2 ttl=52 time=26.4 ms
64 bytes from bom05s05-in-f14.1e100.net (216.58.220.14): icmp_seq=3 ttl=52 time=25.8 ms
64 bytes from bom05s05-in-f14.1e100.net (216.58.220.14): icmp_seq=4 ttl=52 time=25.8 ms
64 bytes from bom05s05-in-f14.1e100.net (216.58.220.14): icmp_seq=5 ttl=52 time=25.8 ms

--- google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4007ms
rtt min/avg/max/mdev = 25.817/25.986/26.417/0.283 ms

Для установки интервала между пакетами отправляемыми ping используется опция -i. В примере ниже отправляется 4 пакета с интервалом 2 секунды между каждым пакетом.

ping -i 2 -c 4 google.com
PING google.com (216.58.220.14) 56(84) bytes of data.
64 bytes from bom05s05-in-f14.1e100.net (216.58.220.14): icmp_seq=1 ttl=52 time=29.4 ms
64 bytes from bom05s05-in-f14.1e100.net (216.58.220.14): icmp_seq=2 ttl=52 time=29.6 ms
64 bytes from bom05s05-in-f14.1e100.net (216.58.220.14): icmp_seq=3 ttl=52 time=29.3 ms
64 bytes from bom05s05-in-f14.1e100.net (216.58.220.14): icmp_seq=4 ttl=52 time=29.3 ms

--- google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 6007ms
rtt min/avg/max/mdev = 29.302/29.420/29.644/0.251 ms

Опция -n используется для вывода только IP  адреса без разрешения имени получателя как в примере выше — bom05s05-in-f14.1e100.net .

ping -nc4 google.com
PING google.com (172.217.26.174) 56(84) bytes of data.
64 bytes from 172.217.26.174: icmp_seq=1 ttl=47 time=24.7 ms
64 bytes from 172.217.26.174: icmp_seq=2 ttl=47 time=24.8 ms
64 bytes from 172.217.26.174: icmp_seq=3 ttl=47 time=24.6 ms
64 bytes from 172.217.26.174: icmp_seq=4 ttl=47 time=24.5 ms

--- google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 24.536/24.673/24.820/0.105 ms

Если требуется только суммирующий результат, то используется опция -q.

ping -qc 4 google.com
PING google.com (216.58.199.142) 56(84) bytes of data.

--- google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3003ms
rtt min/avg/max/mdev = 26.226/26.402/26.677/0.168 ms

Больше информации можно получить используя опцию -h.

ping -h
Usage: ping [-aAbBdDfhLnOqrRUvV] [-c count] [-i interval] [-I interface]
            [-m mark] [-M pmtudisc_option] [-l preload] [-p pattern] [-Q tos]
            [-s packetsize] [-S sndbuf] [-t ttl] [-T timestamp_option]
            [-w deadline] [-W timeout] [hop1 ...] destination

 

fping:

Это утилита похожая на ping, которая также использует Internet Control Message Protocol (ICMP) для отправки запросов для проверки доступности удаленного хоста.  fping отличается от ping любое количество получателей запросов в командной строке, или же указать файл содержащий список целей для работы ping.  Вместо отправки запроса к одной цели и ожидания от неё ответа или таймаута, fping отправляет ping-пакет и двигается по списку к следующей цели в циклическом режиме.  В режиме по умолчанию, если получен ответ от цели, она помечается как ответившая и удаляется из следующего цикла проверки, однако если цель не отвечает за определенный временной лимит и/или достигнут лимит повторов, то цель помечается как неответившая.

fping google.com yahoo.com facebook.com
google.com is alive
yahoo.com is alive
facebook.com is alive
#fping google.com yahoo.com facebook.com nogoogle.com
google.com is alive
yahoo.com is alive
facebook.com is alive
nogoogle.com is unreachable

Мы можем создать файл и добавить в него адреса IP или имена машин чтобы затем скормить его команде fping.

$cat ips.txt
google.com
facebook.com
yahoo.com
nogoogle.com

#fping -f ips.txt
google.com is alive
yahoo.com is alive
facebook.com is alive
nogoogle.com is unreachable

Опция -f используется fping для чтения файла со списком целей. Эта опция доступна только пользователю root. Обычный пользователь может использовать это по другому.

$fping < ips.txt
google.com is alive
yahoo.com is alive
facebook.com is alive
nogoogle.com is unreachable

Мы так же можем указать диапазон IP адресов.

$fping 192.168.10.{249,250,251,252}
192.168.10.249 is alive
ICMP Host Unreachable from 192.168.10.249 for ICMP Echo sent to 192.168.10.250
ICMP Host Unreachable from 192.168.10.249 for ICMP Echo sent to 192.168.10.250
ICMP Host Unreachable from 192.168.10.249 for ICMP Echo sent to 192.168.10.250
ICMP Host Unreachable from 192.168.10.249 for ICMP Echo sent to 192.168.10.250
ICMP Host Unreachable from 192.168.10.249 for ICMP Echo sent to 192.168.10.251
ICMP Host Unreachable from 192.168.10.249 for ICMP Echo sent to 192.168.10.251
ICMP Host Unreachable from 192.168.10.249 for ICMP Echo sent to 192.168.10.251
ICMP Host Unreachable from 192.168.10.249 for ICMP Echo sent to 192.168.10.251
ICMP Host Unreachable from 192.168.10.249 for ICMP Echo sent to 192.168.10.252
ICMP Host Unreachable from 192.168.10.249 for ICMP Echo sent to 192.168.10.252
ICMP Host Unreachable from 192.168.10.249 for ICMP Echo sent to 192.168.10.252
ICMP Host Unreachable from 192.168.10.249 for ICMP Echo sent to 192.168.10.252
192.168.10.250 is unreachable
192.168.10.251 is unreachable
192.168.10.252 is unreachable


hping:

hping это другая утилита-сестра утилиты ping для тестирования сети. В некоторых дистрибутивах встречается под именем hping3 и не установлена по умолчанию. hping3 это сетевая утилита для отправки и приема пакетов TCP/IP и отображения ответов в стиле программы ping.

Эта утилита так же использует опции похожие на опции ping такие как -h для справки и -c для счетчика и т.п. Ниже — несколько примеров использования hping3.

hping3 localhost -c 3
HPING localhost (lo 127.0.0.1): NO FLAGS are set, 40 headers + 0 data bytes
len=40 ip=127.0.0.1 ttl=64 DF id=10586 sport=0 flags=RA seq=0 win=0 rtt=3.5 ms
len=40 ip=127.0.0.1 ttl=64 DF id=10657 sport=0 flags=RA seq=1 win=0 rtt=2.3 ms
len=40 ip=127.0.0.1 ttl=64 DF id=10668 sport=0 flags=RA seq=2 win=0 rtt=2.4 ms

--- localhost hping statistic ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 2.3/2.7/3.5 ms

Для отправки TCP пакеты на определенный порт, скажем, на 443 используется опция -p. В примере ниже мы отправляем 3 пакета на порт 443 на localhost.

hping3 localhost -c 3 -p 443
HPING localhost (lo 127.0.0.1): NO FLAGS are set, 40 headers + 0 data bytes
len=40 ip=127.0.0.1 ttl=64 DF id=10925 sport=443 flags=RA seq=0 win=0 rtt=1.2 ms
len=40 ip=127.0.0.1 ttl=64 DF id=11032 sport=443 flags=RA seq=1 win=0 rtt=1.2 ms
len=40 ip=127.0.0.1 ttl=64 DF id=11164 sport=443 flags=RA seq=2 win=0 rtt=1.2 ms

--- localhost hping statistic ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 1.2/1.2/1.2 ms

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

hping3 localhost -c 3 -p 443 -V
using lo, addr: 127.0.0.1, MTU: 65536
HPING localhost (lo 127.0.0.1): NO FLAGS are set, 40 headers + 0 data bytes
len=40 ip=127.0.0.1 ttl=64 DF id=15202 tos=0 iplen=40
sport=443 flags=RA seq=0 win=0 rtt=1.1 ms
seq=0 ack=2084985995 sum=3ce urp=0

len=40 ip=127.0.0.1 ttl=64 DF id=15246 tos=0 iplen=40
sport=443 flags=RA seq=1 win=0 rtt=1.3 ms
seq=0 ack=1926997853 sum=9b8c urp=0

len=40 ip=127.0.0.1 ttl=64 DF id=15314 tos=0 iplen=40
sport=443 flags=RA seq=2 win=0 rtt=4.6 ms
seq=0 ack=1033548582 sum=12b6 urp=0


--- localhost hping statistic ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 1.1/2.3/4.6 ms

Оцените статью
( Пока оценок нет )
Блог админа