Reparar um arquivo PCAP corrompido começa com evidências, não com conversão cega

Como os engenheiros de protocolo devem abordar arquivos PCAP truncados ou corrompidos antes de editá-los, convertê-los ou entregá-los a outra ferramenta.

PCAP, reparo, captura de pacotes, solução de problemas

Um arquivo PCAP corrompido pode interromper uma investigação no pior momento possível. A captura pode ser a única evidência de um local de cliente, de uma reprodução de laboratório ou de um incidente de produção. Quando uma ferramenta se recusa a abri-la, o impulso mais rápido é convertê-la, cortá-la ou executá-la em outro analisador.

Isso pode funcionar. Também pode destruir as pistas que explicam o que deu errado. O reparo deve começar com evidências.

Identifique o limite da falha

Antes de alterar o arquivo, determine onde ele falha:

  • cabeçalho global não pode ser lido
  • o tipo de link é inesperado
  • o cabeçalho do pacote está incompleto
  • o comprimento capturado excede o tamanho restante do arquivo
  • o comprimento original e o comprimento capturado são inconsistentes
  • campos de carimbo de data/hora parecem inválidos
  • os dados do pacote são truncados
  • os bytes finais permanecem após o último pacote válido

Cada falha implica uma estratégia de reparo diferente. Um cabeçalho global incorreto não é o mesmo que um último pacote truncado. Um tipo de link errado não é o mesmo que confusão de descarregamento de soma de verificação.

Preservar a captura original

Nunca substitua a captura original. Um fluxo de trabalho de reparo deve criar um novo arquivo e registrar o que foi alterado. Se o arquivo original for evidência em um caso de suporte, revisão jurídica ou escalonamento de fornecedor, os bytes originais serão importantes.

Um fluxo de trabalho disciplinado mantém:

  • hash do arquivo original
  • localização da falha do analisador
  • contagem de pacotes válidos antes da falha
  • bytes cortados ou reescritos
  • índices de pacotes afetados
  • hash do arquivo de saída
  • notas explicando por que a edição era segura

Isto não é burocracia. É assim que os engenheiros evitam tornar a captura menos confiável.

Padrões Comuns de Corrupção

Muitos casos de PCAP corrompidos são simples:

  • o processo de captura foi interrompido no meio da gravação
  • o arquivo foi copiado antes do escritor fechá-lo
  • o espaço em disco acabou
  • uma ferramenta escreveu um comprimento de pacote inválido
  • o tipo de arquivo errado foi renomeado como .pcap
  • as expectativas da camada de link não correspondem à carga útil

O reparo deve corresponder ao padrão. Se apenas o pacote final estiver incompleto, cortar o registro parcial final poderá recuperar o prefixo útil. Se os comprimentos dos pacotes forem inconsistentes em todo o arquivo, a captura poderá precisar de uma validação mais profunda antes de qualquer reescrita.

Não trate o reparo como normalização

Reparar significa preservar o máximo possível de evidências válidas. Normalização significa reescrever os dados em um formato preferido. São trabalhos diferentes.

Por exemplo, alterar carimbos de data/hora, recalcular somas de verificação ou reescrever cabeçalhos da camada de enlace pode ser útil posteriormente, mas essas operações não devem ser misturadas na primeira etapa de recuperação. Primeiro recupere o que é confiável. Em seguida, decida se a cirurgia controlada é apropriada.

Onde a cirurgia PCAP se encaixa

A cirurgia PCAP foi desenvolvida para revisão cuidadosa de evidências de captura e fluxos de trabalho de reescrita controlada. Não está tentando se tornar um amplo player ou um substituto para todas as ferramentas de análise. Sua função é ajudar os engenheiros a inspecionar os metadados de captura, identificar onde um arquivo falha e aplicar edições somente quando as evidências apoiarem a operação.

Para um arquivo corrompido, a saída valiosa é:

  • que parte do arquivo é válida
  • onde a análise falha
  • qual ação de reparo foi aplicada
  • quais pacotes ou bytes foram afetados
  • se o arquivo resultante pode ser aberto por ferramentas downstream

Essa é a diferença entre “executei um conversor” e “posso explicar o reparo”.