Как включить или отключить Proxy ARP в Linux

Посмотрим статус Proxy ARP (1 — включен, 0 — отключен):

cat /proc/sys/net/ipv4/conf/all/proxy_arp

Можно посмотреть на конкретном сетевом интерфейсе (где eth0 — имя сетевого интерфейса):

cat /proc/sys/net/ipv4/conf/eth0/proxy_arp

Включить Proxy ARP можно так:

sudo su
echo 1 > /proc/sys/net/ipv4/conf/all/proxy_arp
echo 1 > /proc/sys/net/ipv4/conf/eth0/proxy_arp

Или так:

sudo sysctl net.ipv4.conf.all.proxy_arp=1
sudo sysctl net.ipv4.conf.eth0.proxy_arp=1
sudo sysctl -p

Для выключения Proxy ARP команды аналогичны, нужно лишь указать 0 вместо 1.

Сделанные выше изменения сбросятся после перезапуска системы, чтобы этого не произошло, откроем файл /etc/sysctl.conf в любом текстовом редакторе:

sudo nano /etc/sysctl.conf

И укажем:

net.ipv4.conf.all.proxy_arp=1
net.ipv4.conf.eth0.proxy_arp=1

При необходимости можно посмотреть приходящие ARP пакеты через tcpdump:

sudo tcpdump -n -i eth0 -e arp

Использование утилиты arping

arping — утилита посылающая arp пакеты на указанный хост и отображающая ответы.
Выполняется от пользователя root, в Linux для этого из под обычного пользователя можно дописывать перед каждой командой sudo.

Читать далее «Использование утилиты arping»

Установка и запуск Netdiscover

Установка в Linux Ubuntu/Debian:
sudo apt-get install netdiscover

Запуск:
netdiscover опции

Опции запуска:
-i интерфейс (устройство сканирования)
-r диапазон (диапазон сканирования, например 192.168.0.0/24, 192.168.0.0/16 и т.д.)
-l файл (диапазоны для сканирования, указанные в файле, каждый с новой строки)
-p (пассивный режим, в котором netdiscover только слушает и не посылает пакеты)
-s время (в миллисекундах для задержек между ARP запросами)
-c количество (количество раз для отправки запросов ARP, полезно для сетей с потерями пакетов)
-n node (последняя цифра IP с которой netdiscover при активном сканировании будет присваивать себе IP в каждой подсети, возможно указать: с 2 по 253, стандартно 66)
-S (задержка после сканирования каждых 255 хостов)
-f (быстрый режим сканирования, большинство IP в каждом диапазоне пропускаются)
-d (игнорирование конфигурационных файлов в домашней директории)
-P (производит результат сканирования для передачи в файл или другую программу, после сканирования netdiscover остановится)
-L (при использовании -P, netdiscover продолжит пассивно захватывать ARP пакеты.

Сканер сети arp-scan

arp-scan — сканнер который находит в сети доступные компьютеры и отображает их IP и MAC адреса.

Установка в Linux Ubuntu/Debian:

sudo apt-get install arp-scan

Опции запуска и прочую справочную информацию можно посмотреть выполнив команду:

man arp-scan

Примеры запуска:

sudo arp-scan -l -I eth0
sudo arp-scan --interface=eth0 192.168.0.0/24
sudo arp-scan --interface=eth0 192.168.0.0/24 | grep '192.168.0.2'
sudo arp-scan --localnet

Установка и запуск arpwatch

arpwatch — демон анализирует ARP-ответы на сетевом интерфейсе и запоминает соответствие IP-адресов и MAC-адресов. Как только соответствие нарушено, или появляются новые адреса — сообщает об этом на электронную почту.

Команда установки в Ubuntu/Debian:

apt-get install arpwatch

Приведу пример конфигурационного фала, который должен находится по адресу /etc/arpwatch.conf:

eth0 -m arp@domain.com
#если на сетевом интерфейсе настроены Vlan:
eth0.1 -m arp@domain.com
eth0.15 -m arp@domain.com
eth0.47 -m arp@domain.com
#и т.д.

Данные отправляются на указанную почту и сохраняются в директории /var/lib/arpwatch в отдельный файл для каждого сетевого интерфейса, которые потом можно просмотреть и увидеть какие MAC и IP адреса были в сети.

Опишу дополнительные ключи запуска:
-d (Режим отладки, отключаются почтовые сообщения, информация выводится в консоль)
-i (указание имени используемого сетевого интерфейса)
-N (отключение сообщений о подменах)
-n (указание сети для мониторинга)
-r (чтение и анализирование данных из файла, записанного через tcpdump, информация выводится в консоль)
-u (запуск от имение указанного пользователя)
-f (установка имени файла базы данных, по умолчанию arp.dat)

Пример типов основных сообщений которые шлет arpwatch:
new activity (Когда пара ip+mac которая не использовалась больше 6 месяцев, появилась в сети)
new station (Когда в сети обнаруживается ранее не обнаруженное устройство)
flip flop (Когда Ethernet-адрес изменился с одного известного на другой, когда в сети есть одинаковые адреса)
changed ethernet address (В ранее обнаруженной паре ip+mac изменился ip или mac адрес)

Проверить запущен ли arpwatch можно командой:

ps -ef | grep arpwatch

Замечал старое дополнение arpwatch + sql на sources.homelink.ru/arpwatch