Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


wireshark - HTTP, Notas de estudo de Engenharia Telemática

Redes TCP/IP

Tipologia: Notas de estudo

Antes de 2010

Compartilhado em 26/11/2010

samuel-santos-22
samuel-santos-22 🇧🇷

4.6

(41)

262 documentos

1 / 7

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Wireshark Lab: HTTP
Versão 1.1
2005 KUROSE, J.F & ROSS, K. W. Todos os direitos reservados
2008 BATISTA, O. M. N. Tradução e adaptação para Wireshark.
Tendo molhado os nossos pés com o Wireshark no laboratório introdutório, agora estamos
prontos para utilizar o Wireshark para investigar protocolos em operação. Neste
laboratório, exploraremos vários aspectos do protocolo HTTP: a interação básica
GET/resposta do HTTP, formatos de mensagens HTTP, baixando arquivos grandes em
HTML, baixando arquivos em HTML com objetos incluídos, e autenticação e segurança
HTTP. Antes de iniciar este laboratório, você deve reler a seção 2.2 do livro.
1. A Interação Básica GET/Resposta do HTTP
Vamos iniciar a nossa exploração do HTTP baixando um arquivo em HTML simples -
bastante pequeno, que não contém objetos incluídos. Faça o seguinte:
inicie o navegador;
inicie o Wireshark, como descrito no laboratório introdutório (mas não inicie a
captura de pacotes ainda). Digite “http.request or http.response” (somente as
letras, sem as aspas) na caixa de texto de especificação do filtro de exibição, de tal
forma que apenas as mensagens HTTP capturadas serão exibidas na janela de
listagem de pacotes. (Só estamos interessados em HTTP desta vez, e não
desejamos ver todos os pacotes capturados);
inicie a captura de pacotes
digite o seguinte URL no navegador (figura 1)
http://gaia.cs.umass.edu/ethereal-labs/HTTP-ethereal-file1.html
pare a captura de pacotes.
pf3
pf4
pf5

Pré-visualização parcial do texto

Baixe wireshark - HTTP e outras Notas de estudo em PDF para Engenharia Telemática, somente na Docsity!

Wireshark Lab: HTTP

Versão 1. 2005 KUROSE, J.F & ROSS, K. W. Todos os direitos reservados 2008 BATISTA, O. M. N. Tradução e adaptação para Wireshark. Tendo molhado os nossos pés com o Wireshark no laboratório introdutório, agora estamos prontos para utilizar o Wireshark para investigar protocolos em operação. Neste laboratório, exploraremos vários aspectos do protocolo HTTP: a interação básica GET/resposta do HTTP, formatos de mensagens HTTP, baixando arquivos grandes em HTML, baixando arquivos em HTML com objetos incluídos, e autenticação e segurança HTTP. Antes de iniciar este laboratório, você deve reler a seção 2.2 do livro.

1. A Interação Básica GET/Resposta do HTTP Vamos iniciar a nossa exploração do HTTP baixando um arquivo em HTML simples - bastante pequeno, que não contém objetos incluídos. Faça o seguinte: ● inicie o navegador; ● inicie o Wireshark, como descrito no laboratório introdutório (mas não inicie a captura de pacotes ainda). Digite “http.request or http.response” (somente as letras, sem as aspas) na caixa de texto de especificação do filtro de exibição, de tal forma que apenas as mensagens HTTP capturadas serão exibidas na janela de listagem de pacotes. (Só estamos interessados em HTTP desta vez, e não desejamos ver todos os pacotes capturados); ● inicie a captura de pacotes ● digite o seguinte URL no navegador (figura 1) http://gaia.cs.umass.edu/ethereal-labs/HTTP-ethereal-file1.html ● pare a captura de pacotes.

Figura 1. Janela do navegador. A janela do Wireshark deve estar parecida com a janela exibida na figura 2. Figura 2. Requisição e Resposta HTTP. O exemplo da figura 2 mostra na janela de listagem de pacotes duas mensagens HTTP

os passos a seguir, apague o conteúdo do cache do seu navegador: ● inicie o navegador web , e certifique-se de que o cache seja apagado; ● inicie o Wireshark; ● digite o URL no navegador http://gaia.cs.umass.edu/ethereal-labs/HTTP-ethereal-file seu navegador deve exibir um arquivo em HTML muito simples com cinco linhas; ● pressione o botão “refresh” no navegador (ou digite o URL novamente); ● pare a captura de pacotes, e digite “http” na caixa de texto de especificação de filtro, para que apenas as mensagens HTTP sejam apresentadas na janela de listagem de pacotes. Responda às seguintes questões:

  1. Inspecione o conteúdo da primeira mensagem HTTP GET do seu navegador para o servidor. Você vê uma linha “IF-MODIFIED-SINCE”?
  2. Inspecione o conteúdo da resposta do servidor. O servidor retornou explicitamente o conteúdo do arquivo? Como você pode dizer isso?
  3. Agora inspecione o conteúdo da segunda mensagem HTTP GET do seu navegador para o servidor. Você vê uma linha “IF-MODIFIED-SINCE”? Caso a resposta seja afirmativa, qual informação segue o cabeçalho “IF-MODIFIED-SINCE”?
  4. Qual é o código de status e a frase retornada do servidor na resposta à segunda mensagem HTTP GET? O servidor retornou explicitamente o conteúdo do arquivo? Explique. 3. Baixando Documentos Longos Nos exemplos até agora, os documentos baixados foram simples e pequenos arquivos em HTML. Vamos ver o que acontece quando baixamos um arquivo em HTML grande. Faça o seguinte: ● inicie o navegador web , certifique-se de que o cache seja apagado; ● inicie o Wireshark; ● digite o URL no navegador http://gaia.cs.umass.edu/ethereal-labs/HTTP-ethereal-file seu navegador deve exibir um documento bastante longo;

● pare a captura de pacotes, e digite “http” na caixa de texto de especificação de filtro, para que apenas as mensagens HTTP seja exibidas. Na janela de listagem de pacotes, você deve ver a sua mensagem HTTP GET, seguida por uma reposta em vários pacotes. Esta resposta em vários pacotes merece uma explicação. Lembre-se da seção 2.2 do livro (veja a figura 2.9) que a mensagem de resposta HTTP consiste de uma linha de status, seguida por zero ou mais linhas de cabeçalhos, seguida por uma linha em branco, seguida pela carga útil. No caso da nossa HTTP GET, a carga útil na resposta é o arquivo HTTP completo. No nosso caso aqui, o arquivo em HTML é bastante longo, e a 4500 bytes é muito grande para caber em um segmento TCP. A resposta HTTP simples é então quebrada em vários pedaços pelo TCP, com cada pedaço sendo contido dentro de um segmento TCP separado (veja a figura 1.22 no livro). Cada segmento TCP é capturado em um pacote separado pelo Wireshark, e o fato de que uma simples resposta foi fragmentada em vários segmentos TCP é indicada pela palavra “Continuation” exibida no Wireshark. Vale salientar que não há uma mensagem “Continuation”em HTTP! Responda às seguintes questões:

  1. Quantas mensagens HTTP GET foram enviadas pelo seu navegador?
  2. Quantos segmentos TCP foram necessários para carregar a resposta?
  3. Qual é o código de status e a frase associada com a resposta à mensagem HTTP GET?
  4. Há alguma linha de status HTTP nos dados transmitidos associados com um “Continuation” TCP? 4. Documentos HTML com Objetos Incluídos Agora que vimos como o Wireshark mostra o tráfego capturado para arquivos em HTML grandes, nós podemos observar o que acontece quando o seu browser baixa um arquivo com objetos incluídos, no nosso exemplo, imagens que estão armazenadas em outros servidores. Faça o seguinte: ● inicie o navegador web , certifique-se de que o cache seja apagado; ● inicie o Wireshark; ● digite o URL no navegador

autenticação HTTP revisando o material fácil de ler (em inglês) “HTTP Access Authentication Framework” em http://frontier.userland.com/stories/storyReader$ Responda às seguintes questões:

  1. Qual é a resposta do servidor (código de status e frase) para a primeiro mensagem HTTP GET do seu navegador?
  2. Quando o seu navegador envia a mensagem HTTP GET pela segunda vez, qual o novo campo que está incluído na mensagem? O nome de usuário (eth-students) e a senha (network) que você digitou foram codificados na cadeia de caracteres (ZXRoLXN0dWRlbnRzOm5ldHdvcmtz) após o cabeçalho “Authorization: Basic” na mensagem HTTP GET. Parece que o nome e senha estão criptografados, mas na verdade estão simplesmente codificados em um formato denominado Base64. O nome do usuário e a senha não estão criptografados! Para ver isso, vá para http://www.securitystats.com/tools/base64.php e digite o texto ZXRoLXN0dWRlbnRzOm5ldHdvcmtz e pressione decode. Voilá! Você traduziu de Base para ASCII, e desta forma consegue ver o nome de usuário e a senha! Sabendo que alguém pode baixar o Wireshark e capturar pacotes (não somente os próprios), e alguém pode traduzir de Base64 para ASCII (você acabou de fazê-lo!), deve estar claro para você que o uso de senhas apenas em locais na web não garantem segurança, a não ser que medidas adicionais sejam tomadas. Não tema! Como veremos no capítulo 7, há meios de fazer o acesso WWW ser mais seguro. Contudo, nós claramente precisamos de algo que vá além do framework básico de autenticação HTTP!