Устанавливаем arpwatch
Из порта:
cd /usr/ports/net-mgmt/arpwatch && make install clean
|
Пакетом:
после чего правим rc.conf для запуска arpwatch при загрузке системы:
arpwatch_enable="YES" #включаем arpwatch
arpwatch_interfaces="nfe0" #какие интерфейсы слушать
#arpwatch_interfaces=" " #слушать все интерфейсы
|
Ведение логов
для ведения логов лучше настроить для этого syslog.conf:
!arpwatch
*.notice /var/log/arpwatch.log
|
Мониторинг
Таблица соответствия адресов находится в файле /usr/local/arpwatch/arp.<интерфейс>.datи выглядит как обычный текстовый файл, с MAC-адресом, IP-адресом, временем попадения в таблицу, и именем интерфейса, через который пришёл исходный запрос.
cat /usr/local/arpwatch/arp.nfe0.dat
0:f:ea:63:e2:d7 192.168.1.31 1265370078 oksen
0:1:29:1b:35:7e 192.168.1.18 1265369952 narman
0:2:b3:b2:26:e4 192.168.1.254 1265370062 ns
0:1d:7d:a6:77:64 192.168.1.67 1265368627 r423-1
0:1d:7d:a6:70:80 192.168.1.84 1265370079 lib5
0:1d:7d:70:6f:28 192.168.1.43 1265370029 tender
0:1d:7d:a6:70:35 192.168.1.82 1265370064 lib3
0:c:76:97:51:e5 192.168.1.48 1265368690 jurist
0:b:6a:6d:fd:81 192.168.1.83 1265370048 lib4
0:e0:4d:2a:cd:68 192.168.1.35 1265369127 matbuh2
0:1d:7d:a6:6a:4b 192.168.1.86 1265370064 lib7
0:1a:4d:dc:db:46 192.168.1.65 1265370078 r421a
0:e:a6:27:5a:59 192.168.1.156 1265370034 lib2-ab1
0:2:44:5a:a4:3d 192.168.1.45 1265369568 ois3
0:f:ea:4f:20:89 192.168.1.24 1265370015 glbuh
0:1a:4d:fb:e:a4 192.168.1.152 1265370059 lib2-4z
0:2:b3:b8:8a:36 192.168.1.38 1265370059 serv3
|
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.
|
если есть необходимость вести журнал всех событий (не только важных), то меняем (*.notice) на (*.*) в syslog.conf
после чего перезагружаем syslog
выглядеть это будет примерно так:
cat /var/log/arpwatch.log
|
Feb 5 09:27:20 bsd-9 arpwatch: new station 192.168.1.169 0:13:8f:27:2f:6f Feb 5 09:30:39 bsd-9 arpwatch: new station 192.168.1.29 0:13:8f:24:a3:a Feb 5 09:35:39 bsd-9 arpwatch: new station 192.168.1.28 0:2:44:5a:69:65 Feb 5 09:53:28 bsd-9 arpwatch: new station 192.168.1.33 0:2:44:5a:69:6b Feb 5 09:55:40 bsd-9 arpwatch: new station 192.168.1.8 0:1d:7d:a6:6a:73 Feb 5 10:17:35 bsd-9 arpwatch: new station 192.168.1.249 0:13:46:65:81:f5 Feb 5 10:17:36 bsd-9 arpwatch: changed ethernet address 192.168.1.249 0:11:95:b8:96:42 (0:13:46:65:81:f5) Feb 5 10:41:15 bsd-9 arpwatch: new station 192.168.1.146 0:f:ea:63:f8:40 Feb 5 10:49:11 bsd-9 arpwatch: new station 192.168.1.164 0:19:5b:2f:99:b1 Feb 5 10:52:11 bsd-9 arpwatch: new station 192.168.1.124 0:f:ea:63:f8:32 Feb 5 11:00:57 bsd-9 arpwatch: new station 192.168.1.170 0:f:ea:4f:65:d7
|
по желанию можно настроить ротацию:
/var/log/arpwatch.log 644 3 100 * JC
|