diff options
Diffstat (limited to 'LINUX/NETWORK/Автоматическое обнаружение и уведомление о новых устройствах в сети.md')
| -rw-r--r-- | LINUX/NETWORK/Автоматическое обнаружение и уведомление о новых устройствах в сети.md | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/LINUX/NETWORK/Автоматическое обнаружение и уведомление о новых устройствах в сети.md b/LINUX/NETWORK/Автоматическое обнаружение и уведомление о новых устройствах в сети.md new file mode 100644 index 0000000..677a0b3 --- /dev/null +++ b/LINUX/NETWORK/Автоматическое обнаружение и уведомление о новых устройствах в сети.md @@ -0,0 +1,49 @@ +```sh +#!/bin/bash + +# Укажите диапазон сети (пример: 192.168.1.0/24) +NETWORK="192.168.1.0/24" + +# Файл для хранения предыдущего списка устройств +KNOWN_DEVICES="$HOME/known_devices.txt" + +# Файл для временного списка +CURRENT_DEVICES="$HOME/current_devices.txt" + +# Сканируем сеть и сохраняем MAC-адреса активных устройств +arp-scan --localnet | awk '/:/{print $2}' | sort > "$CURRENT_DEVICES" + +# Если это первый запуск, просто сохраняем список +if [ ! -f "$KNOWN_DEVICES" ]; then + cp "$CURRENT_DEVICES" "$KNOWN_DEVICES" + echo "🔍 Список известных устройств сохранён." + exit 0 +fi + +# Поиск новых устройств +NEW_DEVICES=$(comm -13 "$KNOWN_DEVICES" "$CURRENT_DEVICES") + +if [ -n "$NEW_DEVICES" ]; then + echo "🚨 Обнаружены новые устройства в сети:" + echo "$NEW_DEVICES" + notify-send "Новые устройства в сети" "$NEW_DEVICES" + echo "$NEW_DEVICES" >> "$KNOWN_DEVICES" +else + echo "✅ Новых устройств не обнаружено." +fi + +# Обновляем список известных устройств +mv "$CURRENT_DEVICES" "$KNOWN_DEVICES" +``` + + Использует arp-scan для поиска активных устройств. + +🟢 Сохраняет список известных устройств и сравнивает его с новыми данными. + +🟢 Отправляет уведомление, если в сети появилось новое устройство. + +🟢 Можно добавить в crontab для автоматического мониторинга: + +`*/5 * * * * /path/to/script.sh` + +Этот скрипт поможет отслеживать неизвестные подключения и контролировать безопасность сети.
\ No newline at end of file |
