🛡️ Учебная система обнаружения вторжений (IDS) с оповещениями
Легковесная система обнаружения вторжений (IDS), написанная на Python, которая отслеживает сетевой трафик и обнаруживает потенциальные DoS/DDoS атаки на основе частоты запросов с IP-адреса.
📌 Возможности
- 📡 Анализ пакетов в реальном времени с помощью Scapy
- 📊 Отслеживание количества запросов с каждого IP-адреса
- 🚨 Обнаружение потенциальных DoS/DDoS атак
- 🪟 Система оповещений с графическим интерфейсом на Tkinter
- ⚡ Многопоточность для повышения производительности
🧠 Как это работает
- Скрипт прослушивает все входящие IP-пакеты.
- Отслеживается исходный IP-адрес каждого пакета.
- Запросы подсчитываются за секунду.
- Если определенный IP превышает порог (по умолчанию: 100 запросов/сек), срабатывает оповещение.
⚙️ Требования
Убедитесь, что у вас установлен Python 3, затем установите зависимости:
pip install scapy
⚠️ Примечание: Для захвата сетевого трафика могут потребоваться права администратора/root.
▶️ Использование
Запустите скрипт:
sudo python plugin.py
(Используйте sudo на Linux/macOS для прав на захват пакетов)
🔧 Настройка
Вы можете настроить чувствительность обнаружения, изменив:
THRESHOLD = 100 # Requests per second
🚨 Система оповещений
- Отображает всплывающее окно при обнаружении подозрительной активности
- Выводит сообщение об оповещении в терминал
Пример:
Possible DDoS/DoS attack detected!
Source IP: 192.168.1.5
⚠️ Ограничения
- Возможны ложные срабатывания (например, при высокой нагрузке, такой как загрузка или стриминг)
- Обнаруживает только на основе частоты пакетов (не учитывает протокол-специфичные атаки)
- Оповещения в GUI могут вызывать проблемы с производительностью при частом срабатывании
- Требуются права root/администратора
💡 Будущие улучшения
- Обнаружение конкретных типов атак (SYN Flood, UDP Flood)
- Добавление системы логирования вместо оповещений в GUI
- Интеграция с брандмауэром для блокировки вредоносных IP
- Веб-панель для мониторинга
- Фильтрация по портам
📂 Структура проекта
.
├── plugin.py
└── README.md
👨💻 Автор
Belal Eladawy
Сетевой инженер и исследователь безопасности
📜 Лицензия
Этот проект является открытым и доступен по лицензии MIT.
⭐ Поддержка
Если вы считаете этот проект полезным, поставьте ему звезду ⭐ на GitHub!