Marcio Cunha

Servidores com latência intermitente? Como rastrear gargalos com tcpdump e Wireshark

Descubra como diagnosticar pacotes corrompidos e picos de lentidão em interfaces de servidores Linux usando tcpdump e Wireshark na prática.

Marcio Cunha•5 min
Também disponível em:EnglishEspañol
Resumo
  • A captura crua de pacotes com tcpdump revela o estado real do tráfego na placa de rede antes de qualquer interferência de camadas superiores.
  • Erros de CRC e pacotes truncados geralmente indicam falhas físicas em cabos, portas de switch ou problemas no driver da placa de rede.
  • A latência intermitente se manifesta em capturas através de retransmissões frequentes e janelas TCP que encolhem repentinamente.
  • O Wireshark permite transformar arquivos PCAP complexos em gráficos intuitivos de IO e sequências temporais de handshake.
  • A correlação entre métricas de hardware de rede e análises de pacotes evita falsos positivos em diagnósticos de infraestrutura.

Por que a rede do seu servidor Linux está falhando de repente

Quando uma aplicação começa a apresentar lentidão intermitente ou desconexões sem motivo aparente nos logs do sistema, o problema costuma residir nas entresourcas da pilha de rede. Muitas vezes, investigamos o banco de dados, o uso de memória ou a CPU, mas ignoramos que os pacotes de dados estão se perdendo ou chegando corrompidos no caminho. Na prática, isso significa que a placa de rede do servidor ou os equipamentos intermediários estão sofrendo com interferências físicas, falhas de driver ou sobrecarga de buffer. Entender o que realmente está acontecendo no cabo exige olhar diretamente para o fluxo binário usando ferramentas nativas.

Para capturar esse tráfego bruto sem afetar o desempenho da máquina, utilizamos o tcpdump, um utilitário de linha de comando que intercepta e exibe pacotes transmitidos ou recebidos por uma interface de rede. Ele funciona como uma escuta telefônica para o sistema operacional, gravando cada pacote em arquivos conhecidos como arquivos PCAP. Esses arquivos podem ser analisados posteriormente em ambientes gráficos poderosos como o Wireshark. Antes de iniciar qualquer investigação profunda, vale lembrar que a estabilidade do fluxo de dados depende tanto da saúde lógica quanto da integridade física dos enlaces, algo que também abordamos ao rastrear ripple e ruído de alta frequência na bancada de testes de hardware.

Como capturar tráfego em servidores de produção sem travar o sistema

Executar capturas de pacotes em servidores movimentados exige cautela, pois gravar gigabytes de dados em disco pode esgotar o armazenamento ou sobrecarregar a CPU. A melhor abordagem consiste em filtrar o tráfego logo na origem, isolando apenas os pacotes suspeitos. O comando tcpdump permite especificar interfaces, portas e endereços IP para limitar o escopo da coleta. Na prática, isso evita que o arquivo gerado fique gigantesco e impossível de abrir depois.

Para realizar uma captura segura em uma interface específica gravando os dados em um arquivo binário para análise posterior, você pode seguir os passos abaixo na linha de comando do seu servidor Linux:

  1. Identifique o nome exato da interface de rede ativa executando o comando de listagem de interfaces de rede.
    ip link show
  2. Inicie a captura direcionando o tráfego da interface principal para um arquivo dedicado, limitando o tamanho de cada pacote para salvar apenas o cabeçalho se necessário.
    sudo tcpdump -i eth0 -w diagnostico_rede.pcap -C 100 -W 5
  3. Interrompa a execução da captura após reproduzir o cenário de lentidão pressionando a combinação de teclas de interrupção no terminal.
    Ctrl + C

Com o arquivo PCAP salvo, você já possui o retrato exato do comportamento da rede durante o pico do problema. Se o servidor também estiver sofrendo com consumo excessivo decorrente de picos de carga ou processamento intenso, vale a pena cruzar esses dados com o consumo energético do hardware, conforme detalhamos no guia sobre como calcular o consumo real de energia em servidores sob estresse operacional.

Identificando pacotes corrompidos e erros ocultos de hardware

Quando pacotes chegam corrompidos, o protocolo TCP descarta os dados e exige uma retransmissão, o que gera aquela sensação irritante de lentidão intermitente. No Wireshark, pacotes corrompidos frequentemente aparecem com avisos em vermelho ou preto, indicando somas de verificação incorretas, conhecidas como erros de checksum. O checksum é um cálculo matemático feito na origem e conferido no destino; se os números não batem, o pacote sofreu alteração no meio do caminho.

Essas alterações costumam ser causadas por cabos defeituosos, conectores oxidados, portas de switch com defeito ou até mesmo problemas no controlador da placa de rede do servidor. Quando o problema está no driver ou no offloading de hardware da placa de rede, o sistema operacional pode tentar calcular o checksum incorretamente. Desativar temporariamente o recurso de descarga de soma de verificação para teste pode isolar a falha:

sudo ethtool -K eth0 rx off tx off

Se após esse ajuste os erros desaparecerem, o culpado é o driver da placa de rede ou o firmware do adaptador físico, exigindo uma atualização urgente para estabilizar o tráfego.

Diagnosticando latência intermitente e gargalos de janela TCP

Outro sintoma clássico de problemas em interfaces Linux é a latência intermitente que surge do nada e desaparece em seguida. Para rastrear isso, abra o arquivo PCAP no Wireshark e utilize a ferramenta de análise de fluxo de conversação TCP, acessível pelo menu estatístico. Procure por atrasos excessivos entre um pacote de envio (SYN ou ACK) e a resposta correspondente. Se o gráfico de tempo mostrar saltos absurdos de milissegundos para segundos, o gargalo está na rede ou no buffer do sistema operacional.

Muitas vezes, o tamanho da janela TCP diminui drasticamente, indicando que a aplicação receptora não está conseguindo ler os dados na mesma velocidade em que eles chegam. Isso sufoca a conexão e cria filas invisíveis na interface de rede. Ajustar os buffers de socket do kernel Linux no arquivo sysctl.conf costuma aliviar essa pressão, permitindo que o servidor aguente picos maiores de tráfego sem descartar pacotes por falta de espaço em memória.

Conclusão e boas práticas na depuração de redes Linux

A análise profunda de pacotes com tcpdump e Wireshark transforma um problema invisível de lentidão intermitente em um diagnóstico claro e baseado em evidências. Em vez de adivinhar a causa raiz baseando-se apenas em achismos, o engenheiro de infraestrutura consegue apontar exatamente onde o pacote foi corrompido ou onde a latência começou a se acumular. Dominar essas ferramentas garante maior resiliência aos servidores e evita interrupções prolongadas em ambientes de produção críticos.

Manter uma rotina de monitoramento preventivo e validação de cabos, drivers e configurações de kernel fecha as portas para falhas silenciosas. Ao combinar inspeções físicas na bancada com análises lógicas de pacotes, sua infraestrutura ganha a robustez necessária para operar sob qualquer demanda sem perder performance.