Skip to content

jpaullopes/c-passive-ids

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

C-PASSIVE-IDS

Sistema de detecção de intrusão de rede para Linux. Monitora uma interface de rede em tempo real e detecta ataques de SYN flood e ICMP flood, enviando alertas em JSON via UDP para um servidor de logs.

Como funciona

O c-passive-ids usa a libpcap para capturar pacotes brutos diretamente da interface de rede. Um filtro BPF aplicado no nível do kernel garante que apenas pacotes relevantes (SYN puro e ICMP Echo Request) cheguem ao programa. Cada IP de origem é rastreado em uma tabela hash com contadores por janela de tempo. Quando um limite é atingido, um alerta é enviado como datagrama UDP para um servidor configurável.

Ataque Limite Janela
SYN Flood 100 pacotes 10 segundos
ICMP Flood 3 pacotes 10 segundos

Formato do alerta:

{"alerta":"SYN_FLOOD", "ip_atacante":"192.168.1.100", "pacotes":105, "timestamp":1710000000}

Dependências

  • Linux
  • GCC
  • libpcap
sudo apt install libpcap-dev gcc make

Compilação

gcc -O2 -Wall -Wextra -o c-passive-ids main.c captura/captura.c tracker/tracker.c alerta/alerta.c -lpcap

Uso

Requer privilégios de root para capturar pacotes.

sudo ./build/c-passive-ids [ip_do_servidor] [porta]

Se nenhum argumento for passado, usa 127.0.0.1:5555 por padrão.

sudo ./build/c-passive-ids 192.168.1.10 9999

Para encerrar, use Ctrl+C.

Estrutura do projeto

main.c      — ponto de entrada, tratamento de sinais, loop principal
captura.c   — seleção de interface e configuração da sessão pcap
tracker.c   — contagem de pacotes por IP e detecção de ataques
alerta.c    — envio de alertas via UDP

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages