12 Примеров команды Ping для проверки сети

Пинг – это простая, широко используемая, кроссплатформенная сетевая утилита для тестирования доступности хоста в сети Протокола Интернет (IP). Она работает путем отправки серии сообщений Протокола Управления Сообщениями Интернета (ICMP) типа ECHO_REQUEST на целевой хост и ожидания ответа в виде эхо-сообщения ICMP (или ECHO_RESPONSE).

Вы можете запустить тест пинга, чтобы установить, может ли ваш компьютер связываться с другим компьютером (целевым хостом); это помогает вам определить:

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

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

Также показывается статистическое резюме теста, обычно включающее количество переданных и полученных пакетов, процент потерь пакетов; минимальное, максимальное, среднее время полного оборота и стандартное отклонение среднего (mdev). В случае неудачного теста пинга вы увидите сообщения об ошибках как вывод.

Примеры команды ping в Linux

В этой статье мы объясним 12 практических примеров команды ping для проверки доступности хоста в сети.

1. Пинг домена или IP-адреса

Вы можете запустить простой тест пинга, чтобы узнать, доступен ли целевой хост www.google.com или нет. Вы также можете использовать IP-адрес вместо имени домена, как показано.

$ ping www.google.com
OR
$ ping 172.217.27.196

Пример вывода:

ping www.google.com
PING www.google.com (172.217.27.196) 56(84) bytes of data.
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=1 ttl=111 time=5.01 ms
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=2 ttl=111 time=4.75 ms
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=3 ttl=111 time=5.37 ms
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=4 ttl=111 time=4.99 ms
^C
--- www.google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 4.751/5.030/5.373/0.222 ms
...

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

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

Если, например, у вас есть веб-приложение, где один пользовательский запрос приводит к так многим запросам к базе данных(ам), чтобы сгенерировать результаты на пользовательском интерфейсе, то более низкое время пинга к этому конкретному серверу означает, что больше данных передается без задержки, и наоборот.

2. Запрос эха пинга

Вы можете указать количество ECHO_REQUESTs, которые должны быть отправлены перед завершением ping, используя флаг -c, как показано (в этом случае тест ping остановится после отправки 5 пакетов).

$ ping -c 5 www.google.com

PING www.google.com (172.217.27.196) 56(84) bytes of data.
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=1 ttl=111 time=4.31 ms
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=2 ttl=111 time=4.35 ms
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=3 ttl=111 time=4.06 ms
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=4 ttl=111 time=5.20 ms
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=5 ttl=111 time=4.41 ms

--- www.google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 4.064/4.464/5.195/0.383 ms

3. Установите интервал времени ожидания для Ping

Флаг -i позволяет установить интервалы в секундах между отправкой каждого пакета, значение по умолчанию – одна секунда.

$ ping -i 3 -c 5 www.google.com

PING www.google.com (172.217.27.196) 56(84) bytes of data.
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=1 ttl=111 time=5.71 ms
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=2 ttl=111 time=6.19 ms
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=3 ttl=111 time=5.39 ms
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=4 ttl=111 time=7.34 ms
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=5 ttl=111 time=4.77 ms

--- www.google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 12014ms
rtt min/avg/max/mdev = 4.768/5.879/7.341/0.863 ms

4. Атака DoS с помощью Переполнения Ping, известная также как Ping смерти

Для оценки отклика вашей сети при высоких нагрузках вы можете запустить “флуд ping”, который отправляет запросы так быстро, как это возможно, используя переключатель -f. Эту опцию может использовать только root, в противном случае используйте команду sudo для получения прав root.

$ sudo ping -f www.google.com
OR
$ sudo ping -f -i 3 www.google.com	#specify interval between requests 

PING www.google.com (172.217.163.36) 56(84) bytes of data.
.......................................................................................................................................................................................^C
--- www.google.com ping statistics ---
2331 packets transmitted, 2084 received, 10% packet loss, time 34095ms
rtt min/avg/max/mdev = 29.096/29.530/61.474/1.417 ms, pipe 4, ipg/ewma 14.633/29.341 ms

5. Ping Широковещательного сообщения локальной сети

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

$ ping -b 192.168.0.0

6. Установите значение TTL для Ping

Для ограничения количества сетевых переходов (TTLВремя жизни), которые проходят проверки, используйте флаг -t. Вы можете установить любое значение между 1 и 255; разные операционные системы устанавливают разные значения по умолчанию.

Каждый маршрутизатор, который получает пакет, вычитает как минимум 1 из счетчика, и если счетчик все еще больше 0, маршрутизатор пересылает пакет на следующий переход, в противном случае отбрасывает его и отправляет ответ ICMP обратно на ваш компьютер.

В этом примере TTL превышен, и тест ping не удался, как показано на скриншоте.

$ ping -t 10 www.google.com
Set Ping TTL Count

7. Установите размер пакета Ping

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

$ ping -s 1000 www.google.com

8. Установите предварительную загрузку Ping

Если добавлена предварительная загрузка, ping отправляет столько пакетов, не дожидаясь ответа. Обратите внимание, что только root может выбрать предварительную загрузку более 3, в противном случае используйте команду sudo, чтобы получить привилегии root.

$ sudo ping -l 5 www.google.com 

9. Установите время ожидания Ping

$ ping -W 10 www.google.com

10. Установите время ожидания ответа, в секундах, используя опцию -W, как показано.

Установите таймаут Ping в секундах

$ ping -w 5 www.google.com

Для установки тайм-аута в секундах, прежде чем ping завершится независимо от того, сколько пакетов было отправлено или получено, используйте флаг -w.11. Отладка ICMP-пакетов Ping

Опция -d позволяет включить отладку деталей IP-пакета, как показано.

$ ping -d www.google.com

12. Подробный вывод Ping

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

$ ping -v www.google.com

Примечание: Ping не обязательно используется для тестирования сетевого подключения, он просто сообщает вам, активен ли IP-адрес или нет.

Обычно он используется вместе с программой traceroute, но MTR – современный сетевой диагностический инструмент объединяет функциональность ping и traceroute и предлагает множество дополнительных возможностей.

Для полного списка сетевых инструментов посетите: Управление, устранение неполадок и отладка сети в Linux

Сводка

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

Source:
https://www.tecmint.com/ping-command/