~/portfolio

~/portfolio $ cat ./projetos/sniffer.mdx

Sniffer com Análise de Ameaças

Sniffer de pacotes em Python que detecta port scanning, ARP spoofing, DNS tunneling e beaconing.

pythonscapynetwork-securityids-litefastapi

./ficha

subject
Redes I
semester
2023/2
date
2023-11-10
category
interactive
impact
high

./links

Sobre o projeto

Sniffer acadêmico para Redes I: captura offline de PCAPs (sem raw sockets em produção) e quatro detectores heurísticos que emitem alertas quando padrões de ameaça aparecem no tráfego.

A UI Next.js consome a API FastAPI via upload multipart; gráficos Recharts mostram distribuição por tipo, origem e bucket temporal.

Demo

Abrir a demo interativa

A workbench é embebida no mesmo deploy do portfólio (@projects/sniffer-web consumido por apps/web). A API Python roda separadamente — localmente com dev:api, ou no Fly.io quando o backend estiver deployado.

Use os PCAPs de demonstração na workbench (port scan, ARP spoofing, DNS tunneling, beaconing) — cada um dispara o detector correspondente. PCAPs genéricos podem retornar zero alertas; isso é esperado.

Detectores

DetectorSinal
Port scan≥50 portas TCP SYN distintas da mesma origem para um destino
ARP spoofMesmo IP com MACs diferentes na LAN
DNS tunnelQueries com labels longos / alta entropia
BeaconingConexões periódicas para o mesmo destino

Destaques técnicos

  • Motor Python com Scapy + pytest (PCAPs sintéticos gerados nos testes)
  • Pipeline ordena alertas por timestamp
  • Upload limitado a 50 MB (.pcap / .pcapng)
  • CORS configurado para desenvolvimento local e origem do portfólio

Limitações

  • Sem captura live no deploy gerenciado — apenas análise de arquivos enviados
  • Heurísticas didáticas, não substituem IDS/IPS de produção
  • Vídeo walkthrough em breve (roadmap 2023/2)

Código

Monorepo: apps/projects/sniffer (Python em python/, UI em web/).

~/portfolio/projetos $ cd ..

cd ..