---
codigo: DOC-TEL-RED-DIA-010
tipo: conhecimento
dominio: Telecom
area: Redes
trilha: Diagnóstico de Redes
nivel_tecnico: Avançado
tempo_medio: 15-25 min
status: validado
---

# 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

```bash
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

```bash
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

```bash
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.

Checksums “incorretos” em captura no host podem ser efeito de checksum offload: o hardware completa o valor após o ponto observado. Large segmentation/receive offload também altera a aparência. Confirme com captura externa ou ajuste controlado de offloads, sem mudar produção apenas para “limpar” a tela.

## 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.

## Limitações e erros comuns

Captura local não vê necessariamente tráfego descartado antes dela; `any` pode omitir detalhes de enlace; criptografia oculta conteúdo mas não metadados; filtro estreito demais perde causa; filtro amplo demais expõe dados e sobrecarrega disco. TCPDump não substitui logs, métricas ou metodologia.

## Conclusão

TCPDump comprova eventos no ponto observado. Para localizar a falha, compare pontos e relógios sem extrapolar além da visibilidade da captura.

## Documentos Relacionados

- [MTR](./04 - MTR.md)
- [Dig](./06 - Dig.md)
- [ARP e Tabela de Vizinhança](./07 - ARP e Tabela de Vizinhança.md)
- [Netstat e SS](./09 - Netstat e SS.md)
- [Wireshark](./11 - Wireshark.md)
- [Captura de Pacotes](./12 - Captura de Pacotes.md)
- [Fluxo de Diagnóstico de Conectividade](./13 - Fluxo de Diagnóstico de Conectividade.md)
