Сетевому администратору протокол ARP может показаться знакомым.
ARP – это протокол, который устройства уровня 2 реализуют для обнаружения и связи друг с другом.
Инструмент arping работает по этому протоколу.
Что делает инструмент arping?
Представьте, что вы работаете с небольшой офисной сетью.
Очень заманчиво использовать классическую команду ping для проверки связи с хостами, не так ли?
Что ж, если вы используете протокол ICMP, то вы фактически выполняете запросы ARP для проверки устройств в сети.
Здесь на помощь приходит инструмент arping.
Как и ping, arping проверяет сетевые хосты с помощью пакетов ARP сетевого уровня.
Этот метод полезен для хостов, которые не отвечают на запросы проверки связи уровня 3 и уровня 4.
В этой статье показано, как использовать команду arping на Linux.
Arping на Linux
Среди сетевых администраторов популярным инструментом является арпинг.
Однако он не входит в стандартный набор инструментов, предлагаемый Linux.
Итак, вам придется устанавливать arping вручную.
Независимо от того, какой дистрибутив вы используете, он должен быть доступен непосредственно с официальных серверов распространения пакетов.
Выполните следующую команду в соответствии с вашим дистрибутивом.
Для Debian/Ubuntu и производных для инструмента arp необходим пакет net-tools:
$ sudo apt install arping net-tools
Fedora:
$ sudo dnf install arping
openSUSE:
$ sudo zypper install arping2
Использование arping
Обнаружение хостов
Если через Ethernet подключено несколько устройств, то в системах уже есть внутренняя таблица ARP для связи по сети.
Вы можете использовать arping для вывода списка записей в вашей сети.
Для этого выполните следующую команду:
$ arp -a
Как видите, команда выводит список имен хостов вместе с их IP и MAC-адресами.
Пинг хостов
Если вам известен IP-адрес целевого устройства, вы можете просто передать его в arping для выполнения ARP ping.
$ arping
Если появляется сообщение:
arping: Suitable device could not be determined. Please, use option -I.
Явно укажите сетевой интерфейс как показано на скриншоте:
Arping также позволяет вам определить, сколько раз нужно проверять связь с целевым устройством.
Для этого используйте флаг «-c», за которым следует количество выполненных эхо-запросов.
Один быстрый совет: если обнаружено новое устройство, вы должны выполнить следующую команду, чтобы обновить таблицу ARP:
$ arp -a
ARP Timeout
Если arping не может определить IP-адрес цели, это вызовет тайм-аут ARP.
Чтобы продемонстрировать, выполните следующую команду.:
$ arping -c 7 8.8.8.8 -I ens192
IP-адрес должен быть недоступным.
Как указать исходный IP-адрес
Еще одна интересная особенность arping – это возможность вручную определять IP-адрес источника.
Однако у этого метода есть свои проблемы.
Как только arping пингует устройство, устройство ответит на IP-адрес, который вы указали вручную.
Без владения этим IP-адресом arping не получит ответов.
Чтобы определить исходный IP-адрес вручную, используйте флаг «-S».
$ arping -c 7 -S
Справка по команде arping
Например, arping предлагает страницу быстрой справки для документации на лету:
$ arping --help
Заключение
В этом руководстве рассматриваются некоторые из наиболее распространенных методов использования arping.
Вы можете обновить таблицу ARP и подделать MAC- и IP-адрес, используя режим promiscuous .