🛡️ Intrusion-Alert-Educational-Network-IDS
Um Sistema de Detecção de Intrusão (IDS) leve, construído com Python para monitorar o tráfego de rede e detectar potenciais ataques DoS/DDoS com base na taxa de requisições por IP.
📌 Recursos
- 📡 Captura de pacotes em tempo real usando Scapy
- 📊 Rastreia o número de requisições por endereço IP
- 🚨 Detecta potenciais ataques DoS/DDoS
- 🪟 Sistema de alerta gráfico (GUI) usando Tkinter
- ⚡ Multithread para melhor desempenho
🧠 Como Funciona
- O script escuta todos os pacotes IP recebidos.
- O IP de origem de cada pacote é rastreado.
- As requisições são contadas por segundo.
- Se um IP específico exceder o limite (padrão: 100 requisições/segundo), um alerta é acionado.
⚙️ Requisitos
Certifique-se de ter o Python 3 instalado e, em seguida, instale as dependências:
⚠️ Nota: Você pode precisar de privilégios administrativos/root para capturar o tráfego de rede.
▶️ Uso
Execute o script:
(Use sudo no Linux/macOS para obter permissões de captura de pacotes)
🔧 Configuração
Você pode ajustar a sensibilidade da detecção modificando:
THRESHOLD = 100 # Requests per second
🚨 Sistema de Alerta
- Exibe uma janela pop-up quando atividade suspeita é detectada
- Imprime mensagem de alerta no terminal
Exemplo:
Possible DDoS/DoS attack detected!
Source IP: 192.168.1.5
⚠️ Limitações
- Pode gerar falsos positivos (ex.: tráfego intenso como downloads ou streaming)
- Detecta apenas com base na taxa de pacotes (não ataques específicos de protocolo)
- Alertas gráficos (GUI) podem causar problemas de desempenho se acionados com frequência
- Requer privilégios de root/admin
💡 Melhorias Futuras
- Detectar tipos específicos de ataque (SYN Flood, UDP Flood)
- Adicionar sistema de registro (logging) em vez de alertas gráficos
- Integrar com firewall para bloquear IPs maliciosos
- Painel web para monitoramento
- Filtragem baseada em portas
📂 Estrutura do Projeto
.
├── plugin.py
└── README.md
👨💻 Autor
Belal Eladawy
Engenheiro de Redes e Pesquisador de Segurança
📜 Licença
Este projeto é open-source e está disponível sob a Licença MIT.
⭐ Suporte
Se você achar este projeto útil, considere dar uma estrela ⭐ no GitHub!