Análise de Rede com tcpdump – Guia Completo para Profissionais

Introdução

O tcpdump é uma ferramenta de linha de comando para captura e análise de pacotes de rede. Leve, poderosa e presente em praticamente qualquer distribuição Linux, é indispensável para quem deseja diagnosticar lentidão, detectar ataques, inspecionar protocolos ou simplesmente entender o que está fluindo pela rede.

Este post é um guia técnico definitivo, cobrindo desde usos básicos até comandos de detecção de falhas em tempo real, prontos para uso em ambientes críticos.


Instalação

Em distribuições baseadas em Debian/Ubuntu:

sudo apt install tcpdump

Em Red Hat/CentOS:

sudo yum install tcpdump

Captura básica

Captura todo o tráfego da interface de rede:

sudo tcpdump -i eno1

Captura somente os primeiros 96 bytes (por padrão) de cada pacote. Para capturar o pacote completo:

sudo tcpdump -i eno1 -s 0

Salvando para análise posterior

sudo tcpdump -i eno1 -w /tmp/captura.pcap

O arquivo .pcap pode ser aberto no Wireshark para análise gráfica.


Filtros comuns

Filtrar por host de origem ou destino:

tcpdump -i eno1 host 192.168.1.10

Filtrar por porta:

tcpdump -i eno1 port 80

Filtrar por protocolo:

tcpdump -i eno1 icmp
tcpdump -i eno1 udp
tcpdump -i eno1 arp

Filtrar apenas pacotes de entrada:

tcpdump -i eno1 dst host 192.168.1.10

Filtrar apenas pacotes de saída:

tcpdump -i eno1 src host 192.168.1.10

Detectando falhas de rede

Verificar se há broadcast storm

sudo tcpdump -i eno1 ether broadcast

Verificar pacotes multicast suspeitos

sudo tcpdump -i eno1 ether multicast

Detectar requisições ARP em excesso

sudo tcpdump -i eno1 arp

Monitorar pacotes DNS

sudo tcpdump -i eno1 port 53

Análise de flood ou tráfego abusivo

Identificar IPs que mais falam

tcpdump -i eno1 -n | awk '{print $3}' | cut -d'.' -f1-4 | sort | uniq -c | sort -nr | head

Detectar envios repetidos para broadcast (ex: falha em software)

tcpdump -i eno1 ether broadcast | awk '{print $3}' | sort | uniq -c | sort -nr

Combinando filtros

Exemplo: capturar apenas pacotes UDP para broadcast na porta 22222

tcpdump -i eno1 udp and dst port 22222 and ether broadcast

Dicas de performance

  • Use -c <n> para capturar apenas N pacotes:
tcpdump -i eno1 -c 100
  • Use -tttt para timestamp com data e hora completas
  • Use -v, -vv ou -vvv para maior verbosidade

Conclusão

O tcpdump é uma das ferramentas mais precisas e poderosas para diagnóstico de rede em tempo real. Se bem utilizado, substitui tranquilamente soluções visuais mais pesadas como Wireshark em servidores sem interface gráfica. Saber filtrá-lo corretamente é o que diferencia um analista comum de um profissional.

Se você chegou até aqui, significa que já está um passo além na sua visão de redes.

Rolar para cima