Análise do tráfego de acesso à página web

Caros leitores e leitoras, neste post nós vamos efetuar a análise de tráfego de uma situação real de rede, mas antes vamos comentar um pouco sobre os requisitos que devem ser atendidos antes de iniciar a coleta do tráfego. O Wireshark é um software para captura de tráfego classificado como software de sniffing. Em uma tradução simples sniffing é um farejamento de pacotes, então o Wireshark tem a capacidade de coletar pacotes a partir de especificações que o usuário define.

A atividade de captura de pacotes para análise é dividida em 3 fases:

  • Planejamento – definir o alvo da captura e preparar o ambiente;
  • Captura – executar o Wireshark para coletar dados;
  • Análise – filtrar e analisar os dados capturados.

Como neste pequeno artigo queremos ir direto para a etapa de análise de tráfego vamos considerar que o Wireshark já está instalado em conjunto com o Winpcap e que a interface de rede já está configurada em modo promíscuo. Assim, assumimos que esta etapa do planejamento já foi realizada. Vamos então iniciar o Wireshark e efetuar o acesso pelo navegador de sua escolha ao site de testes dos famosos professores James Kurose e Keith Ross, autores do livro “Redes e a Internet: uma abordagem top down”. Link para o site: http://gaia.cs.umass.edu/wireshark-labs/INTRO-wireshark-file1.html

Após acessar a página acima teremos apenas uma pequena mensagem no navegador que será: “Congratulations! You’ve downloaded the first Wireshark lab file!”

Daremos, então,  início a nossa análise. Vamos identificar qual comando HTTP foi utilizado pelo navegador para solicitar a carga da página e para isso pare a execução do Wireshark e digite http no campo filter conforme pode ser visto na figura 1, abaixo:

wsfig01b.png

Agora vamos selecionar e expandir o conteúdo do comando http get conforme pode ser visto na figura 2, abaixo:

wsfig02b.png

Na figura 2 também podemos ver o campo:

Request Version: HTTP/1.1

Verifique a versão HTTP do navegador e no pacote seguinte que é a resposta do servidor ao pedido get emitido pelo navegador verifique também a versão HTTP do servidor que deve ser também 1.1. O HTTP 1.1 trabalha com conexões persistentes, isto quer dizer que em uma mesma conexão TCP são enviados todos os objetos da página web que está sendo acessada. Caso a versão seja HTTP 1.0 as conexões serão não-persistentes e com isso o navegador abrirá e fechará uma novo conexão para recuperar cada um dos objetos referenciados na página web.

Esta forma diferente de operar existente na versão 1.1 do HTTP faz com que a carga de uma página web com vários objetos seja realizada de forma muito mais rápida do que na versão 1.0 e este é um item que o analista de redes deve observar quando analisa um problema de carga de páginas web. Vamos agora olhar a resposta do servidor ao HTTP request enviado pelo navegador e verificar o código de retorno enviado pelo servidor:

Status Code: 200 ok

Este código de retorno corresponde à carga completa da página, isto quer dizer que todos os objetos referenciados na página web foram transmitidos por completo do servidor para o navegador. Caso uma página web seja acessada novamente no mesmo navegador sem que haja a limpeza prévia do cachê, o navegador irá enviar ao servidor um campo adicional no cabeçalho do pacote HTTP request:

if-modified-since

Este campo conterá a data e hora em que a página foi acessada pela última vez e o servidor irá verificar se a página web solicitada foi alterada desde a data e hora informada no campo if-modified-since informado pelo navegador e caso a página não tenho sido alterada o servidor web não enviará novamente a página web mas apenas:

Status Code: 304 – not modified

Este código de status indicará para o navegador que a página não foi alterada desde o último acesso e o navegador de posse desta informação fará a carga da página a partir do conteúdo disponível no seu cachê, com isto agilizando em muito a velocidade de carga da página e também reduzindo a transmissão de dados na rede.
Bom pessoal, este é a nossa primeira análise de tráfego web e no próximo artigo se vocês gostaram desta abordagem continuaremos efetuando a análise de outros tráfegos e dando dicas de problemas que podem ser verificados e resolvidos a partir do uso da análise de tráfego.

Abraço,

Mario Marques – Instrutor do curso online de Wireshark pela CloudCampus

Deixe um comentário