Ping или Packet Internet Groper - это утилита для управления сетью, которая может проверить состояние соединения между компьютером/устройством источника и назначения через IP-сеть. Она также помогает оценить время, необходимое для отправки и получения ответа от сети.
У каждого из нас есть любимые веб-сайты, которые мы часто посещаем; если один из них не загружается, мы очень хотим знать, почему. Потому ли, что у нас нет подключения к Интернету, или из-за проблем с нашим поставщиком услуг Интернета мы не можем получить доступ к сайту? Другой причиной может быть недоступность самого сайта. Какой бы ни была причина, команда Linux Ping может дать вам все ответы.
Ping использует протокол Internet Control Message Protocol (ICMP) для отправки и получения эхо-сообщений на хост или целевой компьютер и обратно, чтобы информировать нас о производительности сети. На целевой компьютер отправляется сообщение ICMP-запрос; если IP-адрес цели доступен, он отправляет ответ ICMP-сообщением на главный компьютер. Это информирует нас о состоянии подключения к сети, например, о времени обхода - времени, которое требуется для отправки и получения информационного пакета.
Использование команды Ping
В терминале Linux введите следующую команду:
ping
Вот вывод, который вы получите:
Давайте опишем (в алфавитном порядке) часто используемые опции, которые вы можете видеть выше:
Опция | Описание |
a | Используйте эту опцию для звукового сигнала, когда узел доступен. |
b | Используйте эту опцию, чтобы разрешить пинговать широковещательный адрес |
B | Используйте эту опцию, если вы не хотите разрешать пингу изменять адрес источника. |
c (count) | Используйте эту опцию, чтобы установить количество раз для отправки запроса ping |
d | Используйте эту опцию для установки опции SO-DEBUG на используемом сокете. |
f | Используйте эту опцию для заполнения сети, отправляя сто или более пакетов в секунду |
i (interval) | Используйте эту опцию для указания интервала между последовательными передачами пакетов. По умолчанию значение интервала равно 1 секунде |
I (interface address) | Используйте эту опцию для установки адреса источника на указанный адрес интерфейса. Эта опция необходима при пинге локального адреса канала IPv6. Ее аргументом может быть IP-адрес или имя устройства. |
l (preload) | Используйте эту опцию, чтобы задать количество пакетов, которые нужно отправить, не дожидаясь ответа. Для выбора значения более 3 необходимо быть суперпользователем. |
n | Используйте эту опцию для отображения сетевых адресов в виде чисел, а не имен хостов. |
q | Используйте эту опцию для отображения тихого вывода. Это означает, что при запуске и завершении работы отображается только сводка. |
T (ttl) | Используйте эту опцию для установки времени жизни |
v | Используйте эту опцию для подробного вывода |
V | Используйте эту опцию для отображения версии и выхода |
w (deadline) | Используйте эту опцию, чтобы задать тайм-аут в секундах перед завершением ping, независимо от того, сколько пакетов было отправлено или получено. |
W (timeout) | Используйте эту опцию, чтобы задать время (секунды) ожидания ответа. |
Некоторые основные функции Ping
Ниже приведены некоторые основные функции ping, которые вы будете использовать для проверки производительности вашей сети:
Пинг хоста на доступность
Вы можете проверить, жив ли хост или нет, с помощью следующей команды ping:
1 | ping [имя хоста/ip] |
Нажмите Ctrl+C для завершения команды
Увеличение/уменьшение интервала между пакетами ping
По умолчанию в Linux интервал времени между отправкой каждого пакета составляет 1 секунду. Вы можете увеличить временной интервал, задав значение больше 1, и уменьшить его, задав значение меньше 1.
Вот пример увеличения временного интервала между двумя пингами:
1 | ping -i 5 127.0.0.1 |
Вот пример уменьшения временного интервала между двумя пингами:
1 | ping -i 0.5 127.0.0.1 |
Как вы можете видеть на следующем изображении, вы должны быть суперпользователем, чтобы установить этот временной интервал меньше 0,2 секунды:
Поэтому команда должна быть выполнена с правами sudo. Она должна выглядеть следующим образом,
1 | sudo ping -i 0.5 127.0.0.1 |
Введите пароль, когда появится запрос, и команда должна сработать.
Изменение размера пакета ping
Размер пакета ping по умолчанию составляет 56 байт. Вы можете изменить его с помощью следующей команды:
1 | ping -s packetsize [имя хоста/ip] |
Здесь мы устанавливаем размер пакета в 100; вы можете увидеть значение 100 в первой строке вывода:
Настройка ping на отправку необходимого количества пакетов
Вы можете настроить ping на отправку желаемого количества пакетов следующим образом:
1 | ping -c NumberOfPackets [имя хоста/ip] |
В следующем примере мы задаем количество пакетов равным 5:
"Наводнение сети"
Команда Ping позволяет суперпользователям отправлять 100 и более пакетов в секунду с помощью следующей команды:
1 | sudo ping -f [имя хоста/ip] |
Ping печатает символ "." при отправке ping и "/" при получении.
Установка таймаута пинга
Вы можете установить лимит времени, по истечении которого ping завершит работу, независимо от того, сколько пакетов ping было отправлено или получено:
1 | ping -w timeinseconds [имя хоста/ip] |
Здесь мы используем 3 секунды в качестве таймаута:
"Звуковой пинг"
Команду ping можно настроить на воспроизведение звукового сигнала, чтобы проверить, доступен ли хост, следующим образом:
1 | ping -a [имя хоста/ip] |
Практика с помощью этого руководства позволит вам выполнять команды ping для проверки производительности сети оптимальным образом. Вы также можете использовать дополнительные переключатели для настройки запросов и ответов в ping.