Недавно понадобилось отслеживать в сети все изменения mac адресов, помнится еще давно читал в сети про arpwatch, и решил попробовать на его основе все это дело мониторить.
Приступимс.
Начнем с установки данной софтинки:
# cd /usr/ports/net-mgmt/arpwatch/ && make install clean && rehash
Добавляем в /etc/rc.conf следующее:
# cat /etc/rc.conf
arpwatch_enable="YES" # arpwatch
arpwatch_interfaces="vlan2 vlan3" # слушаем эти интерфейсы
#arpwatch_interfaces="" #слушать все интерфейсы
#arpwatch_vlan2_options="-m [email protected]" #отправлять протокол работы себе на мыло
Также настроим ведение логов с помощью syslog.conf
# ee /etc/syslog.conf
Добавляем:
!arpwatch
*.notice /var/log/arpwatch.log
и создаем лог-файл
# touch /var/log/arpwatch.log
после чего перезагружаем syslog
# killall -HUP syslogd
И наконец-то запускаем сам arpwatch:
# /usr/local/etc/rc.d/arpwatch start
Таблица соответствия адресов находится в файле /usr/local/arpwatch/arp.<интерфейс>.dat и выглядит как обычный текстовый файл, с MAC-адресом, IP-адресом, временем попадения в таблицу, и именем интерфейса, через который пришёл исходный запрос.
arpwatch формирует события следующих типов:
Важные:
new activity — Это Ethernet/IP был использован впервые за 6 месяцев.
new station — Это Ethernet/IP был использована впервые
flip flop — Замена адреса с одного на другой (оба были в списке).
changed ethernet address — Замена на новый MAC адрес Ethernet.
Дополнительные:
ethernet broadcast — MAC-адрес хоста является широковещательным.
ip broadcast — IP-адрес хоста является широковещательным.
bogon — Адрес отправителя IP-пакета не входит в непосредственно подключённую сеть (directly connected network) для заданного интерфейса.
ethernet broadcast — MAC-адрес отправителя состоит из одних нулей или одних единиц.
ethernet mismatch — MAC-адрес отправителя пакета не соответствует MAC-адресу, указанному внутри ARP-запроса.
reused old ethernet address — Ethernet-адрес изменился с известного адреса на адрес, который был замечен ранее, но не только что. (Похоже на flip flop, но чуть-чуть другое.)
suppressed DECnet flip flop — Сообщение «flip flop» подавлено в связи с тем, что как минимум один из двух адресов является адресом DECnet.