tcpdump
sozinho não é uma ótima maneira de fazer isso, tecnicamente você pode determinar a resposta inspecionando os pacotes, mas não é a melhor camada de rede para examinar. O primeiro problema é que você precisará lidar com cabeçalhos HTTP variáveis, o segundo problema é que, com conexões HTTP / 1.1 e persistentes, você precisa inspecionar cada pacote de resposta ou remontar cada solicitação / resposta.
As solicitações HTTP são muito raramente comprimido . Pode ser útil inspecionar as solicitações de presença ou ausência de "gzip" ou "deflate" no cabeçalho Accept-Encoding:
.
As respostas HTTP devem ter um cabeçalho Content-Encoding:
contendo gzip
ou deflate
quando a compactação for usada.
Coisas a serem observadas:
- devido a um grande número de bugs do navegador, muitos servidores da web terão uma lista padrão do User-Agent que não ativará a compactação para
- é muito provável que um conjunto padrão de padrões de arquivo / URL ou tipos de conteúdo MIME também, compactação de PDFs e imagens, muitas vezes não é feito
- arquivos pequenos não podem ser compactados
No Apache, uma forma de registrar o uso da compactação é usar DeflateFilterNote de mod_deflate
e, em seguida, alterar suas diretivas de log, eu costumo usar pelo menos o seguinte em um personalizado LogFormat
:
%>s %B %I %O %D %{instream}n/%{outstream}n/%{ratio}n%% %{Content-Type}o
que registra e desativa o tamanho total, os detalhes de compactação e o tipo MIME.
Eu usei httpry
para assistir a solicitações HTTP, mas não funcionará bem aqui porque infelizmente não o recurso para inspecionar e registrar os cabeçalhos response (ele também não remonta pacotes ou fluxos HTTP).
Dois programas que devem fornecer os detalhes necessários são justsniffer
e xplico
(note que eu nunca usei, pois eles são um pouco difíceis de compilar devido às suas dependências, se você pode obter pacotes binários para o seu sistema operacional, então você deve estar ok).