implant capture
Daemon background que captura tráfego em pcap rotativo + CLI extract com query combinada (time + IP + porta + proto) e enrichment port→process.
Setup
sudo apt install tcpdump tshark iproute2 # deps runtime
sudo implant capture service install # cria unit + config + start
sudo implant capture service status # verificaCaptura
Por default captura SSH+HTTP+HTTPS+ICMP+DNS via BPF. Operador customiza via config.
Rotação: 10 arquivos × 50MB × 1h = ~500MB cap. Arquivos em /var/lib/implant/pcap/capture-YYYYMMDDHHMMSS.pcap.
Extract (forense)
Combina critérios via AND:
# Último 1h, src de 203.0.113.4, porta 22
sudo implant capture extract --since 1h --src-ip 203.0.113.4 --port 22 --out /tmp/ssh-attack.pcap
# Range absoluto, TCP only
sudo implant capture extract --from 2026-05-23T10:00:00Z --to 2026-05-23T11:00:00Z --proto tcp
# Tudo último 24h (default)
sudo implant capture extract --out /tmp/today.pcapFiltros disponíveis: tempo (--since relativo, ou --from/--to
absolutos; default últimas 24h), IP (--ip em qualquer direção,
--src-ip, --dst-ip), porta (--port em qualquer direção,
--src-port, --dst-port) e --proto. Sem --out, grava em
./extract-TIMESTAMP.pcap.
Cada extract gera <out>.pcap + <out>.pcap.meta.json com:
- query parameters
- files_searched
- packet_count
- port_processes — mapa porta → processo listening (
sshd,traefik, etc.). Porta sem listener =null(probe suspeito).
Comandos
| Comando | Descrição |
|---|---|
service install/uninstall |
Cria/remove unit |
service start/stop/restart/status |
Ciclo de vida |
service logs [--lines N] |
journalctl wrapper |
status |
applied, files_count, total bytes, time_range |
list |
Lista pcaps com timestamps |
extract [time/ip/port/proto] [--out PATH] |
Query forense |
prune --keep-files N ou --keep-time DUR |
Cleanup manual |
config show/path |
Imprime config |
Todos com --output json para automação.
Emergency-mode
capture é uma feature opt-in. emergency-mode enable para o daemon, pcaps preservados.