Как можно отслеживать ARP на устройствах MikroTik?

Существует ли возможность в MikroTik аналогично старому, но надежному arpwatch для Linux, чтобы отслеживать изменения в таблице ARP и отправлять уведомления? 
  • 21 ноября 2024 г. 10:53
Ответы на вопрос 3
Да, в MikroTik можно отслеживать изменения в таблице ARP, но возможностей по сравнению с arpwatch в Linux может быть ограничено. Однако есть несколько способов, которые могут помочь вам отслеживать ARP в MikroTik:

1. **Скрипты и планировщик задач**: Вы можете создать скрипт, который будет периодически проверять таблицу ARP и сравнивать её с предыдущими записями. Если произойдут изменения (например, появление нового MAC-адреса или изменение IP), скрипт может отправить уведомление по email или через другие средства, такие как Telegram.

   Пример части скрипта, который может быть использован для отслеживания:

   ```plaintext
   :local currentARP [ /ip arp print as-value ]
   :local previousARP [ /system script get previous-arp source ]

   :if ($currentARP != $previousARP) do={
       /tool email send to="[email protected]" subject="ARP Change Detected" body="There was a change in the ARP table."
       /system script set previous-arp source=$currentARP
   }
   ```

2. **Системные логи**: MikroTik может вести логирование событий, связанных с ARP. Вы можете настроить уровень логирования с помощью команды `/system logging add` и отслеживать записи в журнале.

3. **Использование SNMP**: Вы можете установить и настроить SNMP на MikroTik, который будет собирать информацию о состоянии ARP таблицы и передавать её на сервер мониторинга, где можно настроить уведомления при изменении данных.

4. **Экспорт данных**: Вы также можете экспортировать таблицу ARP в файл и периодически проверять его на изменения. Это немного более трудозатратно, но может быть использовано в качестве дополнительного метода.

Таким образом, хотя в MikroTik нет встроенной функциональности аналогичной arpwatch, вы можете использовать указанные подходы для реализации подобного мониторинга.
Можно в самом микротике заскриптовать (как именно это - не знаю, но точно можно, вот по гуглю что нашел https://forum.mikrotik.com/viewtopic.php?t=68703 ), и дальше например через smtp посылала куда следует.
Отслеживать - нет. 
Можно написать скрипт, который будет получать текущую таблицу (interface bridge host print либо interface ethernet switch host print) и сравнивать с предыдущей версией. По результатам сравнения сообщать. Период запуска, само собой, меньше времени жизни записи в кэше.
Хотя разумнее одним скриптом сливать в файл, а потом другим скриптом обрабатывать и кляузничать - но уже не так часто. Или вообще в БД писать, для истории...
Похожие вопросы