TCPDump
Objetivo e funcionamento
Capturar pacotes em uma interface e aplicar filtros BPF antes da gravação. A visibilidade depende do ponto de captura, offloads, VLAN, bridge, namespace, espelhamento e criptografia. Modo promíscuo permite receber quadros entregues à interface além do MAC local, mas não atravessa switches sem SPAN/TAP e pode ser desativado com `-p`.Seleção e saída segura
sudo tcpdump -D
sudo tcpdump -i eth0 -nn
sudo tcpdump -i any -nn -c 100
sudo tcpdump -i eth0 -nn -s 0 -w incidente.pcap
sudo tcpdump -nn -r incidente.pcap
`-D` lista interfaces; `-i` escolhe; `-nn` evita DNS e nomes de portas; `-c` limita pacotes; `-s` define *snap length* (`0` solicita pacote completo nas versões atuais); `-w` grava PCAP; `-r` lê. Captura completa aumenta risco e armazenamento. Use `-C`, `-G`, `-W` para rotação conforme a versão e teste a política antes do incidente.Filtros BPF
tcpdump -i eth0 -nn host 192.0.2.10
tcpdump -i eth0 -nn net 192.0.2.0/24
tcpdump -i eth0 -nn port 443
tcpdump -i eth0 -nn src host 192.0.2.10 and dst port 443
tcpdump -i eth0 -nn tcp
tcpdump -i eth0 -nn udp
tcpdump -i eth0 -nn icmp or icmp6
tcpdump -i eth0 -nn arp
tcpdump -i eth0 -nn 'udp port 53 or tcp port 53'
tcpdump -i eth0 -nn 'udp port 67 or udp port 68'
tcpdump -i eth0 -nn 'ether proto 0x8863 or ether proto 0x8864'
Os últimos filtros cobrem DNS, DHCPv4 e descoberta/sessão PPPoE. Para DHCPv6 use portas UDP 546/547. Parênteses e operadores devem ser protegidos do shell.Flags TCP e casos práticos
tcpdump -i eth0 -nn 'tcp[tcpflags] & tcp-syn != 0'
tcpdump -i eth0 -nn 'tcp[tcpflags] & tcp-rst != 0'
tcpdump -i eth0 -nn 'host 192.0.2.10 and (tcp port 80 or tcp port 443)'
tcpdump -i eth0 -nn -vvv 'icmp or icmp6'
- SYN sai sem SYN-ACK: retorno ausente, filtro, NAT ou servidor são hipóteses; capture em outro ponto;
- SYN, SYN-ACK e ACK aparecem: handshake ocorreu naquele ponto;
- RST: identifique origem e sequência; pode ser porta fechada, aplicação ou dispositivo intermediário;
- DNS query sem response: compare cliente, gateway e resolvedor;
- ARP Request repetido sem Reply: permaneça na camada local;
- PPPoE PADI sem PADO: investigue VLAN, bridge, acesso e concentrador.
Procedimento e permissões
Defina hipótese, interface, fluxo e duração; sincronize relógio; use o filtro menos amplo que ainda captura contexto; reproduza uma vez; pare e faça cópia íntegra. `root`, capabilities ou grupo específico podem ser exigidos. Conceder captura é privilégio sensível e deve seguir menor privilégio.Privacidade, armazenamento e evidência
PCAP pode conter credenciais sem criptografia, cookies, consultas DNS, IPs, payloads e dados pessoais. Obtenha autorização, minimize snap length/escopo, criptografe armazenamento, controle acesso e retenção, registre hash e cadeia de custódia quando necessário. Não envie PCAP bruto sem revisão.Registre host/ponto, interface/VLAN, filtro literal, comando/versão, timezone, início/fim, hipótese, reprodução, nome do arquivo, tamanho, hash e responsáveis.