Erros de soma de verificação PCAP nem sempre são pacotes ruins: Compreendendo as evidências de descarregamento
Por que erros de checksum de TCP, UDP e IP em capturas de pacotes podem ser causados pelo descarregamento de checksum e como evitar a reescrita de boas evidências.
As capturas de pacotes geralmente mostram erros de soma de verificação de TCP, UDP ou IP. Às vezes, esses erros significam corrupção real. Às vezes, eles significam que a captura foi realizada antes do adaptador de rede preencher a soma de verificação. Se os engenheiros tratarem cada aviso de soma de verificação como um pacote inválido, eles poderão perseguir o problema errado ou reescrever evidências válidas.
O descarregamento da soma de verificação é uma das fontes mais comuns de interpretação enganosa do PCAP.
Por que o Offload cria capturas confusas
Adaptadores de rede modernos podem calcular somas de verificação em hardware. O sistema operacional pode entregar um pacote ao adaptador com campos de soma de verificação de espaço reservado. Se a captura ocorrer antes da conclusão do hardware, o PCAP poderá mostrar uma soma de verificação inválida, mesmo que o pacote colocado na rede esteja correto.
Isto é especialmente comum em capturas de saída locais. O arquivo de captura registra o que o host preparou, não necessariamente a imagem exata do fio final após o descarregamento.
Pergunte onde o pacote foi capturado
A interpretação da soma de verificação depende da posição de captura:
- capturado no host de envio antes do descarregamento da NIC
- capturado em uma porta espelho ou toque após a transmissão
- capturado no host receptor
- capturado dentro de uma VM ou limite de contêiner
- capturado em um adaptador virtual
Um aviso de checksum de saída no remetente não é o mesmo que uma falha de checksum observada em um tap independente. O ponto de captura faz parte da evidência.
Não reescreva as somas de verificação muito cedo
Pode ser tentador recalcular as somas de verificação imediatamente. Isso pode tornar as ferramentas posteriores mais silenciosas, mas também altera as evidências. Antes de editar, decida qual pergunta a captura precisa responder.
Se o objetivo for a depuração da camada de aplicação, recalcular somas de verificação para facilitar a leitura pode ser aceitável quando claramente documentado. Se o objetivo é provar a corrupção eletrônica, reescrever as somas de verificação pode apagar as próprias evidências sob investigação.
Um fluxo de trabalho controlado registra:
- quais campos de soma de verificação foram sinalizados
- direção do pacote
- ponto de captura
- se o descarregamento é provável
- se o arquivo de saída reescreveu os bytes da soma de verificação
- quais pacotes foram alterados
A edição deve ser deliberada, não automática.
Distinguir Offload de Corrupção Real
Sinais de que o descarregamento da soma de verificação pode estar envolvido:
- principalmente pacotes de saída no host de captura
- muitas somas de verificação sinalizadas em um padrão consistente
- o trânsito funciona apesar dos avisos
- ponto de captura independente não apresenta os mesmos erros
- ambiente virtualizado ou com muitos descarregamentos
Sinais de que pode haver corrupção real:
- quedas do lado do receptor
- toque independente confirma somas de verificação inválidas
- perda ou retransmissão de pacotes se alinha com falhas de soma de verificação
- erros aparecem em ambas as direções sem uma explicação de descarregamento
- erros de relatório de camada de link ou hardware de captura
A questão não é ignorar os avisos de soma de verificação. O objetivo é interpretá-los no contexto.
Onde a cirurgia PCAP se encaixa
A cirurgia PCAP foi projetada para trabalho de captura de pacotes baseado em evidências. Deve ajudar os engenheiros a inspecionar os metadados dos pacotes, entender por que uma captura parece errada e aplicar operações controladas de reescrita somente quando justificadas.
Para casos de checksum, o limite do produto é importante. Não deve "consertar" silenciosamente as capturas e fingir que nada mudou. Uma ferramenta cirúrgica útil explica:
- fonte de aviso de soma de verificação
- contexto de descarregamento provável
- conjunto de pacotes afetado
- valores antes e depois quando reescritos
- se a mudança é normalização ou reparo
Isso dá aos engenheiros de protocolo uma captura que eles podem defender, e não apenas um arquivo que abre silenciosamente.