Пинг. Что может быть проще? Стандартная операция отправки эхо-запроса ICMP (Internet Control Message Protocol) для проверки доступности. Пишете в командной строке ping, затем адрес и готово! Действительно, проще некуда. А что если нам наоборот, нужно что-то посложнее? Для этого в Linux вам поможет утилита fping.
Что такое fping?
Fping – это инструмент, аналогичный утилите ping, но гораздо более производительный в случае, когда нам нужно сделать пинг до нескольких узлов. С fping можно использовать файлы со списком адресов или даже указывать целые диапазоны сетей с маской.
Установка
В большинстве дистрибутивов Linux пакет fping можно установить из репозиториев:
# sudo apt install fping [ДляDebian/Ubuntu] # sudo yum install fping [Для CentOS/RHEL] # sudo dnf install fping [Для Fedora 22+] # sudo pacman -S fping [Для Arch Linux]
Если нужно установить из исходного пакета, то используются следующие команды:
$ wget https://fping.org/dist/fping-4.0.tar.gz $ tar -xvf fping-4.0.tar.gz $ cd fping-4.0/ $ ./configure $ make && make install
Готово! Теперь посмотрим, что мы сможем сделать с помощью fping
Пинг множества адресов
Используйте команду fping, а затем через пробел укажите нужные IP адреса
# fping 192.168.1.1 192.168.1. 192.168.1.3 192.168.1.1 is alive 192.168.1.1 is unreachable 192.168.1.3 is unreachable
Пинг диапазона адресов
Используйте ключи –s и –g, после которых укажите первый и последний адрес диапазона.
# fping -s -g 192.168.0.1 192.168.0.9 192.168.0.1 is alive 192.168.0.2 is alive ICMP Host Unreachable from 192.168.0.2 for ICMP Echo sent to 192.168.0.3 ICMP Host Unreachable from 192.168.0.2 for ICMP Echo sent to 192.168.0.3 ICMP Host Unreachable from 192.168.0.2 for ICMP Echo sent to 192.168.0.3 ICMP Host Unreachable from 192.168.0.2 for ICMP Echo sent to 192.168.0.4 192.168.0.3 is unreachable 192.168.0.4 is unreachable 8 9 targets 2 alive 2 unreachable 0 unknown addresses 4 timeouts (waiting for response) 9 ICMP Echos sent 2 ICMP Echo Replies received 2 other ICMP received 0.10 ms (min round trip time) 0.21 ms (avg round trip time) 0.32 ms (max round trip time) 4.295 sec (elapsed real time)
Пинг целой подсети
Укажите маску подсети через слеш, чтобы пропинговать всю подсеть. Ключ –r 1 указывает на то, что будет одно повторение операции
# fping -g -r 1 192.168.0.0/24
Пинг с адресами из файла
Можно записать в файл список адресов (в нашем случае мы назвали его merionfping.txt), и зачитать из него адреса для пинга
# fping < fping.txt 192.168.1.20 is alive 192.168.1.100 is alive