🦈 Cap 18: Análise Profunda de Pacotes: Wireshark, Tcpdump, Filtros BPF e Troubleshooting de Rede
🗺️ O Fluxo de Captura e Análise Forense de Tráfego de Rede
flowchart LR
IFACE["Interface de Rede (eth0)\nTráfego de Pacotes em Tempo Real 🌊"]
--> |"Berkeley Packet Filter (BPF)"| TCPDUMP["<b>tcpdump</b> (Terminal / Servidor Remoto)\nSalva arquivo 'captura.pcap' 💾"]
TCPDUMP --> |"Download / SCP"| WIRESHARK["<b>Wireshark</b> (Estação de Trabalho)\nInspeção de Frames, Gráficos de Fluxo TCP & TLS Decryption 🦈 ⚡"]
style IFACE fill:#ede7f6,stroke:#512da8,stroke-width:1.5px
style TCPDUMP fill:#00897b,stroke:#004d40,stroke-width:2px,color:#ffffff
style WIRESHARK fill:#e1f5fe,stroke:#03a9f4,stroke-width:2px
📖 Fundamentos e Aplicação
A análise de pacotes (Packet Sniffing / Deep Packet Inspection) é a habilidade definitiva de engenheiros de infraestrutura, DevOps e especialistas em segurança para diagnosticar falhas intermitentes, retransmissões TCP, lentidão de DNS e investigar incidentes de segurança.
1. Captura com tcpdump e Filtros BPF (Berkeley Packet Filter):
- O utilitário de linha de comando mais leve e onipresente em servidores Linux.
- Sintaxe BPF de Alta Performance: Permite filtrar no nível do kernel antes de gravar no disco (ex:
tcpdump -i eth0 -nn "port 443 and (src 192.168.1.5 or src 10.0.0.1)" -w trafego.pcap).
2. Wireshark: O Analisador Gráfico Padrão da Indústria:
- Dissecção de Protocolos em Árvore: Inspeção campo a campo de frames Ethernet, cabeçalhos IP, TCP flags e payloads de aplicação.
- Filtros de Exibição (Display Filters):
tcp.analysis.retransmission: Encontra todas as perdas e retransmissões de pacotes na rede.http.response.code >= 500: Isola erros internos de servidor.dns.flags.response == 0: Filtra apenas requisições de resolução de nomes pendentes.
- Seguimento de Streams (Follow TCP / TLS Stream): Reconstitui a conversa completa em texto legível.
3. Decodificação TLS com Arquivo SSLKEYLOGFILE:
Permite ao Wireshark descriptografar tráfego HTTPS seguro fornecendo o arquivo de chaves de sessão exportado pelo navegador ou aplicação em ambiente de desenvolvimento controlado.