Sniffer de rede desenvolvido em Python no âmbito da UC de Redes de Computadores.
- Captura de pacotes numa interface de rede
- Parsing manual de protocolos:
- Ethernet
- ARP
- IPv4
- IPV6
- STP
- ICMP
- TCP
- UDP
- Visualização em tempo real (modo live)
- Registo de pacotes em ficheiro (modo log)
- Modo combinado (live + log)
- Interface:
- TUI (Terminal)
- GUI (Gráfica)
- Filtros:
- por protocolo
- por IP
- por MAC
- Estatísticas por protocolo
- Visualização detalhada por pacote
Instalar automaticamente com:
make venvOu manualmente:
python3 -m venv venv
venv/bin/pip install -r requirements.txtDependências principais:
scapy(apenas para captura de pacotes)PySide6(para GUI, se aplicável)
make venvListar interfaces disponíveis:
ip aExemplo:
wlo1eth0
venv/bin/python3 src/main.py \
--interface wlo1 \
--mode live \
--ui tuiParâmetros:
| Argumento | Descrição |
|---|---|
--interface |
Interface de rede |
--mode |
live, log, both |
--ui |
tui ou gui |
--logfile |
Caminho do ficheiro de log |
Correr com sudo. Por exemplo:
sudo venv/bin/python3 src/main.py ...Remover ambiente virtual:
make clean- Formato: JSON
Limpar logs:
make cleanlogsComandos disponíveis:
start → iniciar captura
stop → parar captura
list → listar pacotes
view ID → ver detalhes de um pacote
filter → aplicar filtros
stats → estatísticas por protocolo
clear → limpar lista
help → listar comandos disponíveis
exit → sair
Durante execução:
filter
Permite definir:
- protocolo (ex: TCP, UDP, ICMP)
- IP
- MAC
Gabriel Faria
Ricardo Rodrigues
Rui Gomes