tcpdump é um poderoso analisador de pacotes de linha de comando que permite capturar e inspecionar o tráfego de rede. Um de seus recursos mais úteis é a capacidade de filtrar o tráfego por porta, ajudando você a se concentrar em serviços ou aplicativos específicos.

Sintaxe básica de filtragem de porta

Para capturar tráfego em uma porta específica, use o port palavra-chave:

Comando
sudo tcpdump port 80

Captura todo o tráfego (tanto de entrada quanto de saída) na porta 80 (HTTP).

Portos de origem e destino

Você pode especificar se deseja filtrar por porta de origem ou de destino:

Comando
## Capture traffic FROM port 443
sudo tcpdump src port 443

## Capture traffic TO port 443
sudo tcpdump dst port 443

Múltiplas Portas

Para monitorar múltiplas portas, use or ou portrange:

Comando
## Capture HTTP and HTTPS traffic
sudo tcpdump port 80 or port 443

## Capture a range of ports
sudo tcpdump portrange 8000-8080

Combinando filtros de porta com outros critérios

Combine filtros de porta com filtros de host ou protocolo usando operadores lógicos:

Comando
## Capture SSH traffic from specific host
sudo tcpdump port 22 and host 192.168.1.100

## Capture DNS traffic (UDP port 53)
sudo tcpdump udp and port 53

## Exclude specific port
sudo tcpdump not port 22

Opções úteis

Aprimore sua saída tcpdump com estas opções:

Comando
## Save capture to file
sudo tcpdump port 80 -w capture.pcap

## Show packet contents in ASCII and hex
sudo tcpdump port 443 -X

## Limit number of packets
sudo tcpdump port 25 -c 100

## Don't resolve hostnames (faster)
sudo tcpdump port 80 -n

Casos de uso comuns

  • Tráfego da Web: sudo tcpdump port 80 or port 443
  • E-mail: sudo tcpdump port 25 or port 587 or port 993
  • Banco de dados: sudo tcpdump port 3306 (MySQL) ou port 5432 (PostgreSQL)
  • SSH: sudo tcpdump port 22

A filtragem de portas com tcpdump é essencial para solução de problemas de rede, análise de segurança e monitoramento de aplicativos específicos sem capturar tráfego desnecessário.

Estratégia de captura que pode ser escalada

Um bom fluxo de trabalho tcpdump evita capturas gigantes inúteis:

  1. definir hipótese (qual host/porta/protocolo)
  2. construir filtro estreito
  3. limitar contagem ou duração de pacotes
  4. salve pcap para análise mais profunda no Wireshark

Exemplo:

Comando
sudo tcpdump -n -i eth0 host 10.0.0.15 and port 443 -c 500 -w tls-check.pcap

Isso fornece um conjunto de dados focado em vez de capturar tudo na interface.

Capturas de buffer de anel para incidentes longos

Para problemas intermitentes, use limas rotativas:

Comando
sudo tcpdump -i eth0 port 443 -C 20 -W 10 -w web-%Y%m%d%H%M%S.pcap

Isso mantém o armazenamento sob controle enquanto preserva as janelas de tráfego recentes.

Armadilhas comuns do filtro

Parênteses ausentes com and / or

A precedência lógica do filtro pode surpreendê-lo. Condições do grupo claramente:

Comando
sudo tcpdump '(port 80 or port 443) and host 192.168.1.20'

Capturando sem -n

Pesquisas reversas de DNS retardam a captura e adicionam ruído. Usar -n nas sessões de solução de problemas, a menos que a resolução de nomes seja necessária.

Capturando na interface errada

Verifique primeiro a interface (ip a / ifconfig) antes de assumir eth0 está ativo.

Lembrete de segurança e conformidade

As capturas de pacotes podem incluir credenciais, cookies, tokens e dados pessoais. Trate arquivos pcap como artefatos confidenciais:

  • restringir acesso
  • criptografar em repouso
  • excluir após investigação

Resultados (Operacionais)

A filtragem de portas é poderosa quando é precisa. Use capturas pequenas baseadas em hipóteses com expressões BPF claras e depois analise off-line. Isso proporciona uma análise mais rápida da causa raiz e menos conclusões falsas.

Padrão de triagem rápida para interrupção de serviço

Quando um serviço parece inativo:

  1. captura o comportamento SYN/SYN-ACK na porta de serviço
  2. confirme se os pacotes atingiram a interface correta
  3. compare capturas do lado do cliente e do lado do servidor
  4. validar contadores/logs de firewall

Isso informa rapidamente se a falha está no caminho, no firewall do host ou no processo do serviço.

Conclusão (Resposta a Incidentes)

Durante incidentes, o tcpdump com filtros de porta rígidos é uma das maneiras mais rápidas de passar de suposições para evidências em nível de pacote.