Vous êtes sur la page 1sur 4

Universidade Federal do Cear (UFC) - Campus Quixad Disciplina: Redes de Computadores Perodo 2011.1 Profa.

Atslands Rego da Rocha (atslands@ufc.br) Data: 01/03/2011

02 AULA PRTICA Hypertext Transfer Protocol: HTTP (WIRESHARK) (Baseada nas Prticas do livro de James Kurose 4Edio) Nesta segunda aula prtica usando o Wireshark, exploraremos os vrios aspectos do protocolo HTTP: a interao bsica GET/response, formatos de mensagens HTTP, recuperao de arquivos HTML grandes e arquivos HTML com objetos embutidos, alm da autenticao e segurana HTTP. A interao bsica HTTP GET/response Vamos comear realizando o download de um arquivo simples HTML que alm de pequeno no contm objetos embutidos. Faa o seguinte: 1. Inicie o seu navegador (browser). 2. Inicie o Wireshark como descrito na prtica anterior (mas no inicie a captura de pacotes ainda). Digite http na janela de filtro para mostrar somente pacotes HTTP capturados. 3. Inicie a captura de pacotes com o Wireshark. 4. Digite o endereo no seu navegador: http://gaia.cs.umass.edu/wireshark-labs/HTTPwireshark-file1.html. Seu navegador deve mostrar um arquivo HTML simples de uma nica linha. 5. Finalize a captura de pacotes pelo Wireshark. Sua interface deve estar similar a interface ilustrada na Figura 1.

Figura 1. Wireshark aps realizao dos passos anteriores descritos

O exemplo na Figura 1 mostra duas mensagens HTTP na lista de pacotes: a mensagem GET (enviada do seu navegador para o servidor gaia.cs.umass.edu web) e a mensagem response do servidor para o seu navegador. O contedo dos pacotes mostram os detalhes de cada mensagem selecionada. Analisando esses dados das mensagens analisadas, responda s seguintes questes: 1. Seu navegador est executando qual verso do HTTP 1.0 ou 1.1? Qual verso do HTTP est sendo executada no servidor? 2. Qual o endereo IP do seu computador? E do servido gaia.cs.umass.edu? 3. Qual o cdigo de retorno da mensagem dado pelo servidor para o seu navegador? 4. Quando o arquivo HTML que voc recuperou foi modificado pelo servidor? 5. Quantos bytes de contedo esto sendo retornados para o seu navegador? A interao condicional HTTP GET/response A maioria dos navegadores usam caching de objetos e assim desempenham um GET condicional quando recuperam um objeto HTTP. Antes de executar os passos abaixo, esteja seguro de que o cache do seu navegador est vazio. (Nota: Geralmente as configuraes de cache do navegador esto na aba de Opes ou Preferncias. Aps encontrar a opo, limpe o cache do navegador). Ento continue: Inicie o navegador. Inicie o Wireshark. Digite a seguinte URL no navegador: http://gaia.cs.umass.edu/wireshark-labs/HTTPwireshark-file2.html. Seu navegador mostrar um arquivo HMTL de cinco linhas. Digite rapidamente a mesma URL no seu navegador novamente (ou simplesmente selecione o boto atualizar do navegador). Finalize a captura de pacotes pelo Wireshark e digite http na janela de filtros do Wireshark para mostrar somente mensagens HTTP capturadas. Responda s seguintes questes: 6. Inspecione os contedos da primeira mensagem HTTP GET enviada do seu navegador para o servidor. Voc v uma linha IF-MODIFIED-SINCE na mensagem HTTP GET? 7. Inspecione os contedos da resposta do servidor. O servidor retornou explicitamente os contedos do arquivo? 8. Agora inspecione o contedo da segunda mensagem HTTP GET enviada pelo seu navegador para o servidor. Voc v uma linha IF-MODIFIED-SINCE na mensagem HTTP GET? Se a resposta for sim, que informao esta linha contm? 9. Qual o cdigo de estado HTTP e a frase retornada pelo servidor em resposta segunda mensagem HTTP GET? O servidor retornou explicitamente os contedos do arquivo? Explique. Recuperando documentos HTTP longos Nos exemplos anteriores, os arquivos HTML so simples e pequenos. Para ver o que ocorre quando realizamos o download de um arquivo longo HTML faa o seguinte: Inicie o navegador e esteja seguro de que o cache est limpo (como descrito anteriormente). Inicie o Wireshark. Digite a seguinte URL no seu navegador: http://gaia.cs.umass.edu/wireshark-labs/HTTPwireshark-file3.html. Seu navegador deve mostrar um documento que mostre The US Bill of Rights como ttulo.

Finalize a captura de pacotes pelo Wireshark e digite http na janela de filtros para que apenas as mensagens HTTP sejam mostradas. Na lista de pacotes capturados, voc deve ver a mensagem HTTP GET seguida de vrias mensagens HTTP response. Isso ocorre porque a resposta maior do que o campo da mensagem HTTP que recebe a pgina para retornar ao navegador (e mais longo que uma pacote TCP). Ento, a mensagem HTTP response quebrada em vrios pedaos pelo TCP, com cada pedao da mensagem sendo enviado por um segmento TCP separado. Cada segmento TCP registrado pelo Wireshark como uma mensagem separada e de fato um nico HTTP response foi fragmentado atravs de mltiplos pacotes TCP. Responda s seguintes questes: 10.Quantas mensagens HTTP GET foram enviadas pelo seu navegador? 11.Quantos segmentos TCP contendo dados foram necessrios para carregar uma nica mensagem HTTP response? 12. Qual o cdigo de estado e a frase associada com a resposta para a mensagem HTTP GET? Documentos HTML com objetos embutidos Agora, vamos ver o que ocorre quando o navegador realiza o download de um arquivo HTML com objetos embutidos, ou seja, um arquivo que contenha imagens, por exemplo. Faa o seguinte: Inicie o navegador e esteja seguro de que o cache est limpo (como descrito anteriormente). Inicie o Wireshark. Digite a seguinte URL no seu navegador: http://gaia.cs.umass.edu/wireshark-labs/HTTPwireshark-file4.html. Seu navegador deve mostrar um documento HTML com duas imagens (que so referenciadas no documento HTML, mas que no esto inseridas nele como o habitual). Nota: lembre que as imagens tem seu prprio URL que referenciada no cdigo HTML dentro do documento recuperado. Finalize a captura de pacotes pelo Wireshark e digite http na janela de filtros para que apenas as mensagens HTTP sejam mostradas. Responda s seguintes questes: 13. Quantas mensagens HTTP GET foram enviadas pelo seu navegador? Para qual endereo da Internet as mensagens HTTP GET foram enviadas? 14. Voc pode dizer se o seu navegador realizou o download das duas imagens de forma serial ou paralela? Explique. Autenticao HTTP Finalmente, vamos visitar um site que possua senha para ser acessado. Faa o seguinte: Esteja seguro de que o cache est limpo (como descrito anteriormente). Reinicie o navegador. Inicie o Wireshark. Digite a seguinte URL no seu navegador: http://gaia.cs.umass.edu/wiresharklabs/protected_pages/HTTP-wireshark-file5.html. Digite o usurio e a senha. O usurio wireshark-students e a senha network.

Finalize a captura de pacotes pelo Wireshark e digite http na janela de filtros para que apenas as mensagens HTTP sejam mostradas. Se desejar se aprofundar mais sobre autenticao HTTP, leia o material HTTP Access Authentication Framework em http://frontier.userland.com/stories/storyReader$2159 (em ingls!). Responda s seguintes questes: 18. Qual a resposta do servidor (cdigo de estado e frase) na resposta para a mensagem inicial HTTP GET do seu navegador? 19. Que novo campo includo na mensagem HTTP GET? O usurio (wireshark-students) e a senha (network) que voc digitou so codificados em uma string de caracteres (d2lyZXNoYXJrLXN0dWRlbnRzOm5ldHdvcms=) seguindo do cabealho Authorization: Basic na mensagem HTTP GET enviada pelo navegador. O usurio e a senha so apenas codificadas de uma forma simples (formato Base64) e no CRIPTOGRAFADAS! V para a URL http://www.motobit.com/util/base64-decoder-encoder.asp e digite a string codificada em base64 d2lyZXNoYXJrLXN0dWRlbnRz. Selecione a opo decode the data from a Base64 string (base64 decoding) e clique no boto Convert the source data. Voc pode ver o usurio decodificado rapidamente! Para ver a senha digite a outra parte da string Om5ldHdvcms= e decodifique. Ou seja, sites com esquemas de senhas simples como essa no so seguras! Nota: Existem outras formas de enviar senhas pela WWW, ufa!

Conte-me e eu esquecerei. Mostre-me e eu lembrarei. Envolva-me e eu compreenderei. Provrbio Chins