Descomprimir dados binários GZIP registrados

0

Em um esforço para verificar se meu aplicativo estava enviando para trás e para frente com meu servidor corretamente, eu tinha executado

tcpdump -w ~/capture.txt -s 0 port 80

em um servidor com proxy em posição intermediária para capturar todas as solicitações. Isso funcionou muito bem, exceto que meu navegador e servidor estão configurados para usar o gzip ao enviar dados. Eu agora tenho um arquivo capture.txt com um monte de dados binários. Qual é a maneira mais simples de decodificar esses dados para verificar se minhas chamadas de API estão funcionando corretamente?

Eu tentei copiar a carga binária dos pedidos em um arquivo separado e, em seguida, gunzipping-los, mas isso não estava funcionando ... Eu só quero a maneira mais simples de ver a versão em texto simples do que está sendo enviado e para trás .

    
por hackartist 23.04.2015 / 21:42

2 respostas

0

Infelizmente, não acho que haja comandos para gunzip apenas os bits compactados de um arquivo. Eu acho que você terá que descobrir uma maneira de obter o tcpdump para a saída do pipe que é compactada através do gunzip antes de colocá-lo no arquivo.

Em uma nota lateral, por que você não usa algo como link & curl de > apilog.txt? Ou o cliente é um dispositivo móvel?

    
por 23.04.2015 / 22:09
0

I now have a capture.txt file with a bunch of binary data.

Ou, mais corretamente, você tem um arquivo pcap , com o sufixo enganoso .txt ("enganoso" porque não é um arquivo de texto - a saída do -w do tcpdump é nunca um arquivo de texto!), que, por definição, é um conjunto de dados binários.

This worked great except that my browser and server are configured to use gzip when sending data.

Tente carregar o arquivo pcap em Wireshark ; ele tem código para descompactar cargas úteis gzipadas.

    
por 24.04.2015 / 01:20