15
LABORATÓRIO WIRESHARK HTTP Tradução: Marjorie R. S. Rosa 2014

LABORATÓRIO WIRESHARK HTTP - MAURO OLIVEIRA · PDF fileWIRESHARK - HTTP 1 WIRESHARK - HTTP Esse manual de laboratório é baseado em “Wireshark Lab: HTTP”, versão 2.0 (setembro

Embed Size (px)

Citation preview

Page 1: LABORATÓRIO WIRESHARK HTTP - MAURO OLIVEIRA · PDF fileWIRESHARK - HTTP 1 WIRESHARK - HTTP Esse manual de laboratório é baseado em “Wireshark Lab: HTTP”, versão 2.0 (setembro

LABORATOacuteRIO WIRESHARKHTTP

Traduccedilatildeo Marjorie R S Rosa

2014

WIRESHARK - HTTP 1

WIRESHARK - HTTP

Esse manual de laboratoacuterio eacute baseado em ldquoWireshark Lab HTTPrdquoversatildeo 20 (setembro de 2009) de JF Kurose KW Ross disponiacutevelaqui Isso foi preparado por Farrokh Ghani Zadegan e Niklas Carlssone sua uacuteltima modificaccedilatildeo foi em Janeiro de 2013

Para esse laboratoacuterio vocecirc precisa ter lido primeiro ldquoWireshark LabGetting Startedrdquo Esse documento e os exerciacutecios vatildeo ter te preparadopara esse laboratoacuterio Contudo note que vocecirc natildeo precisa apresentar osresultados (mencionados no pdf ldquoWireshark getting startedrdquo) como essesnatildeo satildeo os resultados para essa tarefa (e aqueles exerciacutecios devem ape-nas ser usados como praacutetica)

Em segundo lugar vocecirc vai ser questionado a responder eou discu-tir um nuacutemero de perguntas Para poupar tempo eacute importante que vocecirccuidadosamente leia as instruccedilotildees de forma que vocecirc possa fornecer res-postas em formato adequado

Aleacutem disso por favor sinta-se livre para instalar o Wireshark no seuproacuteprio computador e fazer suas proacuteprias capturas de traacutefego para anali-sar Importante

Traces adicionais de HTTP Se vocecirc quer traccedilos adicionais de HTTPque vocecirc quer tentar investigar (e usar engenharia reversa) para saber oque se passa vocecirc tambeacutem pode olhar em alguns outros traces de HTTPno arquivo zip acima

Tendo estudado o laboratoacuterio introdutoacuterio de captura de pacotes acimaagora noacutes estamos prontos para usar o Wireshark para investigar protoco-los em operaccedilatildeo Nesse laboratoacuterio noacutes vamos explorar vaacuterios aspectosdo protocolo HTTP A interaccedilatildeo baacutesica de GETResponse formatos demensagem HTTP recuperaccedilatildeo de arquivos HTML recuperaccedilatildeo de arqui-vos HTML com objetos indexados e autentificaccedilatildeo HTTP e seguranccedilaAntes de comeccedilar esses laboratoacuterios vocecirc pode querer rever a seccedilatildeo 22do texto

Antes de comeccedilar por favor considere o seguinte A informaccedilatildeo queaparece entre colchetes [ ] no Wireshark eacute do proacuteprio Wireshark e natildeo eacuteparte dos protocolos

INTERACcedilAtildeO BAacuteSICA DE HTTP GET RESPONSE 2

Baseado nas configuraccedilotildees de rede da plataforma onde vocecirc estaacute ro-dando o Wireshark vocecirc pode observar que todos os pacotes de saiacutedaestatildeo marcados pelo Wireshark como sendo erros de checksum (somade verificaccedilatildeo) (Veja a figura 1) Isso como o sugerido pelo Wireshark(veja o painel de detalhes do pacote na figura 1) pode ser devido ao offlo-ading do checksum uma configuraccedilatildeo que alivia a CPU de gerar valoresde checksum para pacotes de saiacuteda e deixa esse trabalho ser feito peloadaptador de rede Como o Wireshark captura os pacotes antes que elesalcancem o adaptador de rede a soma de verificaccedilatildeo (checksum) paratodos os pacotes capturados eacute zero Se vocecirc encontrar esse coacutedigo decores distrativo ou incocircmodo vocecirc pode simplesmente desabilitar os errosde checksum colorindo a regra do menu de itens View gt Coloring Rules

Erros de verificaccedilatildeo do Wireshak

INTERACcedilAtildeO BAacuteSICA DE HTTP GET RESPONSE

Vamos comeccedilar nossa exploraccedilatildeo do HTTP baixando um simples ar-quivo HTTP ndash Ele eacute muito pequeno e conteacutem objetos indexados Faccedila o

INTERACcedilAtildeO BAacuteSICA DE HTTP GET RESPONSE 3

seguinte

1 Inicie seu navegador2 Inicie o Wireshark como descrito no laboratoacuterio introdutoacuterio (mas

ainda natildeo comece a captura de pacotes) Digite ldquohttprdquo (apenas as letrassem aspas) na janela do filtro de especificaccedilotildees assim apenas as

mensagens HTTP capturadas vatildeo ser mostradas na lista de pacotes3 Espere pouco mais de um minuto (veremos porque tatildeo pouco tempo)

e entatildeo comece a captura de pacotes do Wireshark4 Entre no seguinte link pelo seu navegador link Seu navegador deve

mostrar um arquivo HTML simples de uma linha5 Pare a captura de pacotes do Wireshark

Sua janela do Wireshark vai ser similar a da janela mostrada na figura2 Se vocecirc natildeo pode executar o Wireshark em uma conexatildeo de rede emtempo real vocecirc pode baixar um pacote de rotas que foi criado quandoos passos acima foram seguidos Para fazer isso baixe o arquivo ziplink e extraia o arquivo http-ethereal-trace-1 As rotas desse arquivo zipforam coletadas pelo Wireshark quando foi executado em um dos compu-tadores do autor enquanto realizava os passos indicados no laboratoacuteriodo Wireshark Uma vez que vocecirc tenha baixado o arquivo vocecirc podecarregaacute-lo dentro do Wireshark e ver as rotas usando o menu ldquoFile pulldownrdquo escolhendo ldquoabrirrdquo (Open) e selecionando o arquivo http-ethereal-trace-1 A tela resultante deve se parecer como a figura 2 apoacutes aplicar ofiltro ldquohttprdquo

INTERACcedilAtildeO BAacuteSICA DE HTTP GET RESPONSE 4

Tela do Wireshak apoacutes o arquivo 1 ter sido recuperado do seu navegador

O exemplo mostrado na figura 2 mostra a janela de lista de pacotesonde duas mensagens HTTP foram capturadas A mensagem GET (deseu navegador para o servidor gaiacsumassedu) e a mensagem de res-posta do servidor para o seu navegador A janela de conteuacutedo dos pa-cotes mostra detalhes das mensagens selecionadas (nesse caso men-sagens HTTP GET que eacute destacado na janela de listagem de pacotes)Lembre que a mensagem HTTP estaacute dentro de um segmento TCP quefoi carregada dentro de um datagrama IP que foi carregado dentro de umquadro Ethernet o Wireshark mostraraacute informaccedilotildees do quadro EthernetIP e TCP Noacutes queremos minimizar a quantidade de dados natildeo HTTPmostrados (noacutes estamos interessados em HTTP e investigaremos outrosprotocolos em capiacutetulos seguintes) entatildeo tenha certeza de que as caixasno canto esquerdo que sinalizam informaccedilotildees de quadro Ethernet IP eTCP tem um sinal de mais (+) que significa que a informaccedilatildeo estaacute ocultae a linha de HTTP tem um sinal de menos (-) que significa que toda a

INTERACcedilAtildeO BAacuteSICA DE HTTP GET RESPONSE 5

informaccedilatildeo HTTP estaacute sendo mostrada

Tarefa A Olhando a informaccedilatildeo das mensagens de HTTP GET res-ponse responda as questotildees a seguir Quando estiver respondendo asquestotildees vocecirc deve imprimir as mensagens GET response (para incluiras informaccedilotildees de pacote no seu relatoacuterio vocecirc deve exportar os paco-tes de dados selecionados como um arquivo de texto Para isso use ajanela ldquoFile -gt Export -gt File rdquo selecione o tipo como ldquoPlain Textrdquo e es-colha ldquoSelected Packetrdquo indicando onde as mensagens que respondamas questotildees foram encontradas (Perceba que o procedimento de exporta-ccedilatildeo deve diferir de acordo com a plataforma onde vocecirc estaacute executandoo Wireshark como Linux Windows etc) Para todas as questotildees eacute impor-tante que vocecirc indique claramente qual eacute sua resposta como vocecirc obtevea resposta e (se aplicaacutevel) discuta as implicaccedilotildeesideias que enriqueccedilamsuas respostas Por exemplo na questatildeo a seguinte vocecirc pode elaboraro motivo de vocecirc ter observado o que observou

1 O seu navegador utiliza a versatildeo de HTTP 10 ou 11 Que versatildeo oservidor usa

2 Que linguagens (se existe alguma) seu navegador diz que pode seraceita pelo servidor Na sessatildeo de captura que outra informaccedilatildeo (se

existe alguma) o navegador provecirc para o servidor a respeito do utilizadornavegador

3 Qual o endereccedilo de IP do seu computador E o do servidorgaiacsumassedu

4 Qual o coacutedigo de status retornado do servidor para seu navegador5 Quando foi a uacuteltima vez que o arquivo HTML que vocecirc estaacute usando foi

modificado no servidor6 Quantos bytes de conteuacutedo foram enviados ao seu navegador

7 Inspecionando os dados brutos no painel ldquopacket bytesrdquo vocecirc vecircalgum cabeccedilalho HTTP com dados que natildeo foram mostrados no painel

ldquopacket detailsrdquo Se sim cite um

Nas suas cinco respostas acima vocecirc deve estar surpreso por notar queo documento que vocecirc recuperou foi modificado menos de um minuto an-tes de vocecirc baixaacute-lo Isso eacute porque (para esse arquivo em particular) oservidor gaiacsumassedu estaacute configurado para que a uacuteltima modifica-ccedilatildeo do arquivo seja a atual e atualiza isso uma vez por minuto Assimse vocecirc quiser esperar um minuto entre os acessos o arquivo vai ter sidorecentemente modificado e consequentemente seu navegador vai baixaruma ldquonovardquo coacutepia do arquivo

INTERACcedilAtildeO CONDICIONAL DE HTTP GET RESPONSE 6

INTERACcedilAtildeO CONDICIONAL DE HTTP GET RES-PONSE

Recordando a seccedilatildeo 226 do texto que mostra que a maioria dos na-vegadores guardam objetos em cache e assim fazem a condicional GETquando recuperam um objeto HTTP Antes de realizar os passos a seguirtenha certeza que o cache do seu navegador estaacute vazio (Para fazer issono Firefox selecione Tools -gt Clear Private Data Essas accedilotildees vatildeo remo-ver os arquivos de cache do seu navegador Agora faccedila o seguinte

1 Inicie seu navegador e certifique-se de que o cache estaacute limpo comodiscutido acima

2 Comece o Wireshark packet sniffer3 Entre na seguinte URL pelo seu navegador link Seu navegador deve

mostrar uma mensagem HTTP simples de uma linha4 Rapidamente entre na mesma URL pelo seu navegador novamente

(ou simplesmente atualize a paacutegina de seu navegador)5 Pare a captura de pacotes do Wireshark e digite ldquohttprdquo no filtro de

especificaccedilotildees assim apenas pacotes HTTP vatildeo ser mostradas depoisna lista de pacotes

(Nota Se vocecirc natildeo pode executar o Wireshark em uma conexatildeo de temporeal vocecirc pode usar o pacote http-ethereal-trace-2 para responder asquestotildees abaixo veja aqui link Esse arquivo foi montado seguindo ospassos acima)

Questotildees praacuteticas

8 Inspecione o conteuacutedo da primeira requisiccedilatildeo de HTTP GET do seunavegador ao servidor Vocecirc vecirc a linha ldquoIF-MODIFIED-SINCErdquo no HTTPGET

9 Inspecione o conteuacutedo de resposta do servidor O servidor retornouexplicitamente o conteuacutedo do arquivo Como vocecirc pode afirmar

10 Agora observe o conteuacutedo da segunda requisiccedilatildeo HTTP GET doseu navegador ao servidor Vocecirc vecirc a linha ldquoIF-MODIFIED-SINCErdquo noHTTP GET Se sim qual informaccedilatildeo segue o cabeccedilalho ldquoIF-MODIFIED-SINCErdquo

RECUPERACcedilAtildeO DE DOCUMENTOS LONGOS 7

11 Qual eacute o status HTTP e a frase retornados pelo servidor em res-posta ao segundo HTTP GET O servidor explicitamente retornou os con-teuacutedos do arquivo Explique

Tarefa B Para as questotildees de 8 agrave 11 primeiro escreva uma respostabreve poreacutem precisa para cada questatildeo acima entatildeo escreva um paraacute-grafo explicando suas observaccedilotildees das questotildees praacuteticas Note que suaresposta pode se beneficiar da explicaccedilatildeo eou referecircncias de algumas desuas observaccedilotildees expliacutecitas

RECUPERACcedilAtildeO DE DOCUMENTOS LONGOS

Nos nossos exemplos ateacute agora os documentos recuperados foramarquivos HTML simples e curtos Agora veremos o que acontece quandovocecirc baixa um arquivo HTML grande Faccedila o seguinte

1 Inicie seu navegador e tenha certeza de que o cache estaacute limpocomo discutido acima

2 Comece o Wireshark packet sniffer

3Entre com a seguinte URL no seu navegador link Seu navegadordeve mostrar a carta de direitos dos Estados Unidos

4 Pare a captura de pacotes do Wireshark e digite ldquohttprdquo no filtrode especificaccedilotildees assim apenas as mensagens HTTP capturadas seratildeomostradas

Nota Se vocecirc natildeo pode executar o Wireshark em uma conexatildeo detempo real vocecirc pode usar o pacote http-ethereal-trace-3 para responderas questotildees abaixo veja aqui link Esse arquivo foi montado seguindo ospassos acima)

Na janela de listagem de pacotes vocecirc deve ver sua mensagem HTTPGET seguida de muacuteltiplos pacotes de resposta para sua requisiccedilatildeo HTTPGET Esses muacuteltiplos pacotes merecem uma pequena explicaccedilatildeo Recor-dando a seccedilatildeo 22 (veja no texto) aquela mensagem de resposta HTTPconsistia em uma linha de status seguida por linhas de cabeccedilalho se-guida por uma linha em branco seguida pelo corpo da mensagem No

RECUPERACcedilAtildeO DE DOCUMENTOS LONGOS 8

caso de nossa HTTP GET o corpo da mensagem eacute o arquivo HTML derequisiccedilatildeo inteiro No caso de agora o arquivo de HTML eacute muito grande eos 4500 bytes satildeo grandes demais para caber em um uacutenico pacote TCPUma uacutenica mensagem de resposta HTTP eacute entatildeo quebrada em algunspedaccedilos pelo TCP e cada pedaccedilo conteacutem separadamente um segmentoTCP (Veja no texto) Cada segmento TCP eacute gravado pelo Wireshark comoum pedaccedilo separado e o fato de que uma uacutenica resposta HTTP foi frag-mentada em muacuteltiplos pacotes TCP eacute indicado pela frase ldquoTCP segmentof a reassembled PDUrdquo mostrada na tela do Wireshak Ressaltamos aquique natildeo existe uma mensagem de ldquoTCP segment of a reassembled PDUrdquoem HTTP Nesse sentido a figura 3 mostra uma captura de tela do Wi-reshark mostrando a rota de um http-ethereal-trace-3 Na listagem de pa-cotes capturados o pacote nuacutemero 8 mostra uma requisiccedilatildeo HTTP GETe o pacote nuacutemero 14 mostra a resposta HTTP correspondente Podeser visto que os pacotes nuacutemero 10 11 e 13 satildeo nomeados com ldquoTCPsegment of a ressaembled PDUrdquo Clicando na resposta HTTP como nopacote 14 o painel de detalhes do pacote mostra [4 Reassembled TCPSegments (4816 bytes) 10(1460) 11(1460) 13(1460) 14(436)] (veja afigura 3) Adicionalmente o painel de pacotes de bytes mostra uma nomatabela entitulada Reassembled TCP que mostra a resposta HTTP inteira

RECUPERACcedilAtildeO DE DOCUMENTOS LONGOS 9

Tela do Wireshak com a rota do terceiro pacote

Uma maneira mais conveniente de ver todos os dados (todos as re-quisiccedilotildees HTTP e as respostas transportadas pelo TCP) eacute usando umacaracteriacutestica extra do Wireshark chamada ldquoFollowing TCP Streamsrdquo Cli-cando com o botatildeo direito do mouse em qualquer dos pacotes TCP as-sociados com um determinado fluxo TCP e selecionado o ldquoFollow TCPStreamrdquo no menu uma nova janela abriraacute contendo a troca de dadosA figura 4 mostra a janela ldquoFollow TCP Streamrdquo para a requisiccedilatildeo GETethereal-labslab2-3html HTTP11 e sua resposta associada Nessa ja-nela caracteres natildeo demonstraacuteveis satildeo substituiacutedos por pontos De qual-quer modo a escolha de Raw ou ASCII feita nessa janela afeta comple-tamente o modo como vocecirc poderaacute salvar seu fluxo de dados Isso eacutese Raw eacute selecionado o fluxo de dados seraacute salvo como arquivo binaacute-rio preservando os caracteres natildeo demonstraacuteveis Jaacute no caso de ASCIIo fluxo de dados eacute salvo como um arquivo de texto onde os caracteresnatildeo demonstraacuteveis satildeo substituiacutedos por pontos Note como o Wireshark

RECUPERACcedilAtildeO DE DOCUMENTOS LONGOS 10

mudou (e aplicou) as mudanccedilas no filtro que mostra apenas os pacotesselecionados

A janela do Wireshark durante o fluxo TCP

Questotildees praacuteticas

12 Quantas mensagens de requisiccedilatildeo HTTP GET foram enviadaspelo seu navegador

13 Quantos segmentos TCP contendo dados satildeo necessaacuterios paracarregar essa uacutenica resposta HTTP

14 Qual o status e a frase associada com a requisiccedilatildeo HTTP GET

15 Existe alguma informaccedilatildeo de cabeccedilalho HTTP nos dados associ-ados com a segmentaccedilatildeo TCP

Tarefa C Para as questotildees de 12 agrave 15 primeiro escreva uma respostabreve poreacutem precisa para cada questatildeo acima entatildeo escreva um paraacute-

DOCUMENTOS HTML COM OBJETOS EMBUTIDOS 11

grafo explicando suas observaccedilotildees das questotildees praacuteticas Note que suaresposta pode se beneficiar da explicaccedilatildeo eou referecircncias de algumas desuas observaccedilotildees expliacutecitas

DOCUMENTOS HTML COM OBJETOS EMBUTI-DOS

Agora que vimos como o Wireshark mostra o traacutefego de captura depacotes para arquivos HTML grandes podemos olhar o que acontecequando seu navegador baixa um arquivo com objetos embutidos comoum arquivo que incluem outros objetos (no exemplo a seguir imagens)que estatildeo armazenados em outro servidor Faccedila o seguinte

1Inicie seu navegador e tenha certeza de que o cache estaacute limpocomo discutido acima2Comece o Wireshark packet sniffer3Entre com a seguinte URL no seu navegador link Seu navegador devemostrar um arquivo HTML curto com duas imagens Essas duas imagenssatildeo referenciadas na base do arquivo HTML Isso eacute as imahens natildeo es-tatildeo contidas no HTML no lugar disso URLs para o conteuacutedo das imagenssatildeo baixadas no arquivo HTML Como discutido no livro seu navegadorvai recuperar esses logos de sites indicados Nosso logo eacute recuperado dolink wwwaw-bccom A imagem da capa do nosso livro eacute armazenada noservidor maniccsumassedu4Pare a captura de pacotes do Wireshark e digite ldquohttprdquo no filtro de espe-cificaccedilotildees assim apenas as mensagens HTTP capturadas seratildeo mostra-das Nota Se vocecirc natildeo pode executar o Wireshark em uma conexatildeo detempo real vocecirc pode usar o pacote http-ethereal-trace-4 para responderas questotildees abaixo veja aqui link Esse arquivo foi montado seguindo ospassos acima)

Questotildees praacuteticas

16 Quantas requisiccedilotildees HTTP GET foram enviadas pelo seu navega-dor Para quais endereccedilos essas requisiccedilotildees GET foram enviadas

17 Vocecirc pode dizer se o seu navegador baixou as duas imagens emseacuterie ou se elas foram baixadas dos dois sites em paralelo ExpliqueTarefa D Para as questotildees de 16 agrave 17 primeiro escreva uma resposta

AUTENTICACcedilAtildeO HTTP 12

breve poreacutem precisa para cada questatildeo acima entatildeo escreva um paraacute-grafo explicando suas observaccedilotildees das questotildees praacuteticas Note que suaresposta pode se beneficiar da explicaccedilatildeo eou referecircncias de algumas desuas observaccedilotildees expliacutecitas

AUTENTICACcedilAtildeO HTTP

Finalmente vamos visitar um site protegido por senha e examinar asequecircncia de mensagens HTTP trocadas com esse site A URL link eacuteprotegida por senha O username eacute ldquowireshark-studentsrdquo (sem as aspas)e a senha eacute ldquonetworkrdquo (novamente sem as aspas) Entatildeo vamos acessaresse site protegido por senha ldquosegurordquo Faccedila o seguinte

1Inicie seu navegador e tenha certeza de que o cache estaacute limpocomo discutido acima2Comece o Wireshark packet sniffer3Entre com a seguinte URL no seu navegador link Digite o username e opassword na janela pop up4Pare a captura de pacotes do Wireshark e digite ldquohttprdquo no filtro de espe-cificaccedilotildees assim apenas as mensagens HTTP capturadas seratildeo mostra-dasNota Se vocecirc natildeo pode executar o Wireshark em uma conexatildeo de temporeal vocecirc pode usar o pacote http-ethereal-trace-5 para responder asquestotildees abaixo veja aqui link Esse arquivo foi montado seguindo os pas-sos acima)Agora vamos examinar a saiacuteda de dados do Wireshark Vocecirc pode que-rer ler primeiro sobre autentificaccedilatildeo HTTP revendo o material em ldquoHTTPAcess Athentication Frameworkrdquo em httpfrontieruserlandcomstoriesstoryReaderQuestotildees praacuteticas (natildeo precisam ser respondidas explicitamente)18 Qual eacute a resposta do servidor (status e frase) em resposta a mensa-gem inicial de HTTP GET do seu navegador19 Quando seu navegador envia uma mensagem HTTP GET pela se-gunda vez qual eacute o novo campo incluiacutedo na mensagem HTTP GETVocecirc natildeo precisa relatar as questotildees 18 e 19 de qualquer modo sinta-se livre para redigir um paraacutegrafo explicando e discutindo suas observa-ccedilotildees sobre as questotildees praacuteticas acima O username e a senha que vocecircforneceu satildeo codificadas na string de caracteres seguindo o cabeccedilalholdquoAuthorization Basicrdquo na mensagem HTTP do cliente Enquanto podeparecer que o seu username e senha estatildeo e criptografados eles estatildeosimplesmente codificados em um formato conhecido como Base64 O

QUESTOtildeES PREPARATOacuteRIAS PARA A SEGUNDA TAREFA 13

username e a senha natildeo estatildeo criptografados Para ver isso vaacute parahttpgtoolsorgtoolbase64-encode-decode e enyte com a string de co-dificaccedilatildeo base64 d2lyZXNoYXJrLXN0dWRlbnRz dentro da caixa ldquoDecodefrom base64rdquo e pressione ldquoGordquo Voila Vocecirc traduziu de base64 para co-dificaccedilatildeo ASCII e entatildeo pode ver seu username Para ver a senha entrecom a string Om5ldHdvcms= e pressione ldquodecoderdquo Jaacute que qualquer umpode baixar ferramentas como o Wireshark e rastrear pacotes (natildeo soacute osseus proacuteprios) passando pelo adaptador de rede qualquer um pode tra-duzir Base64 para ASCII (como vocecirc acabou de fazer) Deve estar claroque senhas simples em sites WWW natildeo satildeo seguros a natildeo ser que me-didas adicionais sejam tomadasNatildeo tema Como veremos no capiacutetulo 7 existem maneiras de fazer queacessos WWW sejam mais seguros De qualquer modo noacutes claramenteprecisamos de algo que vaacute aleacutem da autentificaccedilatildeo baacutesica de HTTP

QUESTOtildeES PREPARATOacuteRIAS PARA A SEGUNDATAREFA

20 O que o cabeccedilalho ldquoConnection closerdquo e ldquoConnection Keep-aliverdquoimplicam no protocolo HTTP Quando uma delas deve ser usada ao inveacutesda outra

Tarefa E Para a questatildeo 20 primeiro escreva um breve poreacutem precisoparaacutegrafo que responda a questatildeo acima entatildeo escreva um paraacutegrafoexplicando e discutindo como essas observaccedilotildees podem ser uacuteteis para aproacutexima tarefa

Demonstraccedilatildeo e relatoacuterios Para essa tarefa vocecirc vai precisar escre-ver um relatoacuterio que cuidadosamente responda as questotildees 1-17 e 20e escreva um paraacutegrafo discutindo cada grupo de questotildees 1-7 (TarefaA) 8-11 (Tarefa B) 12-15 (Tarefa C) 16-17 (Tarefa D) e 20 (Tarefa E)Note que cada grupo de questotildees tem um tema e vocecirc deve convencero leitor que seu relatoacuterio (incluindo vocecirc se vocecirc ler seus documentosmesessemanas depois) que vocecirc entende esses aspectos do HTTP Porfavor estruture seu relatoacuterio de modo que suas respostas estejam clara-mente indicadas para cada questatildeo (e sessatildeo) Questotildees e respostascorrespondentes devem estar claramente indicadas Estruture seu relatoacute-rio Aleacutem disso suas respostas devem ser explicadas e apoiadas usandoinformaccedilotildees adicionais quando aplicaacutevel Durante a demonstraccedilatildeo po-dem ser feitas questotildees similares para obtermos a certeza de que vocecirc

QUESTOtildeES PREPARATOacuteRIAS PARA A SEGUNDA TAREFA 14

compreendeu todo esse laboratoacuterio Vocecirc deve explicar claramente suasrespostas Como os relatoacuterios satildeo feitos em duplas ambos os membrosresponderatildeo perguntas

Instruccedilotildees adicionais podem ser encontradas aquilink

Page 2: LABORATÓRIO WIRESHARK HTTP - MAURO OLIVEIRA · PDF fileWIRESHARK - HTTP 1 WIRESHARK - HTTP Esse manual de laboratório é baseado em “Wireshark Lab: HTTP”, versão 2.0 (setembro

WIRESHARK - HTTP 1

WIRESHARK - HTTP

Esse manual de laboratoacuterio eacute baseado em ldquoWireshark Lab HTTPrdquoversatildeo 20 (setembro de 2009) de JF Kurose KW Ross disponiacutevelaqui Isso foi preparado por Farrokh Ghani Zadegan e Niklas Carlssone sua uacuteltima modificaccedilatildeo foi em Janeiro de 2013

Para esse laboratoacuterio vocecirc precisa ter lido primeiro ldquoWireshark LabGetting Startedrdquo Esse documento e os exerciacutecios vatildeo ter te preparadopara esse laboratoacuterio Contudo note que vocecirc natildeo precisa apresentar osresultados (mencionados no pdf ldquoWireshark getting startedrdquo) como essesnatildeo satildeo os resultados para essa tarefa (e aqueles exerciacutecios devem ape-nas ser usados como praacutetica)

Em segundo lugar vocecirc vai ser questionado a responder eou discu-tir um nuacutemero de perguntas Para poupar tempo eacute importante que vocecirccuidadosamente leia as instruccedilotildees de forma que vocecirc possa fornecer res-postas em formato adequado

Aleacutem disso por favor sinta-se livre para instalar o Wireshark no seuproacuteprio computador e fazer suas proacuteprias capturas de traacutefego para anali-sar Importante

Traces adicionais de HTTP Se vocecirc quer traccedilos adicionais de HTTPque vocecirc quer tentar investigar (e usar engenharia reversa) para saber oque se passa vocecirc tambeacutem pode olhar em alguns outros traces de HTTPno arquivo zip acima

Tendo estudado o laboratoacuterio introdutoacuterio de captura de pacotes acimaagora noacutes estamos prontos para usar o Wireshark para investigar protoco-los em operaccedilatildeo Nesse laboratoacuterio noacutes vamos explorar vaacuterios aspectosdo protocolo HTTP A interaccedilatildeo baacutesica de GETResponse formatos demensagem HTTP recuperaccedilatildeo de arquivos HTML recuperaccedilatildeo de arqui-vos HTML com objetos indexados e autentificaccedilatildeo HTTP e seguranccedilaAntes de comeccedilar esses laboratoacuterios vocecirc pode querer rever a seccedilatildeo 22do texto

Antes de comeccedilar por favor considere o seguinte A informaccedilatildeo queaparece entre colchetes [ ] no Wireshark eacute do proacuteprio Wireshark e natildeo eacuteparte dos protocolos

INTERACcedilAtildeO BAacuteSICA DE HTTP GET RESPONSE 2

Baseado nas configuraccedilotildees de rede da plataforma onde vocecirc estaacute ro-dando o Wireshark vocecirc pode observar que todos os pacotes de saiacutedaestatildeo marcados pelo Wireshark como sendo erros de checksum (somade verificaccedilatildeo) (Veja a figura 1) Isso como o sugerido pelo Wireshark(veja o painel de detalhes do pacote na figura 1) pode ser devido ao offlo-ading do checksum uma configuraccedilatildeo que alivia a CPU de gerar valoresde checksum para pacotes de saiacuteda e deixa esse trabalho ser feito peloadaptador de rede Como o Wireshark captura os pacotes antes que elesalcancem o adaptador de rede a soma de verificaccedilatildeo (checksum) paratodos os pacotes capturados eacute zero Se vocecirc encontrar esse coacutedigo decores distrativo ou incocircmodo vocecirc pode simplesmente desabilitar os errosde checksum colorindo a regra do menu de itens View gt Coloring Rules

Erros de verificaccedilatildeo do Wireshak

INTERACcedilAtildeO BAacuteSICA DE HTTP GET RESPONSE

Vamos comeccedilar nossa exploraccedilatildeo do HTTP baixando um simples ar-quivo HTTP ndash Ele eacute muito pequeno e conteacutem objetos indexados Faccedila o

INTERACcedilAtildeO BAacuteSICA DE HTTP GET RESPONSE 3

seguinte

1 Inicie seu navegador2 Inicie o Wireshark como descrito no laboratoacuterio introdutoacuterio (mas

ainda natildeo comece a captura de pacotes) Digite ldquohttprdquo (apenas as letrassem aspas) na janela do filtro de especificaccedilotildees assim apenas as

mensagens HTTP capturadas vatildeo ser mostradas na lista de pacotes3 Espere pouco mais de um minuto (veremos porque tatildeo pouco tempo)

e entatildeo comece a captura de pacotes do Wireshark4 Entre no seguinte link pelo seu navegador link Seu navegador deve

mostrar um arquivo HTML simples de uma linha5 Pare a captura de pacotes do Wireshark

Sua janela do Wireshark vai ser similar a da janela mostrada na figura2 Se vocecirc natildeo pode executar o Wireshark em uma conexatildeo de rede emtempo real vocecirc pode baixar um pacote de rotas que foi criado quandoos passos acima foram seguidos Para fazer isso baixe o arquivo ziplink e extraia o arquivo http-ethereal-trace-1 As rotas desse arquivo zipforam coletadas pelo Wireshark quando foi executado em um dos compu-tadores do autor enquanto realizava os passos indicados no laboratoacuteriodo Wireshark Uma vez que vocecirc tenha baixado o arquivo vocecirc podecarregaacute-lo dentro do Wireshark e ver as rotas usando o menu ldquoFile pulldownrdquo escolhendo ldquoabrirrdquo (Open) e selecionando o arquivo http-ethereal-trace-1 A tela resultante deve se parecer como a figura 2 apoacutes aplicar ofiltro ldquohttprdquo

INTERACcedilAtildeO BAacuteSICA DE HTTP GET RESPONSE 4

Tela do Wireshak apoacutes o arquivo 1 ter sido recuperado do seu navegador

O exemplo mostrado na figura 2 mostra a janela de lista de pacotesonde duas mensagens HTTP foram capturadas A mensagem GET (deseu navegador para o servidor gaiacsumassedu) e a mensagem de res-posta do servidor para o seu navegador A janela de conteuacutedo dos pa-cotes mostra detalhes das mensagens selecionadas (nesse caso men-sagens HTTP GET que eacute destacado na janela de listagem de pacotes)Lembre que a mensagem HTTP estaacute dentro de um segmento TCP quefoi carregada dentro de um datagrama IP que foi carregado dentro de umquadro Ethernet o Wireshark mostraraacute informaccedilotildees do quadro EthernetIP e TCP Noacutes queremos minimizar a quantidade de dados natildeo HTTPmostrados (noacutes estamos interessados em HTTP e investigaremos outrosprotocolos em capiacutetulos seguintes) entatildeo tenha certeza de que as caixasno canto esquerdo que sinalizam informaccedilotildees de quadro Ethernet IP eTCP tem um sinal de mais (+) que significa que a informaccedilatildeo estaacute ocultae a linha de HTTP tem um sinal de menos (-) que significa que toda a

INTERACcedilAtildeO BAacuteSICA DE HTTP GET RESPONSE 5

informaccedilatildeo HTTP estaacute sendo mostrada

Tarefa A Olhando a informaccedilatildeo das mensagens de HTTP GET res-ponse responda as questotildees a seguir Quando estiver respondendo asquestotildees vocecirc deve imprimir as mensagens GET response (para incluiras informaccedilotildees de pacote no seu relatoacuterio vocecirc deve exportar os paco-tes de dados selecionados como um arquivo de texto Para isso use ajanela ldquoFile -gt Export -gt File rdquo selecione o tipo como ldquoPlain Textrdquo e es-colha ldquoSelected Packetrdquo indicando onde as mensagens que respondamas questotildees foram encontradas (Perceba que o procedimento de exporta-ccedilatildeo deve diferir de acordo com a plataforma onde vocecirc estaacute executandoo Wireshark como Linux Windows etc) Para todas as questotildees eacute impor-tante que vocecirc indique claramente qual eacute sua resposta como vocecirc obtevea resposta e (se aplicaacutevel) discuta as implicaccedilotildeesideias que enriqueccedilamsuas respostas Por exemplo na questatildeo a seguinte vocecirc pode elaboraro motivo de vocecirc ter observado o que observou

1 O seu navegador utiliza a versatildeo de HTTP 10 ou 11 Que versatildeo oservidor usa

2 Que linguagens (se existe alguma) seu navegador diz que pode seraceita pelo servidor Na sessatildeo de captura que outra informaccedilatildeo (se

existe alguma) o navegador provecirc para o servidor a respeito do utilizadornavegador

3 Qual o endereccedilo de IP do seu computador E o do servidorgaiacsumassedu

4 Qual o coacutedigo de status retornado do servidor para seu navegador5 Quando foi a uacuteltima vez que o arquivo HTML que vocecirc estaacute usando foi

modificado no servidor6 Quantos bytes de conteuacutedo foram enviados ao seu navegador

7 Inspecionando os dados brutos no painel ldquopacket bytesrdquo vocecirc vecircalgum cabeccedilalho HTTP com dados que natildeo foram mostrados no painel

ldquopacket detailsrdquo Se sim cite um

Nas suas cinco respostas acima vocecirc deve estar surpreso por notar queo documento que vocecirc recuperou foi modificado menos de um minuto an-tes de vocecirc baixaacute-lo Isso eacute porque (para esse arquivo em particular) oservidor gaiacsumassedu estaacute configurado para que a uacuteltima modifica-ccedilatildeo do arquivo seja a atual e atualiza isso uma vez por minuto Assimse vocecirc quiser esperar um minuto entre os acessos o arquivo vai ter sidorecentemente modificado e consequentemente seu navegador vai baixaruma ldquonovardquo coacutepia do arquivo

INTERACcedilAtildeO CONDICIONAL DE HTTP GET RESPONSE 6

INTERACcedilAtildeO CONDICIONAL DE HTTP GET RES-PONSE

Recordando a seccedilatildeo 226 do texto que mostra que a maioria dos na-vegadores guardam objetos em cache e assim fazem a condicional GETquando recuperam um objeto HTTP Antes de realizar os passos a seguirtenha certeza que o cache do seu navegador estaacute vazio (Para fazer issono Firefox selecione Tools -gt Clear Private Data Essas accedilotildees vatildeo remo-ver os arquivos de cache do seu navegador Agora faccedila o seguinte

1 Inicie seu navegador e certifique-se de que o cache estaacute limpo comodiscutido acima

2 Comece o Wireshark packet sniffer3 Entre na seguinte URL pelo seu navegador link Seu navegador deve

mostrar uma mensagem HTTP simples de uma linha4 Rapidamente entre na mesma URL pelo seu navegador novamente

(ou simplesmente atualize a paacutegina de seu navegador)5 Pare a captura de pacotes do Wireshark e digite ldquohttprdquo no filtro de

especificaccedilotildees assim apenas pacotes HTTP vatildeo ser mostradas depoisna lista de pacotes

(Nota Se vocecirc natildeo pode executar o Wireshark em uma conexatildeo de temporeal vocecirc pode usar o pacote http-ethereal-trace-2 para responder asquestotildees abaixo veja aqui link Esse arquivo foi montado seguindo ospassos acima)

Questotildees praacuteticas

8 Inspecione o conteuacutedo da primeira requisiccedilatildeo de HTTP GET do seunavegador ao servidor Vocecirc vecirc a linha ldquoIF-MODIFIED-SINCErdquo no HTTPGET

9 Inspecione o conteuacutedo de resposta do servidor O servidor retornouexplicitamente o conteuacutedo do arquivo Como vocecirc pode afirmar

10 Agora observe o conteuacutedo da segunda requisiccedilatildeo HTTP GET doseu navegador ao servidor Vocecirc vecirc a linha ldquoIF-MODIFIED-SINCErdquo noHTTP GET Se sim qual informaccedilatildeo segue o cabeccedilalho ldquoIF-MODIFIED-SINCErdquo

RECUPERACcedilAtildeO DE DOCUMENTOS LONGOS 7

11 Qual eacute o status HTTP e a frase retornados pelo servidor em res-posta ao segundo HTTP GET O servidor explicitamente retornou os con-teuacutedos do arquivo Explique

Tarefa B Para as questotildees de 8 agrave 11 primeiro escreva uma respostabreve poreacutem precisa para cada questatildeo acima entatildeo escreva um paraacute-grafo explicando suas observaccedilotildees das questotildees praacuteticas Note que suaresposta pode se beneficiar da explicaccedilatildeo eou referecircncias de algumas desuas observaccedilotildees expliacutecitas

RECUPERACcedilAtildeO DE DOCUMENTOS LONGOS

Nos nossos exemplos ateacute agora os documentos recuperados foramarquivos HTML simples e curtos Agora veremos o que acontece quandovocecirc baixa um arquivo HTML grande Faccedila o seguinte

1 Inicie seu navegador e tenha certeza de que o cache estaacute limpocomo discutido acima

2 Comece o Wireshark packet sniffer

3Entre com a seguinte URL no seu navegador link Seu navegadordeve mostrar a carta de direitos dos Estados Unidos

4 Pare a captura de pacotes do Wireshark e digite ldquohttprdquo no filtrode especificaccedilotildees assim apenas as mensagens HTTP capturadas seratildeomostradas

Nota Se vocecirc natildeo pode executar o Wireshark em uma conexatildeo detempo real vocecirc pode usar o pacote http-ethereal-trace-3 para responderas questotildees abaixo veja aqui link Esse arquivo foi montado seguindo ospassos acima)

Na janela de listagem de pacotes vocecirc deve ver sua mensagem HTTPGET seguida de muacuteltiplos pacotes de resposta para sua requisiccedilatildeo HTTPGET Esses muacuteltiplos pacotes merecem uma pequena explicaccedilatildeo Recor-dando a seccedilatildeo 22 (veja no texto) aquela mensagem de resposta HTTPconsistia em uma linha de status seguida por linhas de cabeccedilalho se-guida por uma linha em branco seguida pelo corpo da mensagem No

RECUPERACcedilAtildeO DE DOCUMENTOS LONGOS 8

caso de nossa HTTP GET o corpo da mensagem eacute o arquivo HTML derequisiccedilatildeo inteiro No caso de agora o arquivo de HTML eacute muito grande eos 4500 bytes satildeo grandes demais para caber em um uacutenico pacote TCPUma uacutenica mensagem de resposta HTTP eacute entatildeo quebrada em algunspedaccedilos pelo TCP e cada pedaccedilo conteacutem separadamente um segmentoTCP (Veja no texto) Cada segmento TCP eacute gravado pelo Wireshark comoum pedaccedilo separado e o fato de que uma uacutenica resposta HTTP foi frag-mentada em muacuteltiplos pacotes TCP eacute indicado pela frase ldquoTCP segmentof a reassembled PDUrdquo mostrada na tela do Wireshak Ressaltamos aquique natildeo existe uma mensagem de ldquoTCP segment of a reassembled PDUrdquoem HTTP Nesse sentido a figura 3 mostra uma captura de tela do Wi-reshark mostrando a rota de um http-ethereal-trace-3 Na listagem de pa-cotes capturados o pacote nuacutemero 8 mostra uma requisiccedilatildeo HTTP GETe o pacote nuacutemero 14 mostra a resposta HTTP correspondente Podeser visto que os pacotes nuacutemero 10 11 e 13 satildeo nomeados com ldquoTCPsegment of a ressaembled PDUrdquo Clicando na resposta HTTP como nopacote 14 o painel de detalhes do pacote mostra [4 Reassembled TCPSegments (4816 bytes) 10(1460) 11(1460) 13(1460) 14(436)] (veja afigura 3) Adicionalmente o painel de pacotes de bytes mostra uma nomatabela entitulada Reassembled TCP que mostra a resposta HTTP inteira

RECUPERACcedilAtildeO DE DOCUMENTOS LONGOS 9

Tela do Wireshak com a rota do terceiro pacote

Uma maneira mais conveniente de ver todos os dados (todos as re-quisiccedilotildees HTTP e as respostas transportadas pelo TCP) eacute usando umacaracteriacutestica extra do Wireshark chamada ldquoFollowing TCP Streamsrdquo Cli-cando com o botatildeo direito do mouse em qualquer dos pacotes TCP as-sociados com um determinado fluxo TCP e selecionado o ldquoFollow TCPStreamrdquo no menu uma nova janela abriraacute contendo a troca de dadosA figura 4 mostra a janela ldquoFollow TCP Streamrdquo para a requisiccedilatildeo GETethereal-labslab2-3html HTTP11 e sua resposta associada Nessa ja-nela caracteres natildeo demonstraacuteveis satildeo substituiacutedos por pontos De qual-quer modo a escolha de Raw ou ASCII feita nessa janela afeta comple-tamente o modo como vocecirc poderaacute salvar seu fluxo de dados Isso eacutese Raw eacute selecionado o fluxo de dados seraacute salvo como arquivo binaacute-rio preservando os caracteres natildeo demonstraacuteveis Jaacute no caso de ASCIIo fluxo de dados eacute salvo como um arquivo de texto onde os caracteresnatildeo demonstraacuteveis satildeo substituiacutedos por pontos Note como o Wireshark

RECUPERACcedilAtildeO DE DOCUMENTOS LONGOS 10

mudou (e aplicou) as mudanccedilas no filtro que mostra apenas os pacotesselecionados

A janela do Wireshark durante o fluxo TCP

Questotildees praacuteticas

12 Quantas mensagens de requisiccedilatildeo HTTP GET foram enviadaspelo seu navegador

13 Quantos segmentos TCP contendo dados satildeo necessaacuterios paracarregar essa uacutenica resposta HTTP

14 Qual o status e a frase associada com a requisiccedilatildeo HTTP GET

15 Existe alguma informaccedilatildeo de cabeccedilalho HTTP nos dados associ-ados com a segmentaccedilatildeo TCP

Tarefa C Para as questotildees de 12 agrave 15 primeiro escreva uma respostabreve poreacutem precisa para cada questatildeo acima entatildeo escreva um paraacute-

DOCUMENTOS HTML COM OBJETOS EMBUTIDOS 11

grafo explicando suas observaccedilotildees das questotildees praacuteticas Note que suaresposta pode se beneficiar da explicaccedilatildeo eou referecircncias de algumas desuas observaccedilotildees expliacutecitas

DOCUMENTOS HTML COM OBJETOS EMBUTI-DOS

Agora que vimos como o Wireshark mostra o traacutefego de captura depacotes para arquivos HTML grandes podemos olhar o que acontecequando seu navegador baixa um arquivo com objetos embutidos comoum arquivo que incluem outros objetos (no exemplo a seguir imagens)que estatildeo armazenados em outro servidor Faccedila o seguinte

1Inicie seu navegador e tenha certeza de que o cache estaacute limpocomo discutido acima2Comece o Wireshark packet sniffer3Entre com a seguinte URL no seu navegador link Seu navegador devemostrar um arquivo HTML curto com duas imagens Essas duas imagenssatildeo referenciadas na base do arquivo HTML Isso eacute as imahens natildeo es-tatildeo contidas no HTML no lugar disso URLs para o conteuacutedo das imagenssatildeo baixadas no arquivo HTML Como discutido no livro seu navegadorvai recuperar esses logos de sites indicados Nosso logo eacute recuperado dolink wwwaw-bccom A imagem da capa do nosso livro eacute armazenada noservidor maniccsumassedu4Pare a captura de pacotes do Wireshark e digite ldquohttprdquo no filtro de espe-cificaccedilotildees assim apenas as mensagens HTTP capturadas seratildeo mostra-das Nota Se vocecirc natildeo pode executar o Wireshark em uma conexatildeo detempo real vocecirc pode usar o pacote http-ethereal-trace-4 para responderas questotildees abaixo veja aqui link Esse arquivo foi montado seguindo ospassos acima)

Questotildees praacuteticas

16 Quantas requisiccedilotildees HTTP GET foram enviadas pelo seu navega-dor Para quais endereccedilos essas requisiccedilotildees GET foram enviadas

17 Vocecirc pode dizer se o seu navegador baixou as duas imagens emseacuterie ou se elas foram baixadas dos dois sites em paralelo ExpliqueTarefa D Para as questotildees de 16 agrave 17 primeiro escreva uma resposta

AUTENTICACcedilAtildeO HTTP 12

breve poreacutem precisa para cada questatildeo acima entatildeo escreva um paraacute-grafo explicando suas observaccedilotildees das questotildees praacuteticas Note que suaresposta pode se beneficiar da explicaccedilatildeo eou referecircncias de algumas desuas observaccedilotildees expliacutecitas

AUTENTICACcedilAtildeO HTTP

Finalmente vamos visitar um site protegido por senha e examinar asequecircncia de mensagens HTTP trocadas com esse site A URL link eacuteprotegida por senha O username eacute ldquowireshark-studentsrdquo (sem as aspas)e a senha eacute ldquonetworkrdquo (novamente sem as aspas) Entatildeo vamos acessaresse site protegido por senha ldquosegurordquo Faccedila o seguinte

1Inicie seu navegador e tenha certeza de que o cache estaacute limpocomo discutido acima2Comece o Wireshark packet sniffer3Entre com a seguinte URL no seu navegador link Digite o username e opassword na janela pop up4Pare a captura de pacotes do Wireshark e digite ldquohttprdquo no filtro de espe-cificaccedilotildees assim apenas as mensagens HTTP capturadas seratildeo mostra-dasNota Se vocecirc natildeo pode executar o Wireshark em uma conexatildeo de temporeal vocecirc pode usar o pacote http-ethereal-trace-5 para responder asquestotildees abaixo veja aqui link Esse arquivo foi montado seguindo os pas-sos acima)Agora vamos examinar a saiacuteda de dados do Wireshark Vocecirc pode que-rer ler primeiro sobre autentificaccedilatildeo HTTP revendo o material em ldquoHTTPAcess Athentication Frameworkrdquo em httpfrontieruserlandcomstoriesstoryReaderQuestotildees praacuteticas (natildeo precisam ser respondidas explicitamente)18 Qual eacute a resposta do servidor (status e frase) em resposta a mensa-gem inicial de HTTP GET do seu navegador19 Quando seu navegador envia uma mensagem HTTP GET pela se-gunda vez qual eacute o novo campo incluiacutedo na mensagem HTTP GETVocecirc natildeo precisa relatar as questotildees 18 e 19 de qualquer modo sinta-se livre para redigir um paraacutegrafo explicando e discutindo suas observa-ccedilotildees sobre as questotildees praacuteticas acima O username e a senha que vocecircforneceu satildeo codificadas na string de caracteres seguindo o cabeccedilalholdquoAuthorization Basicrdquo na mensagem HTTP do cliente Enquanto podeparecer que o seu username e senha estatildeo e criptografados eles estatildeosimplesmente codificados em um formato conhecido como Base64 O

QUESTOtildeES PREPARATOacuteRIAS PARA A SEGUNDA TAREFA 13

username e a senha natildeo estatildeo criptografados Para ver isso vaacute parahttpgtoolsorgtoolbase64-encode-decode e enyte com a string de co-dificaccedilatildeo base64 d2lyZXNoYXJrLXN0dWRlbnRz dentro da caixa ldquoDecodefrom base64rdquo e pressione ldquoGordquo Voila Vocecirc traduziu de base64 para co-dificaccedilatildeo ASCII e entatildeo pode ver seu username Para ver a senha entrecom a string Om5ldHdvcms= e pressione ldquodecoderdquo Jaacute que qualquer umpode baixar ferramentas como o Wireshark e rastrear pacotes (natildeo soacute osseus proacuteprios) passando pelo adaptador de rede qualquer um pode tra-duzir Base64 para ASCII (como vocecirc acabou de fazer) Deve estar claroque senhas simples em sites WWW natildeo satildeo seguros a natildeo ser que me-didas adicionais sejam tomadasNatildeo tema Como veremos no capiacutetulo 7 existem maneiras de fazer queacessos WWW sejam mais seguros De qualquer modo noacutes claramenteprecisamos de algo que vaacute aleacutem da autentificaccedilatildeo baacutesica de HTTP

QUESTOtildeES PREPARATOacuteRIAS PARA A SEGUNDATAREFA

20 O que o cabeccedilalho ldquoConnection closerdquo e ldquoConnection Keep-aliverdquoimplicam no protocolo HTTP Quando uma delas deve ser usada ao inveacutesda outra

Tarefa E Para a questatildeo 20 primeiro escreva um breve poreacutem precisoparaacutegrafo que responda a questatildeo acima entatildeo escreva um paraacutegrafoexplicando e discutindo como essas observaccedilotildees podem ser uacuteteis para aproacutexima tarefa

Demonstraccedilatildeo e relatoacuterios Para essa tarefa vocecirc vai precisar escre-ver um relatoacuterio que cuidadosamente responda as questotildees 1-17 e 20e escreva um paraacutegrafo discutindo cada grupo de questotildees 1-7 (TarefaA) 8-11 (Tarefa B) 12-15 (Tarefa C) 16-17 (Tarefa D) e 20 (Tarefa E)Note que cada grupo de questotildees tem um tema e vocecirc deve convencero leitor que seu relatoacuterio (incluindo vocecirc se vocecirc ler seus documentosmesessemanas depois) que vocecirc entende esses aspectos do HTTP Porfavor estruture seu relatoacuterio de modo que suas respostas estejam clara-mente indicadas para cada questatildeo (e sessatildeo) Questotildees e respostascorrespondentes devem estar claramente indicadas Estruture seu relatoacute-rio Aleacutem disso suas respostas devem ser explicadas e apoiadas usandoinformaccedilotildees adicionais quando aplicaacutevel Durante a demonstraccedilatildeo po-dem ser feitas questotildees similares para obtermos a certeza de que vocecirc

QUESTOtildeES PREPARATOacuteRIAS PARA A SEGUNDA TAREFA 14

compreendeu todo esse laboratoacuterio Vocecirc deve explicar claramente suasrespostas Como os relatoacuterios satildeo feitos em duplas ambos os membrosresponderatildeo perguntas

Instruccedilotildees adicionais podem ser encontradas aquilink

Page 3: LABORATÓRIO WIRESHARK HTTP - MAURO OLIVEIRA · PDF fileWIRESHARK - HTTP 1 WIRESHARK - HTTP Esse manual de laboratório é baseado em “Wireshark Lab: HTTP”, versão 2.0 (setembro

INTERACcedilAtildeO BAacuteSICA DE HTTP GET RESPONSE 2

Baseado nas configuraccedilotildees de rede da plataforma onde vocecirc estaacute ro-dando o Wireshark vocecirc pode observar que todos os pacotes de saiacutedaestatildeo marcados pelo Wireshark como sendo erros de checksum (somade verificaccedilatildeo) (Veja a figura 1) Isso como o sugerido pelo Wireshark(veja o painel de detalhes do pacote na figura 1) pode ser devido ao offlo-ading do checksum uma configuraccedilatildeo que alivia a CPU de gerar valoresde checksum para pacotes de saiacuteda e deixa esse trabalho ser feito peloadaptador de rede Como o Wireshark captura os pacotes antes que elesalcancem o adaptador de rede a soma de verificaccedilatildeo (checksum) paratodos os pacotes capturados eacute zero Se vocecirc encontrar esse coacutedigo decores distrativo ou incocircmodo vocecirc pode simplesmente desabilitar os errosde checksum colorindo a regra do menu de itens View gt Coloring Rules

Erros de verificaccedilatildeo do Wireshak

INTERACcedilAtildeO BAacuteSICA DE HTTP GET RESPONSE

Vamos comeccedilar nossa exploraccedilatildeo do HTTP baixando um simples ar-quivo HTTP ndash Ele eacute muito pequeno e conteacutem objetos indexados Faccedila o

INTERACcedilAtildeO BAacuteSICA DE HTTP GET RESPONSE 3

seguinte

1 Inicie seu navegador2 Inicie o Wireshark como descrito no laboratoacuterio introdutoacuterio (mas

ainda natildeo comece a captura de pacotes) Digite ldquohttprdquo (apenas as letrassem aspas) na janela do filtro de especificaccedilotildees assim apenas as

mensagens HTTP capturadas vatildeo ser mostradas na lista de pacotes3 Espere pouco mais de um minuto (veremos porque tatildeo pouco tempo)

e entatildeo comece a captura de pacotes do Wireshark4 Entre no seguinte link pelo seu navegador link Seu navegador deve

mostrar um arquivo HTML simples de uma linha5 Pare a captura de pacotes do Wireshark

Sua janela do Wireshark vai ser similar a da janela mostrada na figura2 Se vocecirc natildeo pode executar o Wireshark em uma conexatildeo de rede emtempo real vocecirc pode baixar um pacote de rotas que foi criado quandoos passos acima foram seguidos Para fazer isso baixe o arquivo ziplink e extraia o arquivo http-ethereal-trace-1 As rotas desse arquivo zipforam coletadas pelo Wireshark quando foi executado em um dos compu-tadores do autor enquanto realizava os passos indicados no laboratoacuteriodo Wireshark Uma vez que vocecirc tenha baixado o arquivo vocecirc podecarregaacute-lo dentro do Wireshark e ver as rotas usando o menu ldquoFile pulldownrdquo escolhendo ldquoabrirrdquo (Open) e selecionando o arquivo http-ethereal-trace-1 A tela resultante deve se parecer como a figura 2 apoacutes aplicar ofiltro ldquohttprdquo

INTERACcedilAtildeO BAacuteSICA DE HTTP GET RESPONSE 4

Tela do Wireshak apoacutes o arquivo 1 ter sido recuperado do seu navegador

O exemplo mostrado na figura 2 mostra a janela de lista de pacotesonde duas mensagens HTTP foram capturadas A mensagem GET (deseu navegador para o servidor gaiacsumassedu) e a mensagem de res-posta do servidor para o seu navegador A janela de conteuacutedo dos pa-cotes mostra detalhes das mensagens selecionadas (nesse caso men-sagens HTTP GET que eacute destacado na janela de listagem de pacotes)Lembre que a mensagem HTTP estaacute dentro de um segmento TCP quefoi carregada dentro de um datagrama IP que foi carregado dentro de umquadro Ethernet o Wireshark mostraraacute informaccedilotildees do quadro EthernetIP e TCP Noacutes queremos minimizar a quantidade de dados natildeo HTTPmostrados (noacutes estamos interessados em HTTP e investigaremos outrosprotocolos em capiacutetulos seguintes) entatildeo tenha certeza de que as caixasno canto esquerdo que sinalizam informaccedilotildees de quadro Ethernet IP eTCP tem um sinal de mais (+) que significa que a informaccedilatildeo estaacute ocultae a linha de HTTP tem um sinal de menos (-) que significa que toda a

INTERACcedilAtildeO BAacuteSICA DE HTTP GET RESPONSE 5

informaccedilatildeo HTTP estaacute sendo mostrada

Tarefa A Olhando a informaccedilatildeo das mensagens de HTTP GET res-ponse responda as questotildees a seguir Quando estiver respondendo asquestotildees vocecirc deve imprimir as mensagens GET response (para incluiras informaccedilotildees de pacote no seu relatoacuterio vocecirc deve exportar os paco-tes de dados selecionados como um arquivo de texto Para isso use ajanela ldquoFile -gt Export -gt File rdquo selecione o tipo como ldquoPlain Textrdquo e es-colha ldquoSelected Packetrdquo indicando onde as mensagens que respondamas questotildees foram encontradas (Perceba que o procedimento de exporta-ccedilatildeo deve diferir de acordo com a plataforma onde vocecirc estaacute executandoo Wireshark como Linux Windows etc) Para todas as questotildees eacute impor-tante que vocecirc indique claramente qual eacute sua resposta como vocecirc obtevea resposta e (se aplicaacutevel) discuta as implicaccedilotildeesideias que enriqueccedilamsuas respostas Por exemplo na questatildeo a seguinte vocecirc pode elaboraro motivo de vocecirc ter observado o que observou

1 O seu navegador utiliza a versatildeo de HTTP 10 ou 11 Que versatildeo oservidor usa

2 Que linguagens (se existe alguma) seu navegador diz que pode seraceita pelo servidor Na sessatildeo de captura que outra informaccedilatildeo (se

existe alguma) o navegador provecirc para o servidor a respeito do utilizadornavegador

3 Qual o endereccedilo de IP do seu computador E o do servidorgaiacsumassedu

4 Qual o coacutedigo de status retornado do servidor para seu navegador5 Quando foi a uacuteltima vez que o arquivo HTML que vocecirc estaacute usando foi

modificado no servidor6 Quantos bytes de conteuacutedo foram enviados ao seu navegador

7 Inspecionando os dados brutos no painel ldquopacket bytesrdquo vocecirc vecircalgum cabeccedilalho HTTP com dados que natildeo foram mostrados no painel

ldquopacket detailsrdquo Se sim cite um

Nas suas cinco respostas acima vocecirc deve estar surpreso por notar queo documento que vocecirc recuperou foi modificado menos de um minuto an-tes de vocecirc baixaacute-lo Isso eacute porque (para esse arquivo em particular) oservidor gaiacsumassedu estaacute configurado para que a uacuteltima modifica-ccedilatildeo do arquivo seja a atual e atualiza isso uma vez por minuto Assimse vocecirc quiser esperar um minuto entre os acessos o arquivo vai ter sidorecentemente modificado e consequentemente seu navegador vai baixaruma ldquonovardquo coacutepia do arquivo

INTERACcedilAtildeO CONDICIONAL DE HTTP GET RESPONSE 6

INTERACcedilAtildeO CONDICIONAL DE HTTP GET RES-PONSE

Recordando a seccedilatildeo 226 do texto que mostra que a maioria dos na-vegadores guardam objetos em cache e assim fazem a condicional GETquando recuperam um objeto HTTP Antes de realizar os passos a seguirtenha certeza que o cache do seu navegador estaacute vazio (Para fazer issono Firefox selecione Tools -gt Clear Private Data Essas accedilotildees vatildeo remo-ver os arquivos de cache do seu navegador Agora faccedila o seguinte

1 Inicie seu navegador e certifique-se de que o cache estaacute limpo comodiscutido acima

2 Comece o Wireshark packet sniffer3 Entre na seguinte URL pelo seu navegador link Seu navegador deve

mostrar uma mensagem HTTP simples de uma linha4 Rapidamente entre na mesma URL pelo seu navegador novamente

(ou simplesmente atualize a paacutegina de seu navegador)5 Pare a captura de pacotes do Wireshark e digite ldquohttprdquo no filtro de

especificaccedilotildees assim apenas pacotes HTTP vatildeo ser mostradas depoisna lista de pacotes

(Nota Se vocecirc natildeo pode executar o Wireshark em uma conexatildeo de temporeal vocecirc pode usar o pacote http-ethereal-trace-2 para responder asquestotildees abaixo veja aqui link Esse arquivo foi montado seguindo ospassos acima)

Questotildees praacuteticas

8 Inspecione o conteuacutedo da primeira requisiccedilatildeo de HTTP GET do seunavegador ao servidor Vocecirc vecirc a linha ldquoIF-MODIFIED-SINCErdquo no HTTPGET

9 Inspecione o conteuacutedo de resposta do servidor O servidor retornouexplicitamente o conteuacutedo do arquivo Como vocecirc pode afirmar

10 Agora observe o conteuacutedo da segunda requisiccedilatildeo HTTP GET doseu navegador ao servidor Vocecirc vecirc a linha ldquoIF-MODIFIED-SINCErdquo noHTTP GET Se sim qual informaccedilatildeo segue o cabeccedilalho ldquoIF-MODIFIED-SINCErdquo

RECUPERACcedilAtildeO DE DOCUMENTOS LONGOS 7

11 Qual eacute o status HTTP e a frase retornados pelo servidor em res-posta ao segundo HTTP GET O servidor explicitamente retornou os con-teuacutedos do arquivo Explique

Tarefa B Para as questotildees de 8 agrave 11 primeiro escreva uma respostabreve poreacutem precisa para cada questatildeo acima entatildeo escreva um paraacute-grafo explicando suas observaccedilotildees das questotildees praacuteticas Note que suaresposta pode se beneficiar da explicaccedilatildeo eou referecircncias de algumas desuas observaccedilotildees expliacutecitas

RECUPERACcedilAtildeO DE DOCUMENTOS LONGOS

Nos nossos exemplos ateacute agora os documentos recuperados foramarquivos HTML simples e curtos Agora veremos o que acontece quandovocecirc baixa um arquivo HTML grande Faccedila o seguinte

1 Inicie seu navegador e tenha certeza de que o cache estaacute limpocomo discutido acima

2 Comece o Wireshark packet sniffer

3Entre com a seguinte URL no seu navegador link Seu navegadordeve mostrar a carta de direitos dos Estados Unidos

4 Pare a captura de pacotes do Wireshark e digite ldquohttprdquo no filtrode especificaccedilotildees assim apenas as mensagens HTTP capturadas seratildeomostradas

Nota Se vocecirc natildeo pode executar o Wireshark em uma conexatildeo detempo real vocecirc pode usar o pacote http-ethereal-trace-3 para responderas questotildees abaixo veja aqui link Esse arquivo foi montado seguindo ospassos acima)

Na janela de listagem de pacotes vocecirc deve ver sua mensagem HTTPGET seguida de muacuteltiplos pacotes de resposta para sua requisiccedilatildeo HTTPGET Esses muacuteltiplos pacotes merecem uma pequena explicaccedilatildeo Recor-dando a seccedilatildeo 22 (veja no texto) aquela mensagem de resposta HTTPconsistia em uma linha de status seguida por linhas de cabeccedilalho se-guida por uma linha em branco seguida pelo corpo da mensagem No

RECUPERACcedilAtildeO DE DOCUMENTOS LONGOS 8

caso de nossa HTTP GET o corpo da mensagem eacute o arquivo HTML derequisiccedilatildeo inteiro No caso de agora o arquivo de HTML eacute muito grande eos 4500 bytes satildeo grandes demais para caber em um uacutenico pacote TCPUma uacutenica mensagem de resposta HTTP eacute entatildeo quebrada em algunspedaccedilos pelo TCP e cada pedaccedilo conteacutem separadamente um segmentoTCP (Veja no texto) Cada segmento TCP eacute gravado pelo Wireshark comoum pedaccedilo separado e o fato de que uma uacutenica resposta HTTP foi frag-mentada em muacuteltiplos pacotes TCP eacute indicado pela frase ldquoTCP segmentof a reassembled PDUrdquo mostrada na tela do Wireshak Ressaltamos aquique natildeo existe uma mensagem de ldquoTCP segment of a reassembled PDUrdquoem HTTP Nesse sentido a figura 3 mostra uma captura de tela do Wi-reshark mostrando a rota de um http-ethereal-trace-3 Na listagem de pa-cotes capturados o pacote nuacutemero 8 mostra uma requisiccedilatildeo HTTP GETe o pacote nuacutemero 14 mostra a resposta HTTP correspondente Podeser visto que os pacotes nuacutemero 10 11 e 13 satildeo nomeados com ldquoTCPsegment of a ressaembled PDUrdquo Clicando na resposta HTTP como nopacote 14 o painel de detalhes do pacote mostra [4 Reassembled TCPSegments (4816 bytes) 10(1460) 11(1460) 13(1460) 14(436)] (veja afigura 3) Adicionalmente o painel de pacotes de bytes mostra uma nomatabela entitulada Reassembled TCP que mostra a resposta HTTP inteira

RECUPERACcedilAtildeO DE DOCUMENTOS LONGOS 9

Tela do Wireshak com a rota do terceiro pacote

Uma maneira mais conveniente de ver todos os dados (todos as re-quisiccedilotildees HTTP e as respostas transportadas pelo TCP) eacute usando umacaracteriacutestica extra do Wireshark chamada ldquoFollowing TCP Streamsrdquo Cli-cando com o botatildeo direito do mouse em qualquer dos pacotes TCP as-sociados com um determinado fluxo TCP e selecionado o ldquoFollow TCPStreamrdquo no menu uma nova janela abriraacute contendo a troca de dadosA figura 4 mostra a janela ldquoFollow TCP Streamrdquo para a requisiccedilatildeo GETethereal-labslab2-3html HTTP11 e sua resposta associada Nessa ja-nela caracteres natildeo demonstraacuteveis satildeo substituiacutedos por pontos De qual-quer modo a escolha de Raw ou ASCII feita nessa janela afeta comple-tamente o modo como vocecirc poderaacute salvar seu fluxo de dados Isso eacutese Raw eacute selecionado o fluxo de dados seraacute salvo como arquivo binaacute-rio preservando os caracteres natildeo demonstraacuteveis Jaacute no caso de ASCIIo fluxo de dados eacute salvo como um arquivo de texto onde os caracteresnatildeo demonstraacuteveis satildeo substituiacutedos por pontos Note como o Wireshark

RECUPERACcedilAtildeO DE DOCUMENTOS LONGOS 10

mudou (e aplicou) as mudanccedilas no filtro que mostra apenas os pacotesselecionados

A janela do Wireshark durante o fluxo TCP

Questotildees praacuteticas

12 Quantas mensagens de requisiccedilatildeo HTTP GET foram enviadaspelo seu navegador

13 Quantos segmentos TCP contendo dados satildeo necessaacuterios paracarregar essa uacutenica resposta HTTP

14 Qual o status e a frase associada com a requisiccedilatildeo HTTP GET

15 Existe alguma informaccedilatildeo de cabeccedilalho HTTP nos dados associ-ados com a segmentaccedilatildeo TCP

Tarefa C Para as questotildees de 12 agrave 15 primeiro escreva uma respostabreve poreacutem precisa para cada questatildeo acima entatildeo escreva um paraacute-

DOCUMENTOS HTML COM OBJETOS EMBUTIDOS 11

grafo explicando suas observaccedilotildees das questotildees praacuteticas Note que suaresposta pode se beneficiar da explicaccedilatildeo eou referecircncias de algumas desuas observaccedilotildees expliacutecitas

DOCUMENTOS HTML COM OBJETOS EMBUTI-DOS

Agora que vimos como o Wireshark mostra o traacutefego de captura depacotes para arquivos HTML grandes podemos olhar o que acontecequando seu navegador baixa um arquivo com objetos embutidos comoum arquivo que incluem outros objetos (no exemplo a seguir imagens)que estatildeo armazenados em outro servidor Faccedila o seguinte

1Inicie seu navegador e tenha certeza de que o cache estaacute limpocomo discutido acima2Comece o Wireshark packet sniffer3Entre com a seguinte URL no seu navegador link Seu navegador devemostrar um arquivo HTML curto com duas imagens Essas duas imagenssatildeo referenciadas na base do arquivo HTML Isso eacute as imahens natildeo es-tatildeo contidas no HTML no lugar disso URLs para o conteuacutedo das imagenssatildeo baixadas no arquivo HTML Como discutido no livro seu navegadorvai recuperar esses logos de sites indicados Nosso logo eacute recuperado dolink wwwaw-bccom A imagem da capa do nosso livro eacute armazenada noservidor maniccsumassedu4Pare a captura de pacotes do Wireshark e digite ldquohttprdquo no filtro de espe-cificaccedilotildees assim apenas as mensagens HTTP capturadas seratildeo mostra-das Nota Se vocecirc natildeo pode executar o Wireshark em uma conexatildeo detempo real vocecirc pode usar o pacote http-ethereal-trace-4 para responderas questotildees abaixo veja aqui link Esse arquivo foi montado seguindo ospassos acima)

Questotildees praacuteticas

16 Quantas requisiccedilotildees HTTP GET foram enviadas pelo seu navega-dor Para quais endereccedilos essas requisiccedilotildees GET foram enviadas

17 Vocecirc pode dizer se o seu navegador baixou as duas imagens emseacuterie ou se elas foram baixadas dos dois sites em paralelo ExpliqueTarefa D Para as questotildees de 16 agrave 17 primeiro escreva uma resposta

AUTENTICACcedilAtildeO HTTP 12

breve poreacutem precisa para cada questatildeo acima entatildeo escreva um paraacute-grafo explicando suas observaccedilotildees das questotildees praacuteticas Note que suaresposta pode se beneficiar da explicaccedilatildeo eou referecircncias de algumas desuas observaccedilotildees expliacutecitas

AUTENTICACcedilAtildeO HTTP

Finalmente vamos visitar um site protegido por senha e examinar asequecircncia de mensagens HTTP trocadas com esse site A URL link eacuteprotegida por senha O username eacute ldquowireshark-studentsrdquo (sem as aspas)e a senha eacute ldquonetworkrdquo (novamente sem as aspas) Entatildeo vamos acessaresse site protegido por senha ldquosegurordquo Faccedila o seguinte

1Inicie seu navegador e tenha certeza de que o cache estaacute limpocomo discutido acima2Comece o Wireshark packet sniffer3Entre com a seguinte URL no seu navegador link Digite o username e opassword na janela pop up4Pare a captura de pacotes do Wireshark e digite ldquohttprdquo no filtro de espe-cificaccedilotildees assim apenas as mensagens HTTP capturadas seratildeo mostra-dasNota Se vocecirc natildeo pode executar o Wireshark em uma conexatildeo de temporeal vocecirc pode usar o pacote http-ethereal-trace-5 para responder asquestotildees abaixo veja aqui link Esse arquivo foi montado seguindo os pas-sos acima)Agora vamos examinar a saiacuteda de dados do Wireshark Vocecirc pode que-rer ler primeiro sobre autentificaccedilatildeo HTTP revendo o material em ldquoHTTPAcess Athentication Frameworkrdquo em httpfrontieruserlandcomstoriesstoryReaderQuestotildees praacuteticas (natildeo precisam ser respondidas explicitamente)18 Qual eacute a resposta do servidor (status e frase) em resposta a mensa-gem inicial de HTTP GET do seu navegador19 Quando seu navegador envia uma mensagem HTTP GET pela se-gunda vez qual eacute o novo campo incluiacutedo na mensagem HTTP GETVocecirc natildeo precisa relatar as questotildees 18 e 19 de qualquer modo sinta-se livre para redigir um paraacutegrafo explicando e discutindo suas observa-ccedilotildees sobre as questotildees praacuteticas acima O username e a senha que vocecircforneceu satildeo codificadas na string de caracteres seguindo o cabeccedilalholdquoAuthorization Basicrdquo na mensagem HTTP do cliente Enquanto podeparecer que o seu username e senha estatildeo e criptografados eles estatildeosimplesmente codificados em um formato conhecido como Base64 O

QUESTOtildeES PREPARATOacuteRIAS PARA A SEGUNDA TAREFA 13

username e a senha natildeo estatildeo criptografados Para ver isso vaacute parahttpgtoolsorgtoolbase64-encode-decode e enyte com a string de co-dificaccedilatildeo base64 d2lyZXNoYXJrLXN0dWRlbnRz dentro da caixa ldquoDecodefrom base64rdquo e pressione ldquoGordquo Voila Vocecirc traduziu de base64 para co-dificaccedilatildeo ASCII e entatildeo pode ver seu username Para ver a senha entrecom a string Om5ldHdvcms= e pressione ldquodecoderdquo Jaacute que qualquer umpode baixar ferramentas como o Wireshark e rastrear pacotes (natildeo soacute osseus proacuteprios) passando pelo adaptador de rede qualquer um pode tra-duzir Base64 para ASCII (como vocecirc acabou de fazer) Deve estar claroque senhas simples em sites WWW natildeo satildeo seguros a natildeo ser que me-didas adicionais sejam tomadasNatildeo tema Como veremos no capiacutetulo 7 existem maneiras de fazer queacessos WWW sejam mais seguros De qualquer modo noacutes claramenteprecisamos de algo que vaacute aleacutem da autentificaccedilatildeo baacutesica de HTTP

QUESTOtildeES PREPARATOacuteRIAS PARA A SEGUNDATAREFA

20 O que o cabeccedilalho ldquoConnection closerdquo e ldquoConnection Keep-aliverdquoimplicam no protocolo HTTP Quando uma delas deve ser usada ao inveacutesda outra

Tarefa E Para a questatildeo 20 primeiro escreva um breve poreacutem precisoparaacutegrafo que responda a questatildeo acima entatildeo escreva um paraacutegrafoexplicando e discutindo como essas observaccedilotildees podem ser uacuteteis para aproacutexima tarefa

Demonstraccedilatildeo e relatoacuterios Para essa tarefa vocecirc vai precisar escre-ver um relatoacuterio que cuidadosamente responda as questotildees 1-17 e 20e escreva um paraacutegrafo discutindo cada grupo de questotildees 1-7 (TarefaA) 8-11 (Tarefa B) 12-15 (Tarefa C) 16-17 (Tarefa D) e 20 (Tarefa E)Note que cada grupo de questotildees tem um tema e vocecirc deve convencero leitor que seu relatoacuterio (incluindo vocecirc se vocecirc ler seus documentosmesessemanas depois) que vocecirc entende esses aspectos do HTTP Porfavor estruture seu relatoacuterio de modo que suas respostas estejam clara-mente indicadas para cada questatildeo (e sessatildeo) Questotildees e respostascorrespondentes devem estar claramente indicadas Estruture seu relatoacute-rio Aleacutem disso suas respostas devem ser explicadas e apoiadas usandoinformaccedilotildees adicionais quando aplicaacutevel Durante a demonstraccedilatildeo po-dem ser feitas questotildees similares para obtermos a certeza de que vocecirc

QUESTOtildeES PREPARATOacuteRIAS PARA A SEGUNDA TAREFA 14

compreendeu todo esse laboratoacuterio Vocecirc deve explicar claramente suasrespostas Como os relatoacuterios satildeo feitos em duplas ambos os membrosresponderatildeo perguntas

Instruccedilotildees adicionais podem ser encontradas aquilink

Page 4: LABORATÓRIO WIRESHARK HTTP - MAURO OLIVEIRA · PDF fileWIRESHARK - HTTP 1 WIRESHARK - HTTP Esse manual de laboratório é baseado em “Wireshark Lab: HTTP”, versão 2.0 (setembro

INTERACcedilAtildeO BAacuteSICA DE HTTP GET RESPONSE 3

seguinte

1 Inicie seu navegador2 Inicie o Wireshark como descrito no laboratoacuterio introdutoacuterio (mas

ainda natildeo comece a captura de pacotes) Digite ldquohttprdquo (apenas as letrassem aspas) na janela do filtro de especificaccedilotildees assim apenas as

mensagens HTTP capturadas vatildeo ser mostradas na lista de pacotes3 Espere pouco mais de um minuto (veremos porque tatildeo pouco tempo)

e entatildeo comece a captura de pacotes do Wireshark4 Entre no seguinte link pelo seu navegador link Seu navegador deve

mostrar um arquivo HTML simples de uma linha5 Pare a captura de pacotes do Wireshark

Sua janela do Wireshark vai ser similar a da janela mostrada na figura2 Se vocecirc natildeo pode executar o Wireshark em uma conexatildeo de rede emtempo real vocecirc pode baixar um pacote de rotas que foi criado quandoos passos acima foram seguidos Para fazer isso baixe o arquivo ziplink e extraia o arquivo http-ethereal-trace-1 As rotas desse arquivo zipforam coletadas pelo Wireshark quando foi executado em um dos compu-tadores do autor enquanto realizava os passos indicados no laboratoacuteriodo Wireshark Uma vez que vocecirc tenha baixado o arquivo vocecirc podecarregaacute-lo dentro do Wireshark e ver as rotas usando o menu ldquoFile pulldownrdquo escolhendo ldquoabrirrdquo (Open) e selecionando o arquivo http-ethereal-trace-1 A tela resultante deve se parecer como a figura 2 apoacutes aplicar ofiltro ldquohttprdquo

INTERACcedilAtildeO BAacuteSICA DE HTTP GET RESPONSE 4

Tela do Wireshak apoacutes o arquivo 1 ter sido recuperado do seu navegador

O exemplo mostrado na figura 2 mostra a janela de lista de pacotesonde duas mensagens HTTP foram capturadas A mensagem GET (deseu navegador para o servidor gaiacsumassedu) e a mensagem de res-posta do servidor para o seu navegador A janela de conteuacutedo dos pa-cotes mostra detalhes das mensagens selecionadas (nesse caso men-sagens HTTP GET que eacute destacado na janela de listagem de pacotes)Lembre que a mensagem HTTP estaacute dentro de um segmento TCP quefoi carregada dentro de um datagrama IP que foi carregado dentro de umquadro Ethernet o Wireshark mostraraacute informaccedilotildees do quadro EthernetIP e TCP Noacutes queremos minimizar a quantidade de dados natildeo HTTPmostrados (noacutes estamos interessados em HTTP e investigaremos outrosprotocolos em capiacutetulos seguintes) entatildeo tenha certeza de que as caixasno canto esquerdo que sinalizam informaccedilotildees de quadro Ethernet IP eTCP tem um sinal de mais (+) que significa que a informaccedilatildeo estaacute ocultae a linha de HTTP tem um sinal de menos (-) que significa que toda a

INTERACcedilAtildeO BAacuteSICA DE HTTP GET RESPONSE 5

informaccedilatildeo HTTP estaacute sendo mostrada

Tarefa A Olhando a informaccedilatildeo das mensagens de HTTP GET res-ponse responda as questotildees a seguir Quando estiver respondendo asquestotildees vocecirc deve imprimir as mensagens GET response (para incluiras informaccedilotildees de pacote no seu relatoacuterio vocecirc deve exportar os paco-tes de dados selecionados como um arquivo de texto Para isso use ajanela ldquoFile -gt Export -gt File rdquo selecione o tipo como ldquoPlain Textrdquo e es-colha ldquoSelected Packetrdquo indicando onde as mensagens que respondamas questotildees foram encontradas (Perceba que o procedimento de exporta-ccedilatildeo deve diferir de acordo com a plataforma onde vocecirc estaacute executandoo Wireshark como Linux Windows etc) Para todas as questotildees eacute impor-tante que vocecirc indique claramente qual eacute sua resposta como vocecirc obtevea resposta e (se aplicaacutevel) discuta as implicaccedilotildeesideias que enriqueccedilamsuas respostas Por exemplo na questatildeo a seguinte vocecirc pode elaboraro motivo de vocecirc ter observado o que observou

1 O seu navegador utiliza a versatildeo de HTTP 10 ou 11 Que versatildeo oservidor usa

2 Que linguagens (se existe alguma) seu navegador diz que pode seraceita pelo servidor Na sessatildeo de captura que outra informaccedilatildeo (se

existe alguma) o navegador provecirc para o servidor a respeito do utilizadornavegador

3 Qual o endereccedilo de IP do seu computador E o do servidorgaiacsumassedu

4 Qual o coacutedigo de status retornado do servidor para seu navegador5 Quando foi a uacuteltima vez que o arquivo HTML que vocecirc estaacute usando foi

modificado no servidor6 Quantos bytes de conteuacutedo foram enviados ao seu navegador

7 Inspecionando os dados brutos no painel ldquopacket bytesrdquo vocecirc vecircalgum cabeccedilalho HTTP com dados que natildeo foram mostrados no painel

ldquopacket detailsrdquo Se sim cite um

Nas suas cinco respostas acima vocecirc deve estar surpreso por notar queo documento que vocecirc recuperou foi modificado menos de um minuto an-tes de vocecirc baixaacute-lo Isso eacute porque (para esse arquivo em particular) oservidor gaiacsumassedu estaacute configurado para que a uacuteltima modifica-ccedilatildeo do arquivo seja a atual e atualiza isso uma vez por minuto Assimse vocecirc quiser esperar um minuto entre os acessos o arquivo vai ter sidorecentemente modificado e consequentemente seu navegador vai baixaruma ldquonovardquo coacutepia do arquivo

INTERACcedilAtildeO CONDICIONAL DE HTTP GET RESPONSE 6

INTERACcedilAtildeO CONDICIONAL DE HTTP GET RES-PONSE

Recordando a seccedilatildeo 226 do texto que mostra que a maioria dos na-vegadores guardam objetos em cache e assim fazem a condicional GETquando recuperam um objeto HTTP Antes de realizar os passos a seguirtenha certeza que o cache do seu navegador estaacute vazio (Para fazer issono Firefox selecione Tools -gt Clear Private Data Essas accedilotildees vatildeo remo-ver os arquivos de cache do seu navegador Agora faccedila o seguinte

1 Inicie seu navegador e certifique-se de que o cache estaacute limpo comodiscutido acima

2 Comece o Wireshark packet sniffer3 Entre na seguinte URL pelo seu navegador link Seu navegador deve

mostrar uma mensagem HTTP simples de uma linha4 Rapidamente entre na mesma URL pelo seu navegador novamente

(ou simplesmente atualize a paacutegina de seu navegador)5 Pare a captura de pacotes do Wireshark e digite ldquohttprdquo no filtro de

especificaccedilotildees assim apenas pacotes HTTP vatildeo ser mostradas depoisna lista de pacotes

(Nota Se vocecirc natildeo pode executar o Wireshark em uma conexatildeo de temporeal vocecirc pode usar o pacote http-ethereal-trace-2 para responder asquestotildees abaixo veja aqui link Esse arquivo foi montado seguindo ospassos acima)

Questotildees praacuteticas

8 Inspecione o conteuacutedo da primeira requisiccedilatildeo de HTTP GET do seunavegador ao servidor Vocecirc vecirc a linha ldquoIF-MODIFIED-SINCErdquo no HTTPGET

9 Inspecione o conteuacutedo de resposta do servidor O servidor retornouexplicitamente o conteuacutedo do arquivo Como vocecirc pode afirmar

10 Agora observe o conteuacutedo da segunda requisiccedilatildeo HTTP GET doseu navegador ao servidor Vocecirc vecirc a linha ldquoIF-MODIFIED-SINCErdquo noHTTP GET Se sim qual informaccedilatildeo segue o cabeccedilalho ldquoIF-MODIFIED-SINCErdquo

RECUPERACcedilAtildeO DE DOCUMENTOS LONGOS 7

11 Qual eacute o status HTTP e a frase retornados pelo servidor em res-posta ao segundo HTTP GET O servidor explicitamente retornou os con-teuacutedos do arquivo Explique

Tarefa B Para as questotildees de 8 agrave 11 primeiro escreva uma respostabreve poreacutem precisa para cada questatildeo acima entatildeo escreva um paraacute-grafo explicando suas observaccedilotildees das questotildees praacuteticas Note que suaresposta pode se beneficiar da explicaccedilatildeo eou referecircncias de algumas desuas observaccedilotildees expliacutecitas

RECUPERACcedilAtildeO DE DOCUMENTOS LONGOS

Nos nossos exemplos ateacute agora os documentos recuperados foramarquivos HTML simples e curtos Agora veremos o que acontece quandovocecirc baixa um arquivo HTML grande Faccedila o seguinte

1 Inicie seu navegador e tenha certeza de que o cache estaacute limpocomo discutido acima

2 Comece o Wireshark packet sniffer

3Entre com a seguinte URL no seu navegador link Seu navegadordeve mostrar a carta de direitos dos Estados Unidos

4 Pare a captura de pacotes do Wireshark e digite ldquohttprdquo no filtrode especificaccedilotildees assim apenas as mensagens HTTP capturadas seratildeomostradas

Nota Se vocecirc natildeo pode executar o Wireshark em uma conexatildeo detempo real vocecirc pode usar o pacote http-ethereal-trace-3 para responderas questotildees abaixo veja aqui link Esse arquivo foi montado seguindo ospassos acima)

Na janela de listagem de pacotes vocecirc deve ver sua mensagem HTTPGET seguida de muacuteltiplos pacotes de resposta para sua requisiccedilatildeo HTTPGET Esses muacuteltiplos pacotes merecem uma pequena explicaccedilatildeo Recor-dando a seccedilatildeo 22 (veja no texto) aquela mensagem de resposta HTTPconsistia em uma linha de status seguida por linhas de cabeccedilalho se-guida por uma linha em branco seguida pelo corpo da mensagem No

RECUPERACcedilAtildeO DE DOCUMENTOS LONGOS 8

caso de nossa HTTP GET o corpo da mensagem eacute o arquivo HTML derequisiccedilatildeo inteiro No caso de agora o arquivo de HTML eacute muito grande eos 4500 bytes satildeo grandes demais para caber em um uacutenico pacote TCPUma uacutenica mensagem de resposta HTTP eacute entatildeo quebrada em algunspedaccedilos pelo TCP e cada pedaccedilo conteacutem separadamente um segmentoTCP (Veja no texto) Cada segmento TCP eacute gravado pelo Wireshark comoum pedaccedilo separado e o fato de que uma uacutenica resposta HTTP foi frag-mentada em muacuteltiplos pacotes TCP eacute indicado pela frase ldquoTCP segmentof a reassembled PDUrdquo mostrada na tela do Wireshak Ressaltamos aquique natildeo existe uma mensagem de ldquoTCP segment of a reassembled PDUrdquoem HTTP Nesse sentido a figura 3 mostra uma captura de tela do Wi-reshark mostrando a rota de um http-ethereal-trace-3 Na listagem de pa-cotes capturados o pacote nuacutemero 8 mostra uma requisiccedilatildeo HTTP GETe o pacote nuacutemero 14 mostra a resposta HTTP correspondente Podeser visto que os pacotes nuacutemero 10 11 e 13 satildeo nomeados com ldquoTCPsegment of a ressaembled PDUrdquo Clicando na resposta HTTP como nopacote 14 o painel de detalhes do pacote mostra [4 Reassembled TCPSegments (4816 bytes) 10(1460) 11(1460) 13(1460) 14(436)] (veja afigura 3) Adicionalmente o painel de pacotes de bytes mostra uma nomatabela entitulada Reassembled TCP que mostra a resposta HTTP inteira

RECUPERACcedilAtildeO DE DOCUMENTOS LONGOS 9

Tela do Wireshak com a rota do terceiro pacote

Uma maneira mais conveniente de ver todos os dados (todos as re-quisiccedilotildees HTTP e as respostas transportadas pelo TCP) eacute usando umacaracteriacutestica extra do Wireshark chamada ldquoFollowing TCP Streamsrdquo Cli-cando com o botatildeo direito do mouse em qualquer dos pacotes TCP as-sociados com um determinado fluxo TCP e selecionado o ldquoFollow TCPStreamrdquo no menu uma nova janela abriraacute contendo a troca de dadosA figura 4 mostra a janela ldquoFollow TCP Streamrdquo para a requisiccedilatildeo GETethereal-labslab2-3html HTTP11 e sua resposta associada Nessa ja-nela caracteres natildeo demonstraacuteveis satildeo substituiacutedos por pontos De qual-quer modo a escolha de Raw ou ASCII feita nessa janela afeta comple-tamente o modo como vocecirc poderaacute salvar seu fluxo de dados Isso eacutese Raw eacute selecionado o fluxo de dados seraacute salvo como arquivo binaacute-rio preservando os caracteres natildeo demonstraacuteveis Jaacute no caso de ASCIIo fluxo de dados eacute salvo como um arquivo de texto onde os caracteresnatildeo demonstraacuteveis satildeo substituiacutedos por pontos Note como o Wireshark

RECUPERACcedilAtildeO DE DOCUMENTOS LONGOS 10

mudou (e aplicou) as mudanccedilas no filtro que mostra apenas os pacotesselecionados

A janela do Wireshark durante o fluxo TCP

Questotildees praacuteticas

12 Quantas mensagens de requisiccedilatildeo HTTP GET foram enviadaspelo seu navegador

13 Quantos segmentos TCP contendo dados satildeo necessaacuterios paracarregar essa uacutenica resposta HTTP

14 Qual o status e a frase associada com a requisiccedilatildeo HTTP GET

15 Existe alguma informaccedilatildeo de cabeccedilalho HTTP nos dados associ-ados com a segmentaccedilatildeo TCP

Tarefa C Para as questotildees de 12 agrave 15 primeiro escreva uma respostabreve poreacutem precisa para cada questatildeo acima entatildeo escreva um paraacute-

DOCUMENTOS HTML COM OBJETOS EMBUTIDOS 11

grafo explicando suas observaccedilotildees das questotildees praacuteticas Note que suaresposta pode se beneficiar da explicaccedilatildeo eou referecircncias de algumas desuas observaccedilotildees expliacutecitas

DOCUMENTOS HTML COM OBJETOS EMBUTI-DOS

Agora que vimos como o Wireshark mostra o traacutefego de captura depacotes para arquivos HTML grandes podemos olhar o que acontecequando seu navegador baixa um arquivo com objetos embutidos comoum arquivo que incluem outros objetos (no exemplo a seguir imagens)que estatildeo armazenados em outro servidor Faccedila o seguinte

1Inicie seu navegador e tenha certeza de que o cache estaacute limpocomo discutido acima2Comece o Wireshark packet sniffer3Entre com a seguinte URL no seu navegador link Seu navegador devemostrar um arquivo HTML curto com duas imagens Essas duas imagenssatildeo referenciadas na base do arquivo HTML Isso eacute as imahens natildeo es-tatildeo contidas no HTML no lugar disso URLs para o conteuacutedo das imagenssatildeo baixadas no arquivo HTML Como discutido no livro seu navegadorvai recuperar esses logos de sites indicados Nosso logo eacute recuperado dolink wwwaw-bccom A imagem da capa do nosso livro eacute armazenada noservidor maniccsumassedu4Pare a captura de pacotes do Wireshark e digite ldquohttprdquo no filtro de espe-cificaccedilotildees assim apenas as mensagens HTTP capturadas seratildeo mostra-das Nota Se vocecirc natildeo pode executar o Wireshark em uma conexatildeo detempo real vocecirc pode usar o pacote http-ethereal-trace-4 para responderas questotildees abaixo veja aqui link Esse arquivo foi montado seguindo ospassos acima)

Questotildees praacuteticas

16 Quantas requisiccedilotildees HTTP GET foram enviadas pelo seu navega-dor Para quais endereccedilos essas requisiccedilotildees GET foram enviadas

17 Vocecirc pode dizer se o seu navegador baixou as duas imagens emseacuterie ou se elas foram baixadas dos dois sites em paralelo ExpliqueTarefa D Para as questotildees de 16 agrave 17 primeiro escreva uma resposta

AUTENTICACcedilAtildeO HTTP 12

breve poreacutem precisa para cada questatildeo acima entatildeo escreva um paraacute-grafo explicando suas observaccedilotildees das questotildees praacuteticas Note que suaresposta pode se beneficiar da explicaccedilatildeo eou referecircncias de algumas desuas observaccedilotildees expliacutecitas

AUTENTICACcedilAtildeO HTTP

Finalmente vamos visitar um site protegido por senha e examinar asequecircncia de mensagens HTTP trocadas com esse site A URL link eacuteprotegida por senha O username eacute ldquowireshark-studentsrdquo (sem as aspas)e a senha eacute ldquonetworkrdquo (novamente sem as aspas) Entatildeo vamos acessaresse site protegido por senha ldquosegurordquo Faccedila o seguinte

1Inicie seu navegador e tenha certeza de que o cache estaacute limpocomo discutido acima2Comece o Wireshark packet sniffer3Entre com a seguinte URL no seu navegador link Digite o username e opassword na janela pop up4Pare a captura de pacotes do Wireshark e digite ldquohttprdquo no filtro de espe-cificaccedilotildees assim apenas as mensagens HTTP capturadas seratildeo mostra-dasNota Se vocecirc natildeo pode executar o Wireshark em uma conexatildeo de temporeal vocecirc pode usar o pacote http-ethereal-trace-5 para responder asquestotildees abaixo veja aqui link Esse arquivo foi montado seguindo os pas-sos acima)Agora vamos examinar a saiacuteda de dados do Wireshark Vocecirc pode que-rer ler primeiro sobre autentificaccedilatildeo HTTP revendo o material em ldquoHTTPAcess Athentication Frameworkrdquo em httpfrontieruserlandcomstoriesstoryReaderQuestotildees praacuteticas (natildeo precisam ser respondidas explicitamente)18 Qual eacute a resposta do servidor (status e frase) em resposta a mensa-gem inicial de HTTP GET do seu navegador19 Quando seu navegador envia uma mensagem HTTP GET pela se-gunda vez qual eacute o novo campo incluiacutedo na mensagem HTTP GETVocecirc natildeo precisa relatar as questotildees 18 e 19 de qualquer modo sinta-se livre para redigir um paraacutegrafo explicando e discutindo suas observa-ccedilotildees sobre as questotildees praacuteticas acima O username e a senha que vocecircforneceu satildeo codificadas na string de caracteres seguindo o cabeccedilalholdquoAuthorization Basicrdquo na mensagem HTTP do cliente Enquanto podeparecer que o seu username e senha estatildeo e criptografados eles estatildeosimplesmente codificados em um formato conhecido como Base64 O

QUESTOtildeES PREPARATOacuteRIAS PARA A SEGUNDA TAREFA 13

username e a senha natildeo estatildeo criptografados Para ver isso vaacute parahttpgtoolsorgtoolbase64-encode-decode e enyte com a string de co-dificaccedilatildeo base64 d2lyZXNoYXJrLXN0dWRlbnRz dentro da caixa ldquoDecodefrom base64rdquo e pressione ldquoGordquo Voila Vocecirc traduziu de base64 para co-dificaccedilatildeo ASCII e entatildeo pode ver seu username Para ver a senha entrecom a string Om5ldHdvcms= e pressione ldquodecoderdquo Jaacute que qualquer umpode baixar ferramentas como o Wireshark e rastrear pacotes (natildeo soacute osseus proacuteprios) passando pelo adaptador de rede qualquer um pode tra-duzir Base64 para ASCII (como vocecirc acabou de fazer) Deve estar claroque senhas simples em sites WWW natildeo satildeo seguros a natildeo ser que me-didas adicionais sejam tomadasNatildeo tema Como veremos no capiacutetulo 7 existem maneiras de fazer queacessos WWW sejam mais seguros De qualquer modo noacutes claramenteprecisamos de algo que vaacute aleacutem da autentificaccedilatildeo baacutesica de HTTP

QUESTOtildeES PREPARATOacuteRIAS PARA A SEGUNDATAREFA

20 O que o cabeccedilalho ldquoConnection closerdquo e ldquoConnection Keep-aliverdquoimplicam no protocolo HTTP Quando uma delas deve ser usada ao inveacutesda outra

Tarefa E Para a questatildeo 20 primeiro escreva um breve poreacutem precisoparaacutegrafo que responda a questatildeo acima entatildeo escreva um paraacutegrafoexplicando e discutindo como essas observaccedilotildees podem ser uacuteteis para aproacutexima tarefa

Demonstraccedilatildeo e relatoacuterios Para essa tarefa vocecirc vai precisar escre-ver um relatoacuterio que cuidadosamente responda as questotildees 1-17 e 20e escreva um paraacutegrafo discutindo cada grupo de questotildees 1-7 (TarefaA) 8-11 (Tarefa B) 12-15 (Tarefa C) 16-17 (Tarefa D) e 20 (Tarefa E)Note que cada grupo de questotildees tem um tema e vocecirc deve convencero leitor que seu relatoacuterio (incluindo vocecirc se vocecirc ler seus documentosmesessemanas depois) que vocecirc entende esses aspectos do HTTP Porfavor estruture seu relatoacuterio de modo que suas respostas estejam clara-mente indicadas para cada questatildeo (e sessatildeo) Questotildees e respostascorrespondentes devem estar claramente indicadas Estruture seu relatoacute-rio Aleacutem disso suas respostas devem ser explicadas e apoiadas usandoinformaccedilotildees adicionais quando aplicaacutevel Durante a demonstraccedilatildeo po-dem ser feitas questotildees similares para obtermos a certeza de que vocecirc

QUESTOtildeES PREPARATOacuteRIAS PARA A SEGUNDA TAREFA 14

compreendeu todo esse laboratoacuterio Vocecirc deve explicar claramente suasrespostas Como os relatoacuterios satildeo feitos em duplas ambos os membrosresponderatildeo perguntas

Instruccedilotildees adicionais podem ser encontradas aquilink

Page 5: LABORATÓRIO WIRESHARK HTTP - MAURO OLIVEIRA · PDF fileWIRESHARK - HTTP 1 WIRESHARK - HTTP Esse manual de laboratório é baseado em “Wireshark Lab: HTTP”, versão 2.0 (setembro

INTERACcedilAtildeO BAacuteSICA DE HTTP GET RESPONSE 4

Tela do Wireshak apoacutes o arquivo 1 ter sido recuperado do seu navegador

O exemplo mostrado na figura 2 mostra a janela de lista de pacotesonde duas mensagens HTTP foram capturadas A mensagem GET (deseu navegador para o servidor gaiacsumassedu) e a mensagem de res-posta do servidor para o seu navegador A janela de conteuacutedo dos pa-cotes mostra detalhes das mensagens selecionadas (nesse caso men-sagens HTTP GET que eacute destacado na janela de listagem de pacotes)Lembre que a mensagem HTTP estaacute dentro de um segmento TCP quefoi carregada dentro de um datagrama IP que foi carregado dentro de umquadro Ethernet o Wireshark mostraraacute informaccedilotildees do quadro EthernetIP e TCP Noacutes queremos minimizar a quantidade de dados natildeo HTTPmostrados (noacutes estamos interessados em HTTP e investigaremos outrosprotocolos em capiacutetulos seguintes) entatildeo tenha certeza de que as caixasno canto esquerdo que sinalizam informaccedilotildees de quadro Ethernet IP eTCP tem um sinal de mais (+) que significa que a informaccedilatildeo estaacute ocultae a linha de HTTP tem um sinal de menos (-) que significa que toda a

INTERACcedilAtildeO BAacuteSICA DE HTTP GET RESPONSE 5

informaccedilatildeo HTTP estaacute sendo mostrada

Tarefa A Olhando a informaccedilatildeo das mensagens de HTTP GET res-ponse responda as questotildees a seguir Quando estiver respondendo asquestotildees vocecirc deve imprimir as mensagens GET response (para incluiras informaccedilotildees de pacote no seu relatoacuterio vocecirc deve exportar os paco-tes de dados selecionados como um arquivo de texto Para isso use ajanela ldquoFile -gt Export -gt File rdquo selecione o tipo como ldquoPlain Textrdquo e es-colha ldquoSelected Packetrdquo indicando onde as mensagens que respondamas questotildees foram encontradas (Perceba que o procedimento de exporta-ccedilatildeo deve diferir de acordo com a plataforma onde vocecirc estaacute executandoo Wireshark como Linux Windows etc) Para todas as questotildees eacute impor-tante que vocecirc indique claramente qual eacute sua resposta como vocecirc obtevea resposta e (se aplicaacutevel) discuta as implicaccedilotildeesideias que enriqueccedilamsuas respostas Por exemplo na questatildeo a seguinte vocecirc pode elaboraro motivo de vocecirc ter observado o que observou

1 O seu navegador utiliza a versatildeo de HTTP 10 ou 11 Que versatildeo oservidor usa

2 Que linguagens (se existe alguma) seu navegador diz que pode seraceita pelo servidor Na sessatildeo de captura que outra informaccedilatildeo (se

existe alguma) o navegador provecirc para o servidor a respeito do utilizadornavegador

3 Qual o endereccedilo de IP do seu computador E o do servidorgaiacsumassedu

4 Qual o coacutedigo de status retornado do servidor para seu navegador5 Quando foi a uacuteltima vez que o arquivo HTML que vocecirc estaacute usando foi

modificado no servidor6 Quantos bytes de conteuacutedo foram enviados ao seu navegador

7 Inspecionando os dados brutos no painel ldquopacket bytesrdquo vocecirc vecircalgum cabeccedilalho HTTP com dados que natildeo foram mostrados no painel

ldquopacket detailsrdquo Se sim cite um

Nas suas cinco respostas acima vocecirc deve estar surpreso por notar queo documento que vocecirc recuperou foi modificado menos de um minuto an-tes de vocecirc baixaacute-lo Isso eacute porque (para esse arquivo em particular) oservidor gaiacsumassedu estaacute configurado para que a uacuteltima modifica-ccedilatildeo do arquivo seja a atual e atualiza isso uma vez por minuto Assimse vocecirc quiser esperar um minuto entre os acessos o arquivo vai ter sidorecentemente modificado e consequentemente seu navegador vai baixaruma ldquonovardquo coacutepia do arquivo

INTERACcedilAtildeO CONDICIONAL DE HTTP GET RESPONSE 6

INTERACcedilAtildeO CONDICIONAL DE HTTP GET RES-PONSE

Recordando a seccedilatildeo 226 do texto que mostra que a maioria dos na-vegadores guardam objetos em cache e assim fazem a condicional GETquando recuperam um objeto HTTP Antes de realizar os passos a seguirtenha certeza que o cache do seu navegador estaacute vazio (Para fazer issono Firefox selecione Tools -gt Clear Private Data Essas accedilotildees vatildeo remo-ver os arquivos de cache do seu navegador Agora faccedila o seguinte

1 Inicie seu navegador e certifique-se de que o cache estaacute limpo comodiscutido acima

2 Comece o Wireshark packet sniffer3 Entre na seguinte URL pelo seu navegador link Seu navegador deve

mostrar uma mensagem HTTP simples de uma linha4 Rapidamente entre na mesma URL pelo seu navegador novamente

(ou simplesmente atualize a paacutegina de seu navegador)5 Pare a captura de pacotes do Wireshark e digite ldquohttprdquo no filtro de

especificaccedilotildees assim apenas pacotes HTTP vatildeo ser mostradas depoisna lista de pacotes

(Nota Se vocecirc natildeo pode executar o Wireshark em uma conexatildeo de temporeal vocecirc pode usar o pacote http-ethereal-trace-2 para responder asquestotildees abaixo veja aqui link Esse arquivo foi montado seguindo ospassos acima)

Questotildees praacuteticas

8 Inspecione o conteuacutedo da primeira requisiccedilatildeo de HTTP GET do seunavegador ao servidor Vocecirc vecirc a linha ldquoIF-MODIFIED-SINCErdquo no HTTPGET

9 Inspecione o conteuacutedo de resposta do servidor O servidor retornouexplicitamente o conteuacutedo do arquivo Como vocecirc pode afirmar

10 Agora observe o conteuacutedo da segunda requisiccedilatildeo HTTP GET doseu navegador ao servidor Vocecirc vecirc a linha ldquoIF-MODIFIED-SINCErdquo noHTTP GET Se sim qual informaccedilatildeo segue o cabeccedilalho ldquoIF-MODIFIED-SINCErdquo

RECUPERACcedilAtildeO DE DOCUMENTOS LONGOS 7

11 Qual eacute o status HTTP e a frase retornados pelo servidor em res-posta ao segundo HTTP GET O servidor explicitamente retornou os con-teuacutedos do arquivo Explique

Tarefa B Para as questotildees de 8 agrave 11 primeiro escreva uma respostabreve poreacutem precisa para cada questatildeo acima entatildeo escreva um paraacute-grafo explicando suas observaccedilotildees das questotildees praacuteticas Note que suaresposta pode se beneficiar da explicaccedilatildeo eou referecircncias de algumas desuas observaccedilotildees expliacutecitas

RECUPERACcedilAtildeO DE DOCUMENTOS LONGOS

Nos nossos exemplos ateacute agora os documentos recuperados foramarquivos HTML simples e curtos Agora veremos o que acontece quandovocecirc baixa um arquivo HTML grande Faccedila o seguinte

1 Inicie seu navegador e tenha certeza de que o cache estaacute limpocomo discutido acima

2 Comece o Wireshark packet sniffer

3Entre com a seguinte URL no seu navegador link Seu navegadordeve mostrar a carta de direitos dos Estados Unidos

4 Pare a captura de pacotes do Wireshark e digite ldquohttprdquo no filtrode especificaccedilotildees assim apenas as mensagens HTTP capturadas seratildeomostradas

Nota Se vocecirc natildeo pode executar o Wireshark em uma conexatildeo detempo real vocecirc pode usar o pacote http-ethereal-trace-3 para responderas questotildees abaixo veja aqui link Esse arquivo foi montado seguindo ospassos acima)

Na janela de listagem de pacotes vocecirc deve ver sua mensagem HTTPGET seguida de muacuteltiplos pacotes de resposta para sua requisiccedilatildeo HTTPGET Esses muacuteltiplos pacotes merecem uma pequena explicaccedilatildeo Recor-dando a seccedilatildeo 22 (veja no texto) aquela mensagem de resposta HTTPconsistia em uma linha de status seguida por linhas de cabeccedilalho se-guida por uma linha em branco seguida pelo corpo da mensagem No

RECUPERACcedilAtildeO DE DOCUMENTOS LONGOS 8

caso de nossa HTTP GET o corpo da mensagem eacute o arquivo HTML derequisiccedilatildeo inteiro No caso de agora o arquivo de HTML eacute muito grande eos 4500 bytes satildeo grandes demais para caber em um uacutenico pacote TCPUma uacutenica mensagem de resposta HTTP eacute entatildeo quebrada em algunspedaccedilos pelo TCP e cada pedaccedilo conteacutem separadamente um segmentoTCP (Veja no texto) Cada segmento TCP eacute gravado pelo Wireshark comoum pedaccedilo separado e o fato de que uma uacutenica resposta HTTP foi frag-mentada em muacuteltiplos pacotes TCP eacute indicado pela frase ldquoTCP segmentof a reassembled PDUrdquo mostrada na tela do Wireshak Ressaltamos aquique natildeo existe uma mensagem de ldquoTCP segment of a reassembled PDUrdquoem HTTP Nesse sentido a figura 3 mostra uma captura de tela do Wi-reshark mostrando a rota de um http-ethereal-trace-3 Na listagem de pa-cotes capturados o pacote nuacutemero 8 mostra uma requisiccedilatildeo HTTP GETe o pacote nuacutemero 14 mostra a resposta HTTP correspondente Podeser visto que os pacotes nuacutemero 10 11 e 13 satildeo nomeados com ldquoTCPsegment of a ressaembled PDUrdquo Clicando na resposta HTTP como nopacote 14 o painel de detalhes do pacote mostra [4 Reassembled TCPSegments (4816 bytes) 10(1460) 11(1460) 13(1460) 14(436)] (veja afigura 3) Adicionalmente o painel de pacotes de bytes mostra uma nomatabela entitulada Reassembled TCP que mostra a resposta HTTP inteira

RECUPERACcedilAtildeO DE DOCUMENTOS LONGOS 9

Tela do Wireshak com a rota do terceiro pacote

Uma maneira mais conveniente de ver todos os dados (todos as re-quisiccedilotildees HTTP e as respostas transportadas pelo TCP) eacute usando umacaracteriacutestica extra do Wireshark chamada ldquoFollowing TCP Streamsrdquo Cli-cando com o botatildeo direito do mouse em qualquer dos pacotes TCP as-sociados com um determinado fluxo TCP e selecionado o ldquoFollow TCPStreamrdquo no menu uma nova janela abriraacute contendo a troca de dadosA figura 4 mostra a janela ldquoFollow TCP Streamrdquo para a requisiccedilatildeo GETethereal-labslab2-3html HTTP11 e sua resposta associada Nessa ja-nela caracteres natildeo demonstraacuteveis satildeo substituiacutedos por pontos De qual-quer modo a escolha de Raw ou ASCII feita nessa janela afeta comple-tamente o modo como vocecirc poderaacute salvar seu fluxo de dados Isso eacutese Raw eacute selecionado o fluxo de dados seraacute salvo como arquivo binaacute-rio preservando os caracteres natildeo demonstraacuteveis Jaacute no caso de ASCIIo fluxo de dados eacute salvo como um arquivo de texto onde os caracteresnatildeo demonstraacuteveis satildeo substituiacutedos por pontos Note como o Wireshark

RECUPERACcedilAtildeO DE DOCUMENTOS LONGOS 10

mudou (e aplicou) as mudanccedilas no filtro que mostra apenas os pacotesselecionados

A janela do Wireshark durante o fluxo TCP

Questotildees praacuteticas

12 Quantas mensagens de requisiccedilatildeo HTTP GET foram enviadaspelo seu navegador

13 Quantos segmentos TCP contendo dados satildeo necessaacuterios paracarregar essa uacutenica resposta HTTP

14 Qual o status e a frase associada com a requisiccedilatildeo HTTP GET

15 Existe alguma informaccedilatildeo de cabeccedilalho HTTP nos dados associ-ados com a segmentaccedilatildeo TCP

Tarefa C Para as questotildees de 12 agrave 15 primeiro escreva uma respostabreve poreacutem precisa para cada questatildeo acima entatildeo escreva um paraacute-

DOCUMENTOS HTML COM OBJETOS EMBUTIDOS 11

grafo explicando suas observaccedilotildees das questotildees praacuteticas Note que suaresposta pode se beneficiar da explicaccedilatildeo eou referecircncias de algumas desuas observaccedilotildees expliacutecitas

DOCUMENTOS HTML COM OBJETOS EMBUTI-DOS

Agora que vimos como o Wireshark mostra o traacutefego de captura depacotes para arquivos HTML grandes podemos olhar o que acontecequando seu navegador baixa um arquivo com objetos embutidos comoum arquivo que incluem outros objetos (no exemplo a seguir imagens)que estatildeo armazenados em outro servidor Faccedila o seguinte

1Inicie seu navegador e tenha certeza de que o cache estaacute limpocomo discutido acima2Comece o Wireshark packet sniffer3Entre com a seguinte URL no seu navegador link Seu navegador devemostrar um arquivo HTML curto com duas imagens Essas duas imagenssatildeo referenciadas na base do arquivo HTML Isso eacute as imahens natildeo es-tatildeo contidas no HTML no lugar disso URLs para o conteuacutedo das imagenssatildeo baixadas no arquivo HTML Como discutido no livro seu navegadorvai recuperar esses logos de sites indicados Nosso logo eacute recuperado dolink wwwaw-bccom A imagem da capa do nosso livro eacute armazenada noservidor maniccsumassedu4Pare a captura de pacotes do Wireshark e digite ldquohttprdquo no filtro de espe-cificaccedilotildees assim apenas as mensagens HTTP capturadas seratildeo mostra-das Nota Se vocecirc natildeo pode executar o Wireshark em uma conexatildeo detempo real vocecirc pode usar o pacote http-ethereal-trace-4 para responderas questotildees abaixo veja aqui link Esse arquivo foi montado seguindo ospassos acima)

Questotildees praacuteticas

16 Quantas requisiccedilotildees HTTP GET foram enviadas pelo seu navega-dor Para quais endereccedilos essas requisiccedilotildees GET foram enviadas

17 Vocecirc pode dizer se o seu navegador baixou as duas imagens emseacuterie ou se elas foram baixadas dos dois sites em paralelo ExpliqueTarefa D Para as questotildees de 16 agrave 17 primeiro escreva uma resposta

AUTENTICACcedilAtildeO HTTP 12

breve poreacutem precisa para cada questatildeo acima entatildeo escreva um paraacute-grafo explicando suas observaccedilotildees das questotildees praacuteticas Note que suaresposta pode se beneficiar da explicaccedilatildeo eou referecircncias de algumas desuas observaccedilotildees expliacutecitas

AUTENTICACcedilAtildeO HTTP

Finalmente vamos visitar um site protegido por senha e examinar asequecircncia de mensagens HTTP trocadas com esse site A URL link eacuteprotegida por senha O username eacute ldquowireshark-studentsrdquo (sem as aspas)e a senha eacute ldquonetworkrdquo (novamente sem as aspas) Entatildeo vamos acessaresse site protegido por senha ldquosegurordquo Faccedila o seguinte

1Inicie seu navegador e tenha certeza de que o cache estaacute limpocomo discutido acima2Comece o Wireshark packet sniffer3Entre com a seguinte URL no seu navegador link Digite o username e opassword na janela pop up4Pare a captura de pacotes do Wireshark e digite ldquohttprdquo no filtro de espe-cificaccedilotildees assim apenas as mensagens HTTP capturadas seratildeo mostra-dasNota Se vocecirc natildeo pode executar o Wireshark em uma conexatildeo de temporeal vocecirc pode usar o pacote http-ethereal-trace-5 para responder asquestotildees abaixo veja aqui link Esse arquivo foi montado seguindo os pas-sos acima)Agora vamos examinar a saiacuteda de dados do Wireshark Vocecirc pode que-rer ler primeiro sobre autentificaccedilatildeo HTTP revendo o material em ldquoHTTPAcess Athentication Frameworkrdquo em httpfrontieruserlandcomstoriesstoryReaderQuestotildees praacuteticas (natildeo precisam ser respondidas explicitamente)18 Qual eacute a resposta do servidor (status e frase) em resposta a mensa-gem inicial de HTTP GET do seu navegador19 Quando seu navegador envia uma mensagem HTTP GET pela se-gunda vez qual eacute o novo campo incluiacutedo na mensagem HTTP GETVocecirc natildeo precisa relatar as questotildees 18 e 19 de qualquer modo sinta-se livre para redigir um paraacutegrafo explicando e discutindo suas observa-ccedilotildees sobre as questotildees praacuteticas acima O username e a senha que vocecircforneceu satildeo codificadas na string de caracteres seguindo o cabeccedilalholdquoAuthorization Basicrdquo na mensagem HTTP do cliente Enquanto podeparecer que o seu username e senha estatildeo e criptografados eles estatildeosimplesmente codificados em um formato conhecido como Base64 O

QUESTOtildeES PREPARATOacuteRIAS PARA A SEGUNDA TAREFA 13

username e a senha natildeo estatildeo criptografados Para ver isso vaacute parahttpgtoolsorgtoolbase64-encode-decode e enyte com a string de co-dificaccedilatildeo base64 d2lyZXNoYXJrLXN0dWRlbnRz dentro da caixa ldquoDecodefrom base64rdquo e pressione ldquoGordquo Voila Vocecirc traduziu de base64 para co-dificaccedilatildeo ASCII e entatildeo pode ver seu username Para ver a senha entrecom a string Om5ldHdvcms= e pressione ldquodecoderdquo Jaacute que qualquer umpode baixar ferramentas como o Wireshark e rastrear pacotes (natildeo soacute osseus proacuteprios) passando pelo adaptador de rede qualquer um pode tra-duzir Base64 para ASCII (como vocecirc acabou de fazer) Deve estar claroque senhas simples em sites WWW natildeo satildeo seguros a natildeo ser que me-didas adicionais sejam tomadasNatildeo tema Como veremos no capiacutetulo 7 existem maneiras de fazer queacessos WWW sejam mais seguros De qualquer modo noacutes claramenteprecisamos de algo que vaacute aleacutem da autentificaccedilatildeo baacutesica de HTTP

QUESTOtildeES PREPARATOacuteRIAS PARA A SEGUNDATAREFA

20 O que o cabeccedilalho ldquoConnection closerdquo e ldquoConnection Keep-aliverdquoimplicam no protocolo HTTP Quando uma delas deve ser usada ao inveacutesda outra

Tarefa E Para a questatildeo 20 primeiro escreva um breve poreacutem precisoparaacutegrafo que responda a questatildeo acima entatildeo escreva um paraacutegrafoexplicando e discutindo como essas observaccedilotildees podem ser uacuteteis para aproacutexima tarefa

Demonstraccedilatildeo e relatoacuterios Para essa tarefa vocecirc vai precisar escre-ver um relatoacuterio que cuidadosamente responda as questotildees 1-17 e 20e escreva um paraacutegrafo discutindo cada grupo de questotildees 1-7 (TarefaA) 8-11 (Tarefa B) 12-15 (Tarefa C) 16-17 (Tarefa D) e 20 (Tarefa E)Note que cada grupo de questotildees tem um tema e vocecirc deve convencero leitor que seu relatoacuterio (incluindo vocecirc se vocecirc ler seus documentosmesessemanas depois) que vocecirc entende esses aspectos do HTTP Porfavor estruture seu relatoacuterio de modo que suas respostas estejam clara-mente indicadas para cada questatildeo (e sessatildeo) Questotildees e respostascorrespondentes devem estar claramente indicadas Estruture seu relatoacute-rio Aleacutem disso suas respostas devem ser explicadas e apoiadas usandoinformaccedilotildees adicionais quando aplicaacutevel Durante a demonstraccedilatildeo po-dem ser feitas questotildees similares para obtermos a certeza de que vocecirc

QUESTOtildeES PREPARATOacuteRIAS PARA A SEGUNDA TAREFA 14

compreendeu todo esse laboratoacuterio Vocecirc deve explicar claramente suasrespostas Como os relatoacuterios satildeo feitos em duplas ambos os membrosresponderatildeo perguntas

Instruccedilotildees adicionais podem ser encontradas aquilink

Page 6: LABORATÓRIO WIRESHARK HTTP - MAURO OLIVEIRA · PDF fileWIRESHARK - HTTP 1 WIRESHARK - HTTP Esse manual de laboratório é baseado em “Wireshark Lab: HTTP”, versão 2.0 (setembro

INTERACcedilAtildeO BAacuteSICA DE HTTP GET RESPONSE 5

informaccedilatildeo HTTP estaacute sendo mostrada

Tarefa A Olhando a informaccedilatildeo das mensagens de HTTP GET res-ponse responda as questotildees a seguir Quando estiver respondendo asquestotildees vocecirc deve imprimir as mensagens GET response (para incluiras informaccedilotildees de pacote no seu relatoacuterio vocecirc deve exportar os paco-tes de dados selecionados como um arquivo de texto Para isso use ajanela ldquoFile -gt Export -gt File rdquo selecione o tipo como ldquoPlain Textrdquo e es-colha ldquoSelected Packetrdquo indicando onde as mensagens que respondamas questotildees foram encontradas (Perceba que o procedimento de exporta-ccedilatildeo deve diferir de acordo com a plataforma onde vocecirc estaacute executandoo Wireshark como Linux Windows etc) Para todas as questotildees eacute impor-tante que vocecirc indique claramente qual eacute sua resposta como vocecirc obtevea resposta e (se aplicaacutevel) discuta as implicaccedilotildeesideias que enriqueccedilamsuas respostas Por exemplo na questatildeo a seguinte vocecirc pode elaboraro motivo de vocecirc ter observado o que observou

1 O seu navegador utiliza a versatildeo de HTTP 10 ou 11 Que versatildeo oservidor usa

2 Que linguagens (se existe alguma) seu navegador diz que pode seraceita pelo servidor Na sessatildeo de captura que outra informaccedilatildeo (se

existe alguma) o navegador provecirc para o servidor a respeito do utilizadornavegador

3 Qual o endereccedilo de IP do seu computador E o do servidorgaiacsumassedu

4 Qual o coacutedigo de status retornado do servidor para seu navegador5 Quando foi a uacuteltima vez que o arquivo HTML que vocecirc estaacute usando foi

modificado no servidor6 Quantos bytes de conteuacutedo foram enviados ao seu navegador

7 Inspecionando os dados brutos no painel ldquopacket bytesrdquo vocecirc vecircalgum cabeccedilalho HTTP com dados que natildeo foram mostrados no painel

ldquopacket detailsrdquo Se sim cite um

Nas suas cinco respostas acima vocecirc deve estar surpreso por notar queo documento que vocecirc recuperou foi modificado menos de um minuto an-tes de vocecirc baixaacute-lo Isso eacute porque (para esse arquivo em particular) oservidor gaiacsumassedu estaacute configurado para que a uacuteltima modifica-ccedilatildeo do arquivo seja a atual e atualiza isso uma vez por minuto Assimse vocecirc quiser esperar um minuto entre os acessos o arquivo vai ter sidorecentemente modificado e consequentemente seu navegador vai baixaruma ldquonovardquo coacutepia do arquivo

INTERACcedilAtildeO CONDICIONAL DE HTTP GET RESPONSE 6

INTERACcedilAtildeO CONDICIONAL DE HTTP GET RES-PONSE

Recordando a seccedilatildeo 226 do texto que mostra que a maioria dos na-vegadores guardam objetos em cache e assim fazem a condicional GETquando recuperam um objeto HTTP Antes de realizar os passos a seguirtenha certeza que o cache do seu navegador estaacute vazio (Para fazer issono Firefox selecione Tools -gt Clear Private Data Essas accedilotildees vatildeo remo-ver os arquivos de cache do seu navegador Agora faccedila o seguinte

1 Inicie seu navegador e certifique-se de que o cache estaacute limpo comodiscutido acima

2 Comece o Wireshark packet sniffer3 Entre na seguinte URL pelo seu navegador link Seu navegador deve

mostrar uma mensagem HTTP simples de uma linha4 Rapidamente entre na mesma URL pelo seu navegador novamente

(ou simplesmente atualize a paacutegina de seu navegador)5 Pare a captura de pacotes do Wireshark e digite ldquohttprdquo no filtro de

especificaccedilotildees assim apenas pacotes HTTP vatildeo ser mostradas depoisna lista de pacotes

(Nota Se vocecirc natildeo pode executar o Wireshark em uma conexatildeo de temporeal vocecirc pode usar o pacote http-ethereal-trace-2 para responder asquestotildees abaixo veja aqui link Esse arquivo foi montado seguindo ospassos acima)

Questotildees praacuteticas

8 Inspecione o conteuacutedo da primeira requisiccedilatildeo de HTTP GET do seunavegador ao servidor Vocecirc vecirc a linha ldquoIF-MODIFIED-SINCErdquo no HTTPGET

9 Inspecione o conteuacutedo de resposta do servidor O servidor retornouexplicitamente o conteuacutedo do arquivo Como vocecirc pode afirmar

10 Agora observe o conteuacutedo da segunda requisiccedilatildeo HTTP GET doseu navegador ao servidor Vocecirc vecirc a linha ldquoIF-MODIFIED-SINCErdquo noHTTP GET Se sim qual informaccedilatildeo segue o cabeccedilalho ldquoIF-MODIFIED-SINCErdquo

RECUPERACcedilAtildeO DE DOCUMENTOS LONGOS 7

11 Qual eacute o status HTTP e a frase retornados pelo servidor em res-posta ao segundo HTTP GET O servidor explicitamente retornou os con-teuacutedos do arquivo Explique

Tarefa B Para as questotildees de 8 agrave 11 primeiro escreva uma respostabreve poreacutem precisa para cada questatildeo acima entatildeo escreva um paraacute-grafo explicando suas observaccedilotildees das questotildees praacuteticas Note que suaresposta pode se beneficiar da explicaccedilatildeo eou referecircncias de algumas desuas observaccedilotildees expliacutecitas

RECUPERACcedilAtildeO DE DOCUMENTOS LONGOS

Nos nossos exemplos ateacute agora os documentos recuperados foramarquivos HTML simples e curtos Agora veremos o que acontece quandovocecirc baixa um arquivo HTML grande Faccedila o seguinte

1 Inicie seu navegador e tenha certeza de que o cache estaacute limpocomo discutido acima

2 Comece o Wireshark packet sniffer

3Entre com a seguinte URL no seu navegador link Seu navegadordeve mostrar a carta de direitos dos Estados Unidos

4 Pare a captura de pacotes do Wireshark e digite ldquohttprdquo no filtrode especificaccedilotildees assim apenas as mensagens HTTP capturadas seratildeomostradas

Nota Se vocecirc natildeo pode executar o Wireshark em uma conexatildeo detempo real vocecirc pode usar o pacote http-ethereal-trace-3 para responderas questotildees abaixo veja aqui link Esse arquivo foi montado seguindo ospassos acima)

Na janela de listagem de pacotes vocecirc deve ver sua mensagem HTTPGET seguida de muacuteltiplos pacotes de resposta para sua requisiccedilatildeo HTTPGET Esses muacuteltiplos pacotes merecem uma pequena explicaccedilatildeo Recor-dando a seccedilatildeo 22 (veja no texto) aquela mensagem de resposta HTTPconsistia em uma linha de status seguida por linhas de cabeccedilalho se-guida por uma linha em branco seguida pelo corpo da mensagem No

RECUPERACcedilAtildeO DE DOCUMENTOS LONGOS 8

caso de nossa HTTP GET o corpo da mensagem eacute o arquivo HTML derequisiccedilatildeo inteiro No caso de agora o arquivo de HTML eacute muito grande eos 4500 bytes satildeo grandes demais para caber em um uacutenico pacote TCPUma uacutenica mensagem de resposta HTTP eacute entatildeo quebrada em algunspedaccedilos pelo TCP e cada pedaccedilo conteacutem separadamente um segmentoTCP (Veja no texto) Cada segmento TCP eacute gravado pelo Wireshark comoum pedaccedilo separado e o fato de que uma uacutenica resposta HTTP foi frag-mentada em muacuteltiplos pacotes TCP eacute indicado pela frase ldquoTCP segmentof a reassembled PDUrdquo mostrada na tela do Wireshak Ressaltamos aquique natildeo existe uma mensagem de ldquoTCP segment of a reassembled PDUrdquoem HTTP Nesse sentido a figura 3 mostra uma captura de tela do Wi-reshark mostrando a rota de um http-ethereal-trace-3 Na listagem de pa-cotes capturados o pacote nuacutemero 8 mostra uma requisiccedilatildeo HTTP GETe o pacote nuacutemero 14 mostra a resposta HTTP correspondente Podeser visto que os pacotes nuacutemero 10 11 e 13 satildeo nomeados com ldquoTCPsegment of a ressaembled PDUrdquo Clicando na resposta HTTP como nopacote 14 o painel de detalhes do pacote mostra [4 Reassembled TCPSegments (4816 bytes) 10(1460) 11(1460) 13(1460) 14(436)] (veja afigura 3) Adicionalmente o painel de pacotes de bytes mostra uma nomatabela entitulada Reassembled TCP que mostra a resposta HTTP inteira

RECUPERACcedilAtildeO DE DOCUMENTOS LONGOS 9

Tela do Wireshak com a rota do terceiro pacote

Uma maneira mais conveniente de ver todos os dados (todos as re-quisiccedilotildees HTTP e as respostas transportadas pelo TCP) eacute usando umacaracteriacutestica extra do Wireshark chamada ldquoFollowing TCP Streamsrdquo Cli-cando com o botatildeo direito do mouse em qualquer dos pacotes TCP as-sociados com um determinado fluxo TCP e selecionado o ldquoFollow TCPStreamrdquo no menu uma nova janela abriraacute contendo a troca de dadosA figura 4 mostra a janela ldquoFollow TCP Streamrdquo para a requisiccedilatildeo GETethereal-labslab2-3html HTTP11 e sua resposta associada Nessa ja-nela caracteres natildeo demonstraacuteveis satildeo substituiacutedos por pontos De qual-quer modo a escolha de Raw ou ASCII feita nessa janela afeta comple-tamente o modo como vocecirc poderaacute salvar seu fluxo de dados Isso eacutese Raw eacute selecionado o fluxo de dados seraacute salvo como arquivo binaacute-rio preservando os caracteres natildeo demonstraacuteveis Jaacute no caso de ASCIIo fluxo de dados eacute salvo como um arquivo de texto onde os caracteresnatildeo demonstraacuteveis satildeo substituiacutedos por pontos Note como o Wireshark

RECUPERACcedilAtildeO DE DOCUMENTOS LONGOS 10

mudou (e aplicou) as mudanccedilas no filtro que mostra apenas os pacotesselecionados

A janela do Wireshark durante o fluxo TCP

Questotildees praacuteticas

12 Quantas mensagens de requisiccedilatildeo HTTP GET foram enviadaspelo seu navegador

13 Quantos segmentos TCP contendo dados satildeo necessaacuterios paracarregar essa uacutenica resposta HTTP

14 Qual o status e a frase associada com a requisiccedilatildeo HTTP GET

15 Existe alguma informaccedilatildeo de cabeccedilalho HTTP nos dados associ-ados com a segmentaccedilatildeo TCP

Tarefa C Para as questotildees de 12 agrave 15 primeiro escreva uma respostabreve poreacutem precisa para cada questatildeo acima entatildeo escreva um paraacute-

DOCUMENTOS HTML COM OBJETOS EMBUTIDOS 11

grafo explicando suas observaccedilotildees das questotildees praacuteticas Note que suaresposta pode se beneficiar da explicaccedilatildeo eou referecircncias de algumas desuas observaccedilotildees expliacutecitas

DOCUMENTOS HTML COM OBJETOS EMBUTI-DOS

Agora que vimos como o Wireshark mostra o traacutefego de captura depacotes para arquivos HTML grandes podemos olhar o que acontecequando seu navegador baixa um arquivo com objetos embutidos comoum arquivo que incluem outros objetos (no exemplo a seguir imagens)que estatildeo armazenados em outro servidor Faccedila o seguinte

1Inicie seu navegador e tenha certeza de que o cache estaacute limpocomo discutido acima2Comece o Wireshark packet sniffer3Entre com a seguinte URL no seu navegador link Seu navegador devemostrar um arquivo HTML curto com duas imagens Essas duas imagenssatildeo referenciadas na base do arquivo HTML Isso eacute as imahens natildeo es-tatildeo contidas no HTML no lugar disso URLs para o conteuacutedo das imagenssatildeo baixadas no arquivo HTML Como discutido no livro seu navegadorvai recuperar esses logos de sites indicados Nosso logo eacute recuperado dolink wwwaw-bccom A imagem da capa do nosso livro eacute armazenada noservidor maniccsumassedu4Pare a captura de pacotes do Wireshark e digite ldquohttprdquo no filtro de espe-cificaccedilotildees assim apenas as mensagens HTTP capturadas seratildeo mostra-das Nota Se vocecirc natildeo pode executar o Wireshark em uma conexatildeo detempo real vocecirc pode usar o pacote http-ethereal-trace-4 para responderas questotildees abaixo veja aqui link Esse arquivo foi montado seguindo ospassos acima)

Questotildees praacuteticas

16 Quantas requisiccedilotildees HTTP GET foram enviadas pelo seu navega-dor Para quais endereccedilos essas requisiccedilotildees GET foram enviadas

17 Vocecirc pode dizer se o seu navegador baixou as duas imagens emseacuterie ou se elas foram baixadas dos dois sites em paralelo ExpliqueTarefa D Para as questotildees de 16 agrave 17 primeiro escreva uma resposta

AUTENTICACcedilAtildeO HTTP 12

breve poreacutem precisa para cada questatildeo acima entatildeo escreva um paraacute-grafo explicando suas observaccedilotildees das questotildees praacuteticas Note que suaresposta pode se beneficiar da explicaccedilatildeo eou referecircncias de algumas desuas observaccedilotildees expliacutecitas

AUTENTICACcedilAtildeO HTTP

Finalmente vamos visitar um site protegido por senha e examinar asequecircncia de mensagens HTTP trocadas com esse site A URL link eacuteprotegida por senha O username eacute ldquowireshark-studentsrdquo (sem as aspas)e a senha eacute ldquonetworkrdquo (novamente sem as aspas) Entatildeo vamos acessaresse site protegido por senha ldquosegurordquo Faccedila o seguinte

1Inicie seu navegador e tenha certeza de que o cache estaacute limpocomo discutido acima2Comece o Wireshark packet sniffer3Entre com a seguinte URL no seu navegador link Digite o username e opassword na janela pop up4Pare a captura de pacotes do Wireshark e digite ldquohttprdquo no filtro de espe-cificaccedilotildees assim apenas as mensagens HTTP capturadas seratildeo mostra-dasNota Se vocecirc natildeo pode executar o Wireshark em uma conexatildeo de temporeal vocecirc pode usar o pacote http-ethereal-trace-5 para responder asquestotildees abaixo veja aqui link Esse arquivo foi montado seguindo os pas-sos acima)Agora vamos examinar a saiacuteda de dados do Wireshark Vocecirc pode que-rer ler primeiro sobre autentificaccedilatildeo HTTP revendo o material em ldquoHTTPAcess Athentication Frameworkrdquo em httpfrontieruserlandcomstoriesstoryReaderQuestotildees praacuteticas (natildeo precisam ser respondidas explicitamente)18 Qual eacute a resposta do servidor (status e frase) em resposta a mensa-gem inicial de HTTP GET do seu navegador19 Quando seu navegador envia uma mensagem HTTP GET pela se-gunda vez qual eacute o novo campo incluiacutedo na mensagem HTTP GETVocecirc natildeo precisa relatar as questotildees 18 e 19 de qualquer modo sinta-se livre para redigir um paraacutegrafo explicando e discutindo suas observa-ccedilotildees sobre as questotildees praacuteticas acima O username e a senha que vocecircforneceu satildeo codificadas na string de caracteres seguindo o cabeccedilalholdquoAuthorization Basicrdquo na mensagem HTTP do cliente Enquanto podeparecer que o seu username e senha estatildeo e criptografados eles estatildeosimplesmente codificados em um formato conhecido como Base64 O

QUESTOtildeES PREPARATOacuteRIAS PARA A SEGUNDA TAREFA 13

username e a senha natildeo estatildeo criptografados Para ver isso vaacute parahttpgtoolsorgtoolbase64-encode-decode e enyte com a string de co-dificaccedilatildeo base64 d2lyZXNoYXJrLXN0dWRlbnRz dentro da caixa ldquoDecodefrom base64rdquo e pressione ldquoGordquo Voila Vocecirc traduziu de base64 para co-dificaccedilatildeo ASCII e entatildeo pode ver seu username Para ver a senha entrecom a string Om5ldHdvcms= e pressione ldquodecoderdquo Jaacute que qualquer umpode baixar ferramentas como o Wireshark e rastrear pacotes (natildeo soacute osseus proacuteprios) passando pelo adaptador de rede qualquer um pode tra-duzir Base64 para ASCII (como vocecirc acabou de fazer) Deve estar claroque senhas simples em sites WWW natildeo satildeo seguros a natildeo ser que me-didas adicionais sejam tomadasNatildeo tema Como veremos no capiacutetulo 7 existem maneiras de fazer queacessos WWW sejam mais seguros De qualquer modo noacutes claramenteprecisamos de algo que vaacute aleacutem da autentificaccedilatildeo baacutesica de HTTP

QUESTOtildeES PREPARATOacuteRIAS PARA A SEGUNDATAREFA

20 O que o cabeccedilalho ldquoConnection closerdquo e ldquoConnection Keep-aliverdquoimplicam no protocolo HTTP Quando uma delas deve ser usada ao inveacutesda outra

Tarefa E Para a questatildeo 20 primeiro escreva um breve poreacutem precisoparaacutegrafo que responda a questatildeo acima entatildeo escreva um paraacutegrafoexplicando e discutindo como essas observaccedilotildees podem ser uacuteteis para aproacutexima tarefa

Demonstraccedilatildeo e relatoacuterios Para essa tarefa vocecirc vai precisar escre-ver um relatoacuterio que cuidadosamente responda as questotildees 1-17 e 20e escreva um paraacutegrafo discutindo cada grupo de questotildees 1-7 (TarefaA) 8-11 (Tarefa B) 12-15 (Tarefa C) 16-17 (Tarefa D) e 20 (Tarefa E)Note que cada grupo de questotildees tem um tema e vocecirc deve convencero leitor que seu relatoacuterio (incluindo vocecirc se vocecirc ler seus documentosmesessemanas depois) que vocecirc entende esses aspectos do HTTP Porfavor estruture seu relatoacuterio de modo que suas respostas estejam clara-mente indicadas para cada questatildeo (e sessatildeo) Questotildees e respostascorrespondentes devem estar claramente indicadas Estruture seu relatoacute-rio Aleacutem disso suas respostas devem ser explicadas e apoiadas usandoinformaccedilotildees adicionais quando aplicaacutevel Durante a demonstraccedilatildeo po-dem ser feitas questotildees similares para obtermos a certeza de que vocecirc

QUESTOtildeES PREPARATOacuteRIAS PARA A SEGUNDA TAREFA 14

compreendeu todo esse laboratoacuterio Vocecirc deve explicar claramente suasrespostas Como os relatoacuterios satildeo feitos em duplas ambos os membrosresponderatildeo perguntas

Instruccedilotildees adicionais podem ser encontradas aquilink

Page 7: LABORATÓRIO WIRESHARK HTTP - MAURO OLIVEIRA · PDF fileWIRESHARK - HTTP 1 WIRESHARK - HTTP Esse manual de laboratório é baseado em “Wireshark Lab: HTTP”, versão 2.0 (setembro

INTERACcedilAtildeO CONDICIONAL DE HTTP GET RESPONSE 6

INTERACcedilAtildeO CONDICIONAL DE HTTP GET RES-PONSE

Recordando a seccedilatildeo 226 do texto que mostra que a maioria dos na-vegadores guardam objetos em cache e assim fazem a condicional GETquando recuperam um objeto HTTP Antes de realizar os passos a seguirtenha certeza que o cache do seu navegador estaacute vazio (Para fazer issono Firefox selecione Tools -gt Clear Private Data Essas accedilotildees vatildeo remo-ver os arquivos de cache do seu navegador Agora faccedila o seguinte

1 Inicie seu navegador e certifique-se de que o cache estaacute limpo comodiscutido acima

2 Comece o Wireshark packet sniffer3 Entre na seguinte URL pelo seu navegador link Seu navegador deve

mostrar uma mensagem HTTP simples de uma linha4 Rapidamente entre na mesma URL pelo seu navegador novamente

(ou simplesmente atualize a paacutegina de seu navegador)5 Pare a captura de pacotes do Wireshark e digite ldquohttprdquo no filtro de

especificaccedilotildees assim apenas pacotes HTTP vatildeo ser mostradas depoisna lista de pacotes

(Nota Se vocecirc natildeo pode executar o Wireshark em uma conexatildeo de temporeal vocecirc pode usar o pacote http-ethereal-trace-2 para responder asquestotildees abaixo veja aqui link Esse arquivo foi montado seguindo ospassos acima)

Questotildees praacuteticas

8 Inspecione o conteuacutedo da primeira requisiccedilatildeo de HTTP GET do seunavegador ao servidor Vocecirc vecirc a linha ldquoIF-MODIFIED-SINCErdquo no HTTPGET

9 Inspecione o conteuacutedo de resposta do servidor O servidor retornouexplicitamente o conteuacutedo do arquivo Como vocecirc pode afirmar

10 Agora observe o conteuacutedo da segunda requisiccedilatildeo HTTP GET doseu navegador ao servidor Vocecirc vecirc a linha ldquoIF-MODIFIED-SINCErdquo noHTTP GET Se sim qual informaccedilatildeo segue o cabeccedilalho ldquoIF-MODIFIED-SINCErdquo

RECUPERACcedilAtildeO DE DOCUMENTOS LONGOS 7

11 Qual eacute o status HTTP e a frase retornados pelo servidor em res-posta ao segundo HTTP GET O servidor explicitamente retornou os con-teuacutedos do arquivo Explique

Tarefa B Para as questotildees de 8 agrave 11 primeiro escreva uma respostabreve poreacutem precisa para cada questatildeo acima entatildeo escreva um paraacute-grafo explicando suas observaccedilotildees das questotildees praacuteticas Note que suaresposta pode se beneficiar da explicaccedilatildeo eou referecircncias de algumas desuas observaccedilotildees expliacutecitas

RECUPERACcedilAtildeO DE DOCUMENTOS LONGOS

Nos nossos exemplos ateacute agora os documentos recuperados foramarquivos HTML simples e curtos Agora veremos o que acontece quandovocecirc baixa um arquivo HTML grande Faccedila o seguinte

1 Inicie seu navegador e tenha certeza de que o cache estaacute limpocomo discutido acima

2 Comece o Wireshark packet sniffer

3Entre com a seguinte URL no seu navegador link Seu navegadordeve mostrar a carta de direitos dos Estados Unidos

4 Pare a captura de pacotes do Wireshark e digite ldquohttprdquo no filtrode especificaccedilotildees assim apenas as mensagens HTTP capturadas seratildeomostradas

Nota Se vocecirc natildeo pode executar o Wireshark em uma conexatildeo detempo real vocecirc pode usar o pacote http-ethereal-trace-3 para responderas questotildees abaixo veja aqui link Esse arquivo foi montado seguindo ospassos acima)

Na janela de listagem de pacotes vocecirc deve ver sua mensagem HTTPGET seguida de muacuteltiplos pacotes de resposta para sua requisiccedilatildeo HTTPGET Esses muacuteltiplos pacotes merecem uma pequena explicaccedilatildeo Recor-dando a seccedilatildeo 22 (veja no texto) aquela mensagem de resposta HTTPconsistia em uma linha de status seguida por linhas de cabeccedilalho se-guida por uma linha em branco seguida pelo corpo da mensagem No

RECUPERACcedilAtildeO DE DOCUMENTOS LONGOS 8

caso de nossa HTTP GET o corpo da mensagem eacute o arquivo HTML derequisiccedilatildeo inteiro No caso de agora o arquivo de HTML eacute muito grande eos 4500 bytes satildeo grandes demais para caber em um uacutenico pacote TCPUma uacutenica mensagem de resposta HTTP eacute entatildeo quebrada em algunspedaccedilos pelo TCP e cada pedaccedilo conteacutem separadamente um segmentoTCP (Veja no texto) Cada segmento TCP eacute gravado pelo Wireshark comoum pedaccedilo separado e o fato de que uma uacutenica resposta HTTP foi frag-mentada em muacuteltiplos pacotes TCP eacute indicado pela frase ldquoTCP segmentof a reassembled PDUrdquo mostrada na tela do Wireshak Ressaltamos aquique natildeo existe uma mensagem de ldquoTCP segment of a reassembled PDUrdquoem HTTP Nesse sentido a figura 3 mostra uma captura de tela do Wi-reshark mostrando a rota de um http-ethereal-trace-3 Na listagem de pa-cotes capturados o pacote nuacutemero 8 mostra uma requisiccedilatildeo HTTP GETe o pacote nuacutemero 14 mostra a resposta HTTP correspondente Podeser visto que os pacotes nuacutemero 10 11 e 13 satildeo nomeados com ldquoTCPsegment of a ressaembled PDUrdquo Clicando na resposta HTTP como nopacote 14 o painel de detalhes do pacote mostra [4 Reassembled TCPSegments (4816 bytes) 10(1460) 11(1460) 13(1460) 14(436)] (veja afigura 3) Adicionalmente o painel de pacotes de bytes mostra uma nomatabela entitulada Reassembled TCP que mostra a resposta HTTP inteira

RECUPERACcedilAtildeO DE DOCUMENTOS LONGOS 9

Tela do Wireshak com a rota do terceiro pacote

Uma maneira mais conveniente de ver todos os dados (todos as re-quisiccedilotildees HTTP e as respostas transportadas pelo TCP) eacute usando umacaracteriacutestica extra do Wireshark chamada ldquoFollowing TCP Streamsrdquo Cli-cando com o botatildeo direito do mouse em qualquer dos pacotes TCP as-sociados com um determinado fluxo TCP e selecionado o ldquoFollow TCPStreamrdquo no menu uma nova janela abriraacute contendo a troca de dadosA figura 4 mostra a janela ldquoFollow TCP Streamrdquo para a requisiccedilatildeo GETethereal-labslab2-3html HTTP11 e sua resposta associada Nessa ja-nela caracteres natildeo demonstraacuteveis satildeo substituiacutedos por pontos De qual-quer modo a escolha de Raw ou ASCII feita nessa janela afeta comple-tamente o modo como vocecirc poderaacute salvar seu fluxo de dados Isso eacutese Raw eacute selecionado o fluxo de dados seraacute salvo como arquivo binaacute-rio preservando os caracteres natildeo demonstraacuteveis Jaacute no caso de ASCIIo fluxo de dados eacute salvo como um arquivo de texto onde os caracteresnatildeo demonstraacuteveis satildeo substituiacutedos por pontos Note como o Wireshark

RECUPERACcedilAtildeO DE DOCUMENTOS LONGOS 10

mudou (e aplicou) as mudanccedilas no filtro que mostra apenas os pacotesselecionados

A janela do Wireshark durante o fluxo TCP

Questotildees praacuteticas

12 Quantas mensagens de requisiccedilatildeo HTTP GET foram enviadaspelo seu navegador

13 Quantos segmentos TCP contendo dados satildeo necessaacuterios paracarregar essa uacutenica resposta HTTP

14 Qual o status e a frase associada com a requisiccedilatildeo HTTP GET

15 Existe alguma informaccedilatildeo de cabeccedilalho HTTP nos dados associ-ados com a segmentaccedilatildeo TCP

Tarefa C Para as questotildees de 12 agrave 15 primeiro escreva uma respostabreve poreacutem precisa para cada questatildeo acima entatildeo escreva um paraacute-

DOCUMENTOS HTML COM OBJETOS EMBUTIDOS 11

grafo explicando suas observaccedilotildees das questotildees praacuteticas Note que suaresposta pode se beneficiar da explicaccedilatildeo eou referecircncias de algumas desuas observaccedilotildees expliacutecitas

DOCUMENTOS HTML COM OBJETOS EMBUTI-DOS

Agora que vimos como o Wireshark mostra o traacutefego de captura depacotes para arquivos HTML grandes podemos olhar o que acontecequando seu navegador baixa um arquivo com objetos embutidos comoum arquivo que incluem outros objetos (no exemplo a seguir imagens)que estatildeo armazenados em outro servidor Faccedila o seguinte

1Inicie seu navegador e tenha certeza de que o cache estaacute limpocomo discutido acima2Comece o Wireshark packet sniffer3Entre com a seguinte URL no seu navegador link Seu navegador devemostrar um arquivo HTML curto com duas imagens Essas duas imagenssatildeo referenciadas na base do arquivo HTML Isso eacute as imahens natildeo es-tatildeo contidas no HTML no lugar disso URLs para o conteuacutedo das imagenssatildeo baixadas no arquivo HTML Como discutido no livro seu navegadorvai recuperar esses logos de sites indicados Nosso logo eacute recuperado dolink wwwaw-bccom A imagem da capa do nosso livro eacute armazenada noservidor maniccsumassedu4Pare a captura de pacotes do Wireshark e digite ldquohttprdquo no filtro de espe-cificaccedilotildees assim apenas as mensagens HTTP capturadas seratildeo mostra-das Nota Se vocecirc natildeo pode executar o Wireshark em uma conexatildeo detempo real vocecirc pode usar o pacote http-ethereal-trace-4 para responderas questotildees abaixo veja aqui link Esse arquivo foi montado seguindo ospassos acima)

Questotildees praacuteticas

16 Quantas requisiccedilotildees HTTP GET foram enviadas pelo seu navega-dor Para quais endereccedilos essas requisiccedilotildees GET foram enviadas

17 Vocecirc pode dizer se o seu navegador baixou as duas imagens emseacuterie ou se elas foram baixadas dos dois sites em paralelo ExpliqueTarefa D Para as questotildees de 16 agrave 17 primeiro escreva uma resposta

AUTENTICACcedilAtildeO HTTP 12

breve poreacutem precisa para cada questatildeo acima entatildeo escreva um paraacute-grafo explicando suas observaccedilotildees das questotildees praacuteticas Note que suaresposta pode se beneficiar da explicaccedilatildeo eou referecircncias de algumas desuas observaccedilotildees expliacutecitas

AUTENTICACcedilAtildeO HTTP

Finalmente vamos visitar um site protegido por senha e examinar asequecircncia de mensagens HTTP trocadas com esse site A URL link eacuteprotegida por senha O username eacute ldquowireshark-studentsrdquo (sem as aspas)e a senha eacute ldquonetworkrdquo (novamente sem as aspas) Entatildeo vamos acessaresse site protegido por senha ldquosegurordquo Faccedila o seguinte

1Inicie seu navegador e tenha certeza de que o cache estaacute limpocomo discutido acima2Comece o Wireshark packet sniffer3Entre com a seguinte URL no seu navegador link Digite o username e opassword na janela pop up4Pare a captura de pacotes do Wireshark e digite ldquohttprdquo no filtro de espe-cificaccedilotildees assim apenas as mensagens HTTP capturadas seratildeo mostra-dasNota Se vocecirc natildeo pode executar o Wireshark em uma conexatildeo de temporeal vocecirc pode usar o pacote http-ethereal-trace-5 para responder asquestotildees abaixo veja aqui link Esse arquivo foi montado seguindo os pas-sos acima)Agora vamos examinar a saiacuteda de dados do Wireshark Vocecirc pode que-rer ler primeiro sobre autentificaccedilatildeo HTTP revendo o material em ldquoHTTPAcess Athentication Frameworkrdquo em httpfrontieruserlandcomstoriesstoryReaderQuestotildees praacuteticas (natildeo precisam ser respondidas explicitamente)18 Qual eacute a resposta do servidor (status e frase) em resposta a mensa-gem inicial de HTTP GET do seu navegador19 Quando seu navegador envia uma mensagem HTTP GET pela se-gunda vez qual eacute o novo campo incluiacutedo na mensagem HTTP GETVocecirc natildeo precisa relatar as questotildees 18 e 19 de qualquer modo sinta-se livre para redigir um paraacutegrafo explicando e discutindo suas observa-ccedilotildees sobre as questotildees praacuteticas acima O username e a senha que vocecircforneceu satildeo codificadas na string de caracteres seguindo o cabeccedilalholdquoAuthorization Basicrdquo na mensagem HTTP do cliente Enquanto podeparecer que o seu username e senha estatildeo e criptografados eles estatildeosimplesmente codificados em um formato conhecido como Base64 O

QUESTOtildeES PREPARATOacuteRIAS PARA A SEGUNDA TAREFA 13

username e a senha natildeo estatildeo criptografados Para ver isso vaacute parahttpgtoolsorgtoolbase64-encode-decode e enyte com a string de co-dificaccedilatildeo base64 d2lyZXNoYXJrLXN0dWRlbnRz dentro da caixa ldquoDecodefrom base64rdquo e pressione ldquoGordquo Voila Vocecirc traduziu de base64 para co-dificaccedilatildeo ASCII e entatildeo pode ver seu username Para ver a senha entrecom a string Om5ldHdvcms= e pressione ldquodecoderdquo Jaacute que qualquer umpode baixar ferramentas como o Wireshark e rastrear pacotes (natildeo soacute osseus proacuteprios) passando pelo adaptador de rede qualquer um pode tra-duzir Base64 para ASCII (como vocecirc acabou de fazer) Deve estar claroque senhas simples em sites WWW natildeo satildeo seguros a natildeo ser que me-didas adicionais sejam tomadasNatildeo tema Como veremos no capiacutetulo 7 existem maneiras de fazer queacessos WWW sejam mais seguros De qualquer modo noacutes claramenteprecisamos de algo que vaacute aleacutem da autentificaccedilatildeo baacutesica de HTTP

QUESTOtildeES PREPARATOacuteRIAS PARA A SEGUNDATAREFA

20 O que o cabeccedilalho ldquoConnection closerdquo e ldquoConnection Keep-aliverdquoimplicam no protocolo HTTP Quando uma delas deve ser usada ao inveacutesda outra

Tarefa E Para a questatildeo 20 primeiro escreva um breve poreacutem precisoparaacutegrafo que responda a questatildeo acima entatildeo escreva um paraacutegrafoexplicando e discutindo como essas observaccedilotildees podem ser uacuteteis para aproacutexima tarefa

Demonstraccedilatildeo e relatoacuterios Para essa tarefa vocecirc vai precisar escre-ver um relatoacuterio que cuidadosamente responda as questotildees 1-17 e 20e escreva um paraacutegrafo discutindo cada grupo de questotildees 1-7 (TarefaA) 8-11 (Tarefa B) 12-15 (Tarefa C) 16-17 (Tarefa D) e 20 (Tarefa E)Note que cada grupo de questotildees tem um tema e vocecirc deve convencero leitor que seu relatoacuterio (incluindo vocecirc se vocecirc ler seus documentosmesessemanas depois) que vocecirc entende esses aspectos do HTTP Porfavor estruture seu relatoacuterio de modo que suas respostas estejam clara-mente indicadas para cada questatildeo (e sessatildeo) Questotildees e respostascorrespondentes devem estar claramente indicadas Estruture seu relatoacute-rio Aleacutem disso suas respostas devem ser explicadas e apoiadas usandoinformaccedilotildees adicionais quando aplicaacutevel Durante a demonstraccedilatildeo po-dem ser feitas questotildees similares para obtermos a certeza de que vocecirc

QUESTOtildeES PREPARATOacuteRIAS PARA A SEGUNDA TAREFA 14

compreendeu todo esse laboratoacuterio Vocecirc deve explicar claramente suasrespostas Como os relatoacuterios satildeo feitos em duplas ambos os membrosresponderatildeo perguntas

Instruccedilotildees adicionais podem ser encontradas aquilink

Page 8: LABORATÓRIO WIRESHARK HTTP - MAURO OLIVEIRA · PDF fileWIRESHARK - HTTP 1 WIRESHARK - HTTP Esse manual de laboratório é baseado em “Wireshark Lab: HTTP”, versão 2.0 (setembro

RECUPERACcedilAtildeO DE DOCUMENTOS LONGOS 7

11 Qual eacute o status HTTP e a frase retornados pelo servidor em res-posta ao segundo HTTP GET O servidor explicitamente retornou os con-teuacutedos do arquivo Explique

Tarefa B Para as questotildees de 8 agrave 11 primeiro escreva uma respostabreve poreacutem precisa para cada questatildeo acima entatildeo escreva um paraacute-grafo explicando suas observaccedilotildees das questotildees praacuteticas Note que suaresposta pode se beneficiar da explicaccedilatildeo eou referecircncias de algumas desuas observaccedilotildees expliacutecitas

RECUPERACcedilAtildeO DE DOCUMENTOS LONGOS

Nos nossos exemplos ateacute agora os documentos recuperados foramarquivos HTML simples e curtos Agora veremos o que acontece quandovocecirc baixa um arquivo HTML grande Faccedila o seguinte

1 Inicie seu navegador e tenha certeza de que o cache estaacute limpocomo discutido acima

2 Comece o Wireshark packet sniffer

3Entre com a seguinte URL no seu navegador link Seu navegadordeve mostrar a carta de direitos dos Estados Unidos

4 Pare a captura de pacotes do Wireshark e digite ldquohttprdquo no filtrode especificaccedilotildees assim apenas as mensagens HTTP capturadas seratildeomostradas

Nota Se vocecirc natildeo pode executar o Wireshark em uma conexatildeo detempo real vocecirc pode usar o pacote http-ethereal-trace-3 para responderas questotildees abaixo veja aqui link Esse arquivo foi montado seguindo ospassos acima)

Na janela de listagem de pacotes vocecirc deve ver sua mensagem HTTPGET seguida de muacuteltiplos pacotes de resposta para sua requisiccedilatildeo HTTPGET Esses muacuteltiplos pacotes merecem uma pequena explicaccedilatildeo Recor-dando a seccedilatildeo 22 (veja no texto) aquela mensagem de resposta HTTPconsistia em uma linha de status seguida por linhas de cabeccedilalho se-guida por uma linha em branco seguida pelo corpo da mensagem No

RECUPERACcedilAtildeO DE DOCUMENTOS LONGOS 8

caso de nossa HTTP GET o corpo da mensagem eacute o arquivo HTML derequisiccedilatildeo inteiro No caso de agora o arquivo de HTML eacute muito grande eos 4500 bytes satildeo grandes demais para caber em um uacutenico pacote TCPUma uacutenica mensagem de resposta HTTP eacute entatildeo quebrada em algunspedaccedilos pelo TCP e cada pedaccedilo conteacutem separadamente um segmentoTCP (Veja no texto) Cada segmento TCP eacute gravado pelo Wireshark comoum pedaccedilo separado e o fato de que uma uacutenica resposta HTTP foi frag-mentada em muacuteltiplos pacotes TCP eacute indicado pela frase ldquoTCP segmentof a reassembled PDUrdquo mostrada na tela do Wireshak Ressaltamos aquique natildeo existe uma mensagem de ldquoTCP segment of a reassembled PDUrdquoem HTTP Nesse sentido a figura 3 mostra uma captura de tela do Wi-reshark mostrando a rota de um http-ethereal-trace-3 Na listagem de pa-cotes capturados o pacote nuacutemero 8 mostra uma requisiccedilatildeo HTTP GETe o pacote nuacutemero 14 mostra a resposta HTTP correspondente Podeser visto que os pacotes nuacutemero 10 11 e 13 satildeo nomeados com ldquoTCPsegment of a ressaembled PDUrdquo Clicando na resposta HTTP como nopacote 14 o painel de detalhes do pacote mostra [4 Reassembled TCPSegments (4816 bytes) 10(1460) 11(1460) 13(1460) 14(436)] (veja afigura 3) Adicionalmente o painel de pacotes de bytes mostra uma nomatabela entitulada Reassembled TCP que mostra a resposta HTTP inteira

RECUPERACcedilAtildeO DE DOCUMENTOS LONGOS 9

Tela do Wireshak com a rota do terceiro pacote

Uma maneira mais conveniente de ver todos os dados (todos as re-quisiccedilotildees HTTP e as respostas transportadas pelo TCP) eacute usando umacaracteriacutestica extra do Wireshark chamada ldquoFollowing TCP Streamsrdquo Cli-cando com o botatildeo direito do mouse em qualquer dos pacotes TCP as-sociados com um determinado fluxo TCP e selecionado o ldquoFollow TCPStreamrdquo no menu uma nova janela abriraacute contendo a troca de dadosA figura 4 mostra a janela ldquoFollow TCP Streamrdquo para a requisiccedilatildeo GETethereal-labslab2-3html HTTP11 e sua resposta associada Nessa ja-nela caracteres natildeo demonstraacuteveis satildeo substituiacutedos por pontos De qual-quer modo a escolha de Raw ou ASCII feita nessa janela afeta comple-tamente o modo como vocecirc poderaacute salvar seu fluxo de dados Isso eacutese Raw eacute selecionado o fluxo de dados seraacute salvo como arquivo binaacute-rio preservando os caracteres natildeo demonstraacuteveis Jaacute no caso de ASCIIo fluxo de dados eacute salvo como um arquivo de texto onde os caracteresnatildeo demonstraacuteveis satildeo substituiacutedos por pontos Note como o Wireshark

RECUPERACcedilAtildeO DE DOCUMENTOS LONGOS 10

mudou (e aplicou) as mudanccedilas no filtro que mostra apenas os pacotesselecionados

A janela do Wireshark durante o fluxo TCP

Questotildees praacuteticas

12 Quantas mensagens de requisiccedilatildeo HTTP GET foram enviadaspelo seu navegador

13 Quantos segmentos TCP contendo dados satildeo necessaacuterios paracarregar essa uacutenica resposta HTTP

14 Qual o status e a frase associada com a requisiccedilatildeo HTTP GET

15 Existe alguma informaccedilatildeo de cabeccedilalho HTTP nos dados associ-ados com a segmentaccedilatildeo TCP

Tarefa C Para as questotildees de 12 agrave 15 primeiro escreva uma respostabreve poreacutem precisa para cada questatildeo acima entatildeo escreva um paraacute-

DOCUMENTOS HTML COM OBJETOS EMBUTIDOS 11

grafo explicando suas observaccedilotildees das questotildees praacuteticas Note que suaresposta pode se beneficiar da explicaccedilatildeo eou referecircncias de algumas desuas observaccedilotildees expliacutecitas

DOCUMENTOS HTML COM OBJETOS EMBUTI-DOS

Agora que vimos como o Wireshark mostra o traacutefego de captura depacotes para arquivos HTML grandes podemos olhar o que acontecequando seu navegador baixa um arquivo com objetos embutidos comoum arquivo que incluem outros objetos (no exemplo a seguir imagens)que estatildeo armazenados em outro servidor Faccedila o seguinte

1Inicie seu navegador e tenha certeza de que o cache estaacute limpocomo discutido acima2Comece o Wireshark packet sniffer3Entre com a seguinte URL no seu navegador link Seu navegador devemostrar um arquivo HTML curto com duas imagens Essas duas imagenssatildeo referenciadas na base do arquivo HTML Isso eacute as imahens natildeo es-tatildeo contidas no HTML no lugar disso URLs para o conteuacutedo das imagenssatildeo baixadas no arquivo HTML Como discutido no livro seu navegadorvai recuperar esses logos de sites indicados Nosso logo eacute recuperado dolink wwwaw-bccom A imagem da capa do nosso livro eacute armazenada noservidor maniccsumassedu4Pare a captura de pacotes do Wireshark e digite ldquohttprdquo no filtro de espe-cificaccedilotildees assim apenas as mensagens HTTP capturadas seratildeo mostra-das Nota Se vocecirc natildeo pode executar o Wireshark em uma conexatildeo detempo real vocecirc pode usar o pacote http-ethereal-trace-4 para responderas questotildees abaixo veja aqui link Esse arquivo foi montado seguindo ospassos acima)

Questotildees praacuteticas

16 Quantas requisiccedilotildees HTTP GET foram enviadas pelo seu navega-dor Para quais endereccedilos essas requisiccedilotildees GET foram enviadas

17 Vocecirc pode dizer se o seu navegador baixou as duas imagens emseacuterie ou se elas foram baixadas dos dois sites em paralelo ExpliqueTarefa D Para as questotildees de 16 agrave 17 primeiro escreva uma resposta

AUTENTICACcedilAtildeO HTTP 12

breve poreacutem precisa para cada questatildeo acima entatildeo escreva um paraacute-grafo explicando suas observaccedilotildees das questotildees praacuteticas Note que suaresposta pode se beneficiar da explicaccedilatildeo eou referecircncias de algumas desuas observaccedilotildees expliacutecitas

AUTENTICACcedilAtildeO HTTP

Finalmente vamos visitar um site protegido por senha e examinar asequecircncia de mensagens HTTP trocadas com esse site A URL link eacuteprotegida por senha O username eacute ldquowireshark-studentsrdquo (sem as aspas)e a senha eacute ldquonetworkrdquo (novamente sem as aspas) Entatildeo vamos acessaresse site protegido por senha ldquosegurordquo Faccedila o seguinte

1Inicie seu navegador e tenha certeza de que o cache estaacute limpocomo discutido acima2Comece o Wireshark packet sniffer3Entre com a seguinte URL no seu navegador link Digite o username e opassword na janela pop up4Pare a captura de pacotes do Wireshark e digite ldquohttprdquo no filtro de espe-cificaccedilotildees assim apenas as mensagens HTTP capturadas seratildeo mostra-dasNota Se vocecirc natildeo pode executar o Wireshark em uma conexatildeo de temporeal vocecirc pode usar o pacote http-ethereal-trace-5 para responder asquestotildees abaixo veja aqui link Esse arquivo foi montado seguindo os pas-sos acima)Agora vamos examinar a saiacuteda de dados do Wireshark Vocecirc pode que-rer ler primeiro sobre autentificaccedilatildeo HTTP revendo o material em ldquoHTTPAcess Athentication Frameworkrdquo em httpfrontieruserlandcomstoriesstoryReaderQuestotildees praacuteticas (natildeo precisam ser respondidas explicitamente)18 Qual eacute a resposta do servidor (status e frase) em resposta a mensa-gem inicial de HTTP GET do seu navegador19 Quando seu navegador envia uma mensagem HTTP GET pela se-gunda vez qual eacute o novo campo incluiacutedo na mensagem HTTP GETVocecirc natildeo precisa relatar as questotildees 18 e 19 de qualquer modo sinta-se livre para redigir um paraacutegrafo explicando e discutindo suas observa-ccedilotildees sobre as questotildees praacuteticas acima O username e a senha que vocecircforneceu satildeo codificadas na string de caracteres seguindo o cabeccedilalholdquoAuthorization Basicrdquo na mensagem HTTP do cliente Enquanto podeparecer que o seu username e senha estatildeo e criptografados eles estatildeosimplesmente codificados em um formato conhecido como Base64 O

QUESTOtildeES PREPARATOacuteRIAS PARA A SEGUNDA TAREFA 13

username e a senha natildeo estatildeo criptografados Para ver isso vaacute parahttpgtoolsorgtoolbase64-encode-decode e enyte com a string de co-dificaccedilatildeo base64 d2lyZXNoYXJrLXN0dWRlbnRz dentro da caixa ldquoDecodefrom base64rdquo e pressione ldquoGordquo Voila Vocecirc traduziu de base64 para co-dificaccedilatildeo ASCII e entatildeo pode ver seu username Para ver a senha entrecom a string Om5ldHdvcms= e pressione ldquodecoderdquo Jaacute que qualquer umpode baixar ferramentas como o Wireshark e rastrear pacotes (natildeo soacute osseus proacuteprios) passando pelo adaptador de rede qualquer um pode tra-duzir Base64 para ASCII (como vocecirc acabou de fazer) Deve estar claroque senhas simples em sites WWW natildeo satildeo seguros a natildeo ser que me-didas adicionais sejam tomadasNatildeo tema Como veremos no capiacutetulo 7 existem maneiras de fazer queacessos WWW sejam mais seguros De qualquer modo noacutes claramenteprecisamos de algo que vaacute aleacutem da autentificaccedilatildeo baacutesica de HTTP

QUESTOtildeES PREPARATOacuteRIAS PARA A SEGUNDATAREFA

20 O que o cabeccedilalho ldquoConnection closerdquo e ldquoConnection Keep-aliverdquoimplicam no protocolo HTTP Quando uma delas deve ser usada ao inveacutesda outra

Tarefa E Para a questatildeo 20 primeiro escreva um breve poreacutem precisoparaacutegrafo que responda a questatildeo acima entatildeo escreva um paraacutegrafoexplicando e discutindo como essas observaccedilotildees podem ser uacuteteis para aproacutexima tarefa

Demonstraccedilatildeo e relatoacuterios Para essa tarefa vocecirc vai precisar escre-ver um relatoacuterio que cuidadosamente responda as questotildees 1-17 e 20e escreva um paraacutegrafo discutindo cada grupo de questotildees 1-7 (TarefaA) 8-11 (Tarefa B) 12-15 (Tarefa C) 16-17 (Tarefa D) e 20 (Tarefa E)Note que cada grupo de questotildees tem um tema e vocecirc deve convencero leitor que seu relatoacuterio (incluindo vocecirc se vocecirc ler seus documentosmesessemanas depois) que vocecirc entende esses aspectos do HTTP Porfavor estruture seu relatoacuterio de modo que suas respostas estejam clara-mente indicadas para cada questatildeo (e sessatildeo) Questotildees e respostascorrespondentes devem estar claramente indicadas Estruture seu relatoacute-rio Aleacutem disso suas respostas devem ser explicadas e apoiadas usandoinformaccedilotildees adicionais quando aplicaacutevel Durante a demonstraccedilatildeo po-dem ser feitas questotildees similares para obtermos a certeza de que vocecirc

QUESTOtildeES PREPARATOacuteRIAS PARA A SEGUNDA TAREFA 14

compreendeu todo esse laboratoacuterio Vocecirc deve explicar claramente suasrespostas Como os relatoacuterios satildeo feitos em duplas ambos os membrosresponderatildeo perguntas

Instruccedilotildees adicionais podem ser encontradas aquilink

Page 9: LABORATÓRIO WIRESHARK HTTP - MAURO OLIVEIRA · PDF fileWIRESHARK - HTTP 1 WIRESHARK - HTTP Esse manual de laboratório é baseado em “Wireshark Lab: HTTP”, versão 2.0 (setembro

RECUPERACcedilAtildeO DE DOCUMENTOS LONGOS 8

caso de nossa HTTP GET o corpo da mensagem eacute o arquivo HTML derequisiccedilatildeo inteiro No caso de agora o arquivo de HTML eacute muito grande eos 4500 bytes satildeo grandes demais para caber em um uacutenico pacote TCPUma uacutenica mensagem de resposta HTTP eacute entatildeo quebrada em algunspedaccedilos pelo TCP e cada pedaccedilo conteacutem separadamente um segmentoTCP (Veja no texto) Cada segmento TCP eacute gravado pelo Wireshark comoum pedaccedilo separado e o fato de que uma uacutenica resposta HTTP foi frag-mentada em muacuteltiplos pacotes TCP eacute indicado pela frase ldquoTCP segmentof a reassembled PDUrdquo mostrada na tela do Wireshak Ressaltamos aquique natildeo existe uma mensagem de ldquoTCP segment of a reassembled PDUrdquoem HTTP Nesse sentido a figura 3 mostra uma captura de tela do Wi-reshark mostrando a rota de um http-ethereal-trace-3 Na listagem de pa-cotes capturados o pacote nuacutemero 8 mostra uma requisiccedilatildeo HTTP GETe o pacote nuacutemero 14 mostra a resposta HTTP correspondente Podeser visto que os pacotes nuacutemero 10 11 e 13 satildeo nomeados com ldquoTCPsegment of a ressaembled PDUrdquo Clicando na resposta HTTP como nopacote 14 o painel de detalhes do pacote mostra [4 Reassembled TCPSegments (4816 bytes) 10(1460) 11(1460) 13(1460) 14(436)] (veja afigura 3) Adicionalmente o painel de pacotes de bytes mostra uma nomatabela entitulada Reassembled TCP que mostra a resposta HTTP inteira

RECUPERACcedilAtildeO DE DOCUMENTOS LONGOS 9

Tela do Wireshak com a rota do terceiro pacote

Uma maneira mais conveniente de ver todos os dados (todos as re-quisiccedilotildees HTTP e as respostas transportadas pelo TCP) eacute usando umacaracteriacutestica extra do Wireshark chamada ldquoFollowing TCP Streamsrdquo Cli-cando com o botatildeo direito do mouse em qualquer dos pacotes TCP as-sociados com um determinado fluxo TCP e selecionado o ldquoFollow TCPStreamrdquo no menu uma nova janela abriraacute contendo a troca de dadosA figura 4 mostra a janela ldquoFollow TCP Streamrdquo para a requisiccedilatildeo GETethereal-labslab2-3html HTTP11 e sua resposta associada Nessa ja-nela caracteres natildeo demonstraacuteveis satildeo substituiacutedos por pontos De qual-quer modo a escolha de Raw ou ASCII feita nessa janela afeta comple-tamente o modo como vocecirc poderaacute salvar seu fluxo de dados Isso eacutese Raw eacute selecionado o fluxo de dados seraacute salvo como arquivo binaacute-rio preservando os caracteres natildeo demonstraacuteveis Jaacute no caso de ASCIIo fluxo de dados eacute salvo como um arquivo de texto onde os caracteresnatildeo demonstraacuteveis satildeo substituiacutedos por pontos Note como o Wireshark

RECUPERACcedilAtildeO DE DOCUMENTOS LONGOS 10

mudou (e aplicou) as mudanccedilas no filtro que mostra apenas os pacotesselecionados

A janela do Wireshark durante o fluxo TCP

Questotildees praacuteticas

12 Quantas mensagens de requisiccedilatildeo HTTP GET foram enviadaspelo seu navegador

13 Quantos segmentos TCP contendo dados satildeo necessaacuterios paracarregar essa uacutenica resposta HTTP

14 Qual o status e a frase associada com a requisiccedilatildeo HTTP GET

15 Existe alguma informaccedilatildeo de cabeccedilalho HTTP nos dados associ-ados com a segmentaccedilatildeo TCP

Tarefa C Para as questotildees de 12 agrave 15 primeiro escreva uma respostabreve poreacutem precisa para cada questatildeo acima entatildeo escreva um paraacute-

DOCUMENTOS HTML COM OBJETOS EMBUTIDOS 11

grafo explicando suas observaccedilotildees das questotildees praacuteticas Note que suaresposta pode se beneficiar da explicaccedilatildeo eou referecircncias de algumas desuas observaccedilotildees expliacutecitas

DOCUMENTOS HTML COM OBJETOS EMBUTI-DOS

Agora que vimos como o Wireshark mostra o traacutefego de captura depacotes para arquivos HTML grandes podemos olhar o que acontecequando seu navegador baixa um arquivo com objetos embutidos comoum arquivo que incluem outros objetos (no exemplo a seguir imagens)que estatildeo armazenados em outro servidor Faccedila o seguinte

1Inicie seu navegador e tenha certeza de que o cache estaacute limpocomo discutido acima2Comece o Wireshark packet sniffer3Entre com a seguinte URL no seu navegador link Seu navegador devemostrar um arquivo HTML curto com duas imagens Essas duas imagenssatildeo referenciadas na base do arquivo HTML Isso eacute as imahens natildeo es-tatildeo contidas no HTML no lugar disso URLs para o conteuacutedo das imagenssatildeo baixadas no arquivo HTML Como discutido no livro seu navegadorvai recuperar esses logos de sites indicados Nosso logo eacute recuperado dolink wwwaw-bccom A imagem da capa do nosso livro eacute armazenada noservidor maniccsumassedu4Pare a captura de pacotes do Wireshark e digite ldquohttprdquo no filtro de espe-cificaccedilotildees assim apenas as mensagens HTTP capturadas seratildeo mostra-das Nota Se vocecirc natildeo pode executar o Wireshark em uma conexatildeo detempo real vocecirc pode usar o pacote http-ethereal-trace-4 para responderas questotildees abaixo veja aqui link Esse arquivo foi montado seguindo ospassos acima)

Questotildees praacuteticas

16 Quantas requisiccedilotildees HTTP GET foram enviadas pelo seu navega-dor Para quais endereccedilos essas requisiccedilotildees GET foram enviadas

17 Vocecirc pode dizer se o seu navegador baixou as duas imagens emseacuterie ou se elas foram baixadas dos dois sites em paralelo ExpliqueTarefa D Para as questotildees de 16 agrave 17 primeiro escreva uma resposta

AUTENTICACcedilAtildeO HTTP 12

breve poreacutem precisa para cada questatildeo acima entatildeo escreva um paraacute-grafo explicando suas observaccedilotildees das questotildees praacuteticas Note que suaresposta pode se beneficiar da explicaccedilatildeo eou referecircncias de algumas desuas observaccedilotildees expliacutecitas

AUTENTICACcedilAtildeO HTTP

Finalmente vamos visitar um site protegido por senha e examinar asequecircncia de mensagens HTTP trocadas com esse site A URL link eacuteprotegida por senha O username eacute ldquowireshark-studentsrdquo (sem as aspas)e a senha eacute ldquonetworkrdquo (novamente sem as aspas) Entatildeo vamos acessaresse site protegido por senha ldquosegurordquo Faccedila o seguinte

1Inicie seu navegador e tenha certeza de que o cache estaacute limpocomo discutido acima2Comece o Wireshark packet sniffer3Entre com a seguinte URL no seu navegador link Digite o username e opassword na janela pop up4Pare a captura de pacotes do Wireshark e digite ldquohttprdquo no filtro de espe-cificaccedilotildees assim apenas as mensagens HTTP capturadas seratildeo mostra-dasNota Se vocecirc natildeo pode executar o Wireshark em uma conexatildeo de temporeal vocecirc pode usar o pacote http-ethereal-trace-5 para responder asquestotildees abaixo veja aqui link Esse arquivo foi montado seguindo os pas-sos acima)Agora vamos examinar a saiacuteda de dados do Wireshark Vocecirc pode que-rer ler primeiro sobre autentificaccedilatildeo HTTP revendo o material em ldquoHTTPAcess Athentication Frameworkrdquo em httpfrontieruserlandcomstoriesstoryReaderQuestotildees praacuteticas (natildeo precisam ser respondidas explicitamente)18 Qual eacute a resposta do servidor (status e frase) em resposta a mensa-gem inicial de HTTP GET do seu navegador19 Quando seu navegador envia uma mensagem HTTP GET pela se-gunda vez qual eacute o novo campo incluiacutedo na mensagem HTTP GETVocecirc natildeo precisa relatar as questotildees 18 e 19 de qualquer modo sinta-se livre para redigir um paraacutegrafo explicando e discutindo suas observa-ccedilotildees sobre as questotildees praacuteticas acima O username e a senha que vocecircforneceu satildeo codificadas na string de caracteres seguindo o cabeccedilalholdquoAuthorization Basicrdquo na mensagem HTTP do cliente Enquanto podeparecer que o seu username e senha estatildeo e criptografados eles estatildeosimplesmente codificados em um formato conhecido como Base64 O

QUESTOtildeES PREPARATOacuteRIAS PARA A SEGUNDA TAREFA 13

username e a senha natildeo estatildeo criptografados Para ver isso vaacute parahttpgtoolsorgtoolbase64-encode-decode e enyte com a string de co-dificaccedilatildeo base64 d2lyZXNoYXJrLXN0dWRlbnRz dentro da caixa ldquoDecodefrom base64rdquo e pressione ldquoGordquo Voila Vocecirc traduziu de base64 para co-dificaccedilatildeo ASCII e entatildeo pode ver seu username Para ver a senha entrecom a string Om5ldHdvcms= e pressione ldquodecoderdquo Jaacute que qualquer umpode baixar ferramentas como o Wireshark e rastrear pacotes (natildeo soacute osseus proacuteprios) passando pelo adaptador de rede qualquer um pode tra-duzir Base64 para ASCII (como vocecirc acabou de fazer) Deve estar claroque senhas simples em sites WWW natildeo satildeo seguros a natildeo ser que me-didas adicionais sejam tomadasNatildeo tema Como veremos no capiacutetulo 7 existem maneiras de fazer queacessos WWW sejam mais seguros De qualquer modo noacutes claramenteprecisamos de algo que vaacute aleacutem da autentificaccedilatildeo baacutesica de HTTP

QUESTOtildeES PREPARATOacuteRIAS PARA A SEGUNDATAREFA

20 O que o cabeccedilalho ldquoConnection closerdquo e ldquoConnection Keep-aliverdquoimplicam no protocolo HTTP Quando uma delas deve ser usada ao inveacutesda outra

Tarefa E Para a questatildeo 20 primeiro escreva um breve poreacutem precisoparaacutegrafo que responda a questatildeo acima entatildeo escreva um paraacutegrafoexplicando e discutindo como essas observaccedilotildees podem ser uacuteteis para aproacutexima tarefa

Demonstraccedilatildeo e relatoacuterios Para essa tarefa vocecirc vai precisar escre-ver um relatoacuterio que cuidadosamente responda as questotildees 1-17 e 20e escreva um paraacutegrafo discutindo cada grupo de questotildees 1-7 (TarefaA) 8-11 (Tarefa B) 12-15 (Tarefa C) 16-17 (Tarefa D) e 20 (Tarefa E)Note que cada grupo de questotildees tem um tema e vocecirc deve convencero leitor que seu relatoacuterio (incluindo vocecirc se vocecirc ler seus documentosmesessemanas depois) que vocecirc entende esses aspectos do HTTP Porfavor estruture seu relatoacuterio de modo que suas respostas estejam clara-mente indicadas para cada questatildeo (e sessatildeo) Questotildees e respostascorrespondentes devem estar claramente indicadas Estruture seu relatoacute-rio Aleacutem disso suas respostas devem ser explicadas e apoiadas usandoinformaccedilotildees adicionais quando aplicaacutevel Durante a demonstraccedilatildeo po-dem ser feitas questotildees similares para obtermos a certeza de que vocecirc

QUESTOtildeES PREPARATOacuteRIAS PARA A SEGUNDA TAREFA 14

compreendeu todo esse laboratoacuterio Vocecirc deve explicar claramente suasrespostas Como os relatoacuterios satildeo feitos em duplas ambos os membrosresponderatildeo perguntas

Instruccedilotildees adicionais podem ser encontradas aquilink

Page 10: LABORATÓRIO WIRESHARK HTTP - MAURO OLIVEIRA · PDF fileWIRESHARK - HTTP 1 WIRESHARK - HTTP Esse manual de laboratório é baseado em “Wireshark Lab: HTTP”, versão 2.0 (setembro

RECUPERACcedilAtildeO DE DOCUMENTOS LONGOS 9

Tela do Wireshak com a rota do terceiro pacote

Uma maneira mais conveniente de ver todos os dados (todos as re-quisiccedilotildees HTTP e as respostas transportadas pelo TCP) eacute usando umacaracteriacutestica extra do Wireshark chamada ldquoFollowing TCP Streamsrdquo Cli-cando com o botatildeo direito do mouse em qualquer dos pacotes TCP as-sociados com um determinado fluxo TCP e selecionado o ldquoFollow TCPStreamrdquo no menu uma nova janela abriraacute contendo a troca de dadosA figura 4 mostra a janela ldquoFollow TCP Streamrdquo para a requisiccedilatildeo GETethereal-labslab2-3html HTTP11 e sua resposta associada Nessa ja-nela caracteres natildeo demonstraacuteveis satildeo substituiacutedos por pontos De qual-quer modo a escolha de Raw ou ASCII feita nessa janela afeta comple-tamente o modo como vocecirc poderaacute salvar seu fluxo de dados Isso eacutese Raw eacute selecionado o fluxo de dados seraacute salvo como arquivo binaacute-rio preservando os caracteres natildeo demonstraacuteveis Jaacute no caso de ASCIIo fluxo de dados eacute salvo como um arquivo de texto onde os caracteresnatildeo demonstraacuteveis satildeo substituiacutedos por pontos Note como o Wireshark

RECUPERACcedilAtildeO DE DOCUMENTOS LONGOS 10

mudou (e aplicou) as mudanccedilas no filtro que mostra apenas os pacotesselecionados

A janela do Wireshark durante o fluxo TCP

Questotildees praacuteticas

12 Quantas mensagens de requisiccedilatildeo HTTP GET foram enviadaspelo seu navegador

13 Quantos segmentos TCP contendo dados satildeo necessaacuterios paracarregar essa uacutenica resposta HTTP

14 Qual o status e a frase associada com a requisiccedilatildeo HTTP GET

15 Existe alguma informaccedilatildeo de cabeccedilalho HTTP nos dados associ-ados com a segmentaccedilatildeo TCP

Tarefa C Para as questotildees de 12 agrave 15 primeiro escreva uma respostabreve poreacutem precisa para cada questatildeo acima entatildeo escreva um paraacute-

DOCUMENTOS HTML COM OBJETOS EMBUTIDOS 11

grafo explicando suas observaccedilotildees das questotildees praacuteticas Note que suaresposta pode se beneficiar da explicaccedilatildeo eou referecircncias de algumas desuas observaccedilotildees expliacutecitas

DOCUMENTOS HTML COM OBJETOS EMBUTI-DOS

Agora que vimos como o Wireshark mostra o traacutefego de captura depacotes para arquivos HTML grandes podemos olhar o que acontecequando seu navegador baixa um arquivo com objetos embutidos comoum arquivo que incluem outros objetos (no exemplo a seguir imagens)que estatildeo armazenados em outro servidor Faccedila o seguinte

1Inicie seu navegador e tenha certeza de que o cache estaacute limpocomo discutido acima2Comece o Wireshark packet sniffer3Entre com a seguinte URL no seu navegador link Seu navegador devemostrar um arquivo HTML curto com duas imagens Essas duas imagenssatildeo referenciadas na base do arquivo HTML Isso eacute as imahens natildeo es-tatildeo contidas no HTML no lugar disso URLs para o conteuacutedo das imagenssatildeo baixadas no arquivo HTML Como discutido no livro seu navegadorvai recuperar esses logos de sites indicados Nosso logo eacute recuperado dolink wwwaw-bccom A imagem da capa do nosso livro eacute armazenada noservidor maniccsumassedu4Pare a captura de pacotes do Wireshark e digite ldquohttprdquo no filtro de espe-cificaccedilotildees assim apenas as mensagens HTTP capturadas seratildeo mostra-das Nota Se vocecirc natildeo pode executar o Wireshark em uma conexatildeo detempo real vocecirc pode usar o pacote http-ethereal-trace-4 para responderas questotildees abaixo veja aqui link Esse arquivo foi montado seguindo ospassos acima)

Questotildees praacuteticas

16 Quantas requisiccedilotildees HTTP GET foram enviadas pelo seu navega-dor Para quais endereccedilos essas requisiccedilotildees GET foram enviadas

17 Vocecirc pode dizer se o seu navegador baixou as duas imagens emseacuterie ou se elas foram baixadas dos dois sites em paralelo ExpliqueTarefa D Para as questotildees de 16 agrave 17 primeiro escreva uma resposta

AUTENTICACcedilAtildeO HTTP 12

breve poreacutem precisa para cada questatildeo acima entatildeo escreva um paraacute-grafo explicando suas observaccedilotildees das questotildees praacuteticas Note que suaresposta pode se beneficiar da explicaccedilatildeo eou referecircncias de algumas desuas observaccedilotildees expliacutecitas

AUTENTICACcedilAtildeO HTTP

Finalmente vamos visitar um site protegido por senha e examinar asequecircncia de mensagens HTTP trocadas com esse site A URL link eacuteprotegida por senha O username eacute ldquowireshark-studentsrdquo (sem as aspas)e a senha eacute ldquonetworkrdquo (novamente sem as aspas) Entatildeo vamos acessaresse site protegido por senha ldquosegurordquo Faccedila o seguinte

1Inicie seu navegador e tenha certeza de que o cache estaacute limpocomo discutido acima2Comece o Wireshark packet sniffer3Entre com a seguinte URL no seu navegador link Digite o username e opassword na janela pop up4Pare a captura de pacotes do Wireshark e digite ldquohttprdquo no filtro de espe-cificaccedilotildees assim apenas as mensagens HTTP capturadas seratildeo mostra-dasNota Se vocecirc natildeo pode executar o Wireshark em uma conexatildeo de temporeal vocecirc pode usar o pacote http-ethereal-trace-5 para responder asquestotildees abaixo veja aqui link Esse arquivo foi montado seguindo os pas-sos acima)Agora vamos examinar a saiacuteda de dados do Wireshark Vocecirc pode que-rer ler primeiro sobre autentificaccedilatildeo HTTP revendo o material em ldquoHTTPAcess Athentication Frameworkrdquo em httpfrontieruserlandcomstoriesstoryReaderQuestotildees praacuteticas (natildeo precisam ser respondidas explicitamente)18 Qual eacute a resposta do servidor (status e frase) em resposta a mensa-gem inicial de HTTP GET do seu navegador19 Quando seu navegador envia uma mensagem HTTP GET pela se-gunda vez qual eacute o novo campo incluiacutedo na mensagem HTTP GETVocecirc natildeo precisa relatar as questotildees 18 e 19 de qualquer modo sinta-se livre para redigir um paraacutegrafo explicando e discutindo suas observa-ccedilotildees sobre as questotildees praacuteticas acima O username e a senha que vocecircforneceu satildeo codificadas na string de caracteres seguindo o cabeccedilalholdquoAuthorization Basicrdquo na mensagem HTTP do cliente Enquanto podeparecer que o seu username e senha estatildeo e criptografados eles estatildeosimplesmente codificados em um formato conhecido como Base64 O

QUESTOtildeES PREPARATOacuteRIAS PARA A SEGUNDA TAREFA 13

username e a senha natildeo estatildeo criptografados Para ver isso vaacute parahttpgtoolsorgtoolbase64-encode-decode e enyte com a string de co-dificaccedilatildeo base64 d2lyZXNoYXJrLXN0dWRlbnRz dentro da caixa ldquoDecodefrom base64rdquo e pressione ldquoGordquo Voila Vocecirc traduziu de base64 para co-dificaccedilatildeo ASCII e entatildeo pode ver seu username Para ver a senha entrecom a string Om5ldHdvcms= e pressione ldquodecoderdquo Jaacute que qualquer umpode baixar ferramentas como o Wireshark e rastrear pacotes (natildeo soacute osseus proacuteprios) passando pelo adaptador de rede qualquer um pode tra-duzir Base64 para ASCII (como vocecirc acabou de fazer) Deve estar claroque senhas simples em sites WWW natildeo satildeo seguros a natildeo ser que me-didas adicionais sejam tomadasNatildeo tema Como veremos no capiacutetulo 7 existem maneiras de fazer queacessos WWW sejam mais seguros De qualquer modo noacutes claramenteprecisamos de algo que vaacute aleacutem da autentificaccedilatildeo baacutesica de HTTP

QUESTOtildeES PREPARATOacuteRIAS PARA A SEGUNDATAREFA

20 O que o cabeccedilalho ldquoConnection closerdquo e ldquoConnection Keep-aliverdquoimplicam no protocolo HTTP Quando uma delas deve ser usada ao inveacutesda outra

Tarefa E Para a questatildeo 20 primeiro escreva um breve poreacutem precisoparaacutegrafo que responda a questatildeo acima entatildeo escreva um paraacutegrafoexplicando e discutindo como essas observaccedilotildees podem ser uacuteteis para aproacutexima tarefa

Demonstraccedilatildeo e relatoacuterios Para essa tarefa vocecirc vai precisar escre-ver um relatoacuterio que cuidadosamente responda as questotildees 1-17 e 20e escreva um paraacutegrafo discutindo cada grupo de questotildees 1-7 (TarefaA) 8-11 (Tarefa B) 12-15 (Tarefa C) 16-17 (Tarefa D) e 20 (Tarefa E)Note que cada grupo de questotildees tem um tema e vocecirc deve convencero leitor que seu relatoacuterio (incluindo vocecirc se vocecirc ler seus documentosmesessemanas depois) que vocecirc entende esses aspectos do HTTP Porfavor estruture seu relatoacuterio de modo que suas respostas estejam clara-mente indicadas para cada questatildeo (e sessatildeo) Questotildees e respostascorrespondentes devem estar claramente indicadas Estruture seu relatoacute-rio Aleacutem disso suas respostas devem ser explicadas e apoiadas usandoinformaccedilotildees adicionais quando aplicaacutevel Durante a demonstraccedilatildeo po-dem ser feitas questotildees similares para obtermos a certeza de que vocecirc

QUESTOtildeES PREPARATOacuteRIAS PARA A SEGUNDA TAREFA 14

compreendeu todo esse laboratoacuterio Vocecirc deve explicar claramente suasrespostas Como os relatoacuterios satildeo feitos em duplas ambos os membrosresponderatildeo perguntas

Instruccedilotildees adicionais podem ser encontradas aquilink

Page 11: LABORATÓRIO WIRESHARK HTTP - MAURO OLIVEIRA · PDF fileWIRESHARK - HTTP 1 WIRESHARK - HTTP Esse manual de laboratório é baseado em “Wireshark Lab: HTTP”, versão 2.0 (setembro

RECUPERACcedilAtildeO DE DOCUMENTOS LONGOS 10

mudou (e aplicou) as mudanccedilas no filtro que mostra apenas os pacotesselecionados

A janela do Wireshark durante o fluxo TCP

Questotildees praacuteticas

12 Quantas mensagens de requisiccedilatildeo HTTP GET foram enviadaspelo seu navegador

13 Quantos segmentos TCP contendo dados satildeo necessaacuterios paracarregar essa uacutenica resposta HTTP

14 Qual o status e a frase associada com a requisiccedilatildeo HTTP GET

15 Existe alguma informaccedilatildeo de cabeccedilalho HTTP nos dados associ-ados com a segmentaccedilatildeo TCP

Tarefa C Para as questotildees de 12 agrave 15 primeiro escreva uma respostabreve poreacutem precisa para cada questatildeo acima entatildeo escreva um paraacute-

DOCUMENTOS HTML COM OBJETOS EMBUTIDOS 11

grafo explicando suas observaccedilotildees das questotildees praacuteticas Note que suaresposta pode se beneficiar da explicaccedilatildeo eou referecircncias de algumas desuas observaccedilotildees expliacutecitas

DOCUMENTOS HTML COM OBJETOS EMBUTI-DOS

Agora que vimos como o Wireshark mostra o traacutefego de captura depacotes para arquivos HTML grandes podemos olhar o que acontecequando seu navegador baixa um arquivo com objetos embutidos comoum arquivo que incluem outros objetos (no exemplo a seguir imagens)que estatildeo armazenados em outro servidor Faccedila o seguinte

1Inicie seu navegador e tenha certeza de que o cache estaacute limpocomo discutido acima2Comece o Wireshark packet sniffer3Entre com a seguinte URL no seu navegador link Seu navegador devemostrar um arquivo HTML curto com duas imagens Essas duas imagenssatildeo referenciadas na base do arquivo HTML Isso eacute as imahens natildeo es-tatildeo contidas no HTML no lugar disso URLs para o conteuacutedo das imagenssatildeo baixadas no arquivo HTML Como discutido no livro seu navegadorvai recuperar esses logos de sites indicados Nosso logo eacute recuperado dolink wwwaw-bccom A imagem da capa do nosso livro eacute armazenada noservidor maniccsumassedu4Pare a captura de pacotes do Wireshark e digite ldquohttprdquo no filtro de espe-cificaccedilotildees assim apenas as mensagens HTTP capturadas seratildeo mostra-das Nota Se vocecirc natildeo pode executar o Wireshark em uma conexatildeo detempo real vocecirc pode usar o pacote http-ethereal-trace-4 para responderas questotildees abaixo veja aqui link Esse arquivo foi montado seguindo ospassos acima)

Questotildees praacuteticas

16 Quantas requisiccedilotildees HTTP GET foram enviadas pelo seu navega-dor Para quais endereccedilos essas requisiccedilotildees GET foram enviadas

17 Vocecirc pode dizer se o seu navegador baixou as duas imagens emseacuterie ou se elas foram baixadas dos dois sites em paralelo ExpliqueTarefa D Para as questotildees de 16 agrave 17 primeiro escreva uma resposta

AUTENTICACcedilAtildeO HTTP 12

breve poreacutem precisa para cada questatildeo acima entatildeo escreva um paraacute-grafo explicando suas observaccedilotildees das questotildees praacuteticas Note que suaresposta pode se beneficiar da explicaccedilatildeo eou referecircncias de algumas desuas observaccedilotildees expliacutecitas

AUTENTICACcedilAtildeO HTTP

Finalmente vamos visitar um site protegido por senha e examinar asequecircncia de mensagens HTTP trocadas com esse site A URL link eacuteprotegida por senha O username eacute ldquowireshark-studentsrdquo (sem as aspas)e a senha eacute ldquonetworkrdquo (novamente sem as aspas) Entatildeo vamos acessaresse site protegido por senha ldquosegurordquo Faccedila o seguinte

1Inicie seu navegador e tenha certeza de que o cache estaacute limpocomo discutido acima2Comece o Wireshark packet sniffer3Entre com a seguinte URL no seu navegador link Digite o username e opassword na janela pop up4Pare a captura de pacotes do Wireshark e digite ldquohttprdquo no filtro de espe-cificaccedilotildees assim apenas as mensagens HTTP capturadas seratildeo mostra-dasNota Se vocecirc natildeo pode executar o Wireshark em uma conexatildeo de temporeal vocecirc pode usar o pacote http-ethereal-trace-5 para responder asquestotildees abaixo veja aqui link Esse arquivo foi montado seguindo os pas-sos acima)Agora vamos examinar a saiacuteda de dados do Wireshark Vocecirc pode que-rer ler primeiro sobre autentificaccedilatildeo HTTP revendo o material em ldquoHTTPAcess Athentication Frameworkrdquo em httpfrontieruserlandcomstoriesstoryReaderQuestotildees praacuteticas (natildeo precisam ser respondidas explicitamente)18 Qual eacute a resposta do servidor (status e frase) em resposta a mensa-gem inicial de HTTP GET do seu navegador19 Quando seu navegador envia uma mensagem HTTP GET pela se-gunda vez qual eacute o novo campo incluiacutedo na mensagem HTTP GETVocecirc natildeo precisa relatar as questotildees 18 e 19 de qualquer modo sinta-se livre para redigir um paraacutegrafo explicando e discutindo suas observa-ccedilotildees sobre as questotildees praacuteticas acima O username e a senha que vocecircforneceu satildeo codificadas na string de caracteres seguindo o cabeccedilalholdquoAuthorization Basicrdquo na mensagem HTTP do cliente Enquanto podeparecer que o seu username e senha estatildeo e criptografados eles estatildeosimplesmente codificados em um formato conhecido como Base64 O

QUESTOtildeES PREPARATOacuteRIAS PARA A SEGUNDA TAREFA 13

username e a senha natildeo estatildeo criptografados Para ver isso vaacute parahttpgtoolsorgtoolbase64-encode-decode e enyte com a string de co-dificaccedilatildeo base64 d2lyZXNoYXJrLXN0dWRlbnRz dentro da caixa ldquoDecodefrom base64rdquo e pressione ldquoGordquo Voila Vocecirc traduziu de base64 para co-dificaccedilatildeo ASCII e entatildeo pode ver seu username Para ver a senha entrecom a string Om5ldHdvcms= e pressione ldquodecoderdquo Jaacute que qualquer umpode baixar ferramentas como o Wireshark e rastrear pacotes (natildeo soacute osseus proacuteprios) passando pelo adaptador de rede qualquer um pode tra-duzir Base64 para ASCII (como vocecirc acabou de fazer) Deve estar claroque senhas simples em sites WWW natildeo satildeo seguros a natildeo ser que me-didas adicionais sejam tomadasNatildeo tema Como veremos no capiacutetulo 7 existem maneiras de fazer queacessos WWW sejam mais seguros De qualquer modo noacutes claramenteprecisamos de algo que vaacute aleacutem da autentificaccedilatildeo baacutesica de HTTP

QUESTOtildeES PREPARATOacuteRIAS PARA A SEGUNDATAREFA

20 O que o cabeccedilalho ldquoConnection closerdquo e ldquoConnection Keep-aliverdquoimplicam no protocolo HTTP Quando uma delas deve ser usada ao inveacutesda outra

Tarefa E Para a questatildeo 20 primeiro escreva um breve poreacutem precisoparaacutegrafo que responda a questatildeo acima entatildeo escreva um paraacutegrafoexplicando e discutindo como essas observaccedilotildees podem ser uacuteteis para aproacutexima tarefa

Demonstraccedilatildeo e relatoacuterios Para essa tarefa vocecirc vai precisar escre-ver um relatoacuterio que cuidadosamente responda as questotildees 1-17 e 20e escreva um paraacutegrafo discutindo cada grupo de questotildees 1-7 (TarefaA) 8-11 (Tarefa B) 12-15 (Tarefa C) 16-17 (Tarefa D) e 20 (Tarefa E)Note que cada grupo de questotildees tem um tema e vocecirc deve convencero leitor que seu relatoacuterio (incluindo vocecirc se vocecirc ler seus documentosmesessemanas depois) que vocecirc entende esses aspectos do HTTP Porfavor estruture seu relatoacuterio de modo que suas respostas estejam clara-mente indicadas para cada questatildeo (e sessatildeo) Questotildees e respostascorrespondentes devem estar claramente indicadas Estruture seu relatoacute-rio Aleacutem disso suas respostas devem ser explicadas e apoiadas usandoinformaccedilotildees adicionais quando aplicaacutevel Durante a demonstraccedilatildeo po-dem ser feitas questotildees similares para obtermos a certeza de que vocecirc

QUESTOtildeES PREPARATOacuteRIAS PARA A SEGUNDA TAREFA 14

compreendeu todo esse laboratoacuterio Vocecirc deve explicar claramente suasrespostas Como os relatoacuterios satildeo feitos em duplas ambos os membrosresponderatildeo perguntas

Instruccedilotildees adicionais podem ser encontradas aquilink

Page 12: LABORATÓRIO WIRESHARK HTTP - MAURO OLIVEIRA · PDF fileWIRESHARK - HTTP 1 WIRESHARK - HTTP Esse manual de laboratório é baseado em “Wireshark Lab: HTTP”, versão 2.0 (setembro

DOCUMENTOS HTML COM OBJETOS EMBUTIDOS 11

grafo explicando suas observaccedilotildees das questotildees praacuteticas Note que suaresposta pode se beneficiar da explicaccedilatildeo eou referecircncias de algumas desuas observaccedilotildees expliacutecitas

DOCUMENTOS HTML COM OBJETOS EMBUTI-DOS

Agora que vimos como o Wireshark mostra o traacutefego de captura depacotes para arquivos HTML grandes podemos olhar o que acontecequando seu navegador baixa um arquivo com objetos embutidos comoum arquivo que incluem outros objetos (no exemplo a seguir imagens)que estatildeo armazenados em outro servidor Faccedila o seguinte

1Inicie seu navegador e tenha certeza de que o cache estaacute limpocomo discutido acima2Comece o Wireshark packet sniffer3Entre com a seguinte URL no seu navegador link Seu navegador devemostrar um arquivo HTML curto com duas imagens Essas duas imagenssatildeo referenciadas na base do arquivo HTML Isso eacute as imahens natildeo es-tatildeo contidas no HTML no lugar disso URLs para o conteuacutedo das imagenssatildeo baixadas no arquivo HTML Como discutido no livro seu navegadorvai recuperar esses logos de sites indicados Nosso logo eacute recuperado dolink wwwaw-bccom A imagem da capa do nosso livro eacute armazenada noservidor maniccsumassedu4Pare a captura de pacotes do Wireshark e digite ldquohttprdquo no filtro de espe-cificaccedilotildees assim apenas as mensagens HTTP capturadas seratildeo mostra-das Nota Se vocecirc natildeo pode executar o Wireshark em uma conexatildeo detempo real vocecirc pode usar o pacote http-ethereal-trace-4 para responderas questotildees abaixo veja aqui link Esse arquivo foi montado seguindo ospassos acima)

Questotildees praacuteticas

16 Quantas requisiccedilotildees HTTP GET foram enviadas pelo seu navega-dor Para quais endereccedilos essas requisiccedilotildees GET foram enviadas

17 Vocecirc pode dizer se o seu navegador baixou as duas imagens emseacuterie ou se elas foram baixadas dos dois sites em paralelo ExpliqueTarefa D Para as questotildees de 16 agrave 17 primeiro escreva uma resposta

AUTENTICACcedilAtildeO HTTP 12

breve poreacutem precisa para cada questatildeo acima entatildeo escreva um paraacute-grafo explicando suas observaccedilotildees das questotildees praacuteticas Note que suaresposta pode se beneficiar da explicaccedilatildeo eou referecircncias de algumas desuas observaccedilotildees expliacutecitas

AUTENTICACcedilAtildeO HTTP

Finalmente vamos visitar um site protegido por senha e examinar asequecircncia de mensagens HTTP trocadas com esse site A URL link eacuteprotegida por senha O username eacute ldquowireshark-studentsrdquo (sem as aspas)e a senha eacute ldquonetworkrdquo (novamente sem as aspas) Entatildeo vamos acessaresse site protegido por senha ldquosegurordquo Faccedila o seguinte

1Inicie seu navegador e tenha certeza de que o cache estaacute limpocomo discutido acima2Comece o Wireshark packet sniffer3Entre com a seguinte URL no seu navegador link Digite o username e opassword na janela pop up4Pare a captura de pacotes do Wireshark e digite ldquohttprdquo no filtro de espe-cificaccedilotildees assim apenas as mensagens HTTP capturadas seratildeo mostra-dasNota Se vocecirc natildeo pode executar o Wireshark em uma conexatildeo de temporeal vocecirc pode usar o pacote http-ethereal-trace-5 para responder asquestotildees abaixo veja aqui link Esse arquivo foi montado seguindo os pas-sos acima)Agora vamos examinar a saiacuteda de dados do Wireshark Vocecirc pode que-rer ler primeiro sobre autentificaccedilatildeo HTTP revendo o material em ldquoHTTPAcess Athentication Frameworkrdquo em httpfrontieruserlandcomstoriesstoryReaderQuestotildees praacuteticas (natildeo precisam ser respondidas explicitamente)18 Qual eacute a resposta do servidor (status e frase) em resposta a mensa-gem inicial de HTTP GET do seu navegador19 Quando seu navegador envia uma mensagem HTTP GET pela se-gunda vez qual eacute o novo campo incluiacutedo na mensagem HTTP GETVocecirc natildeo precisa relatar as questotildees 18 e 19 de qualquer modo sinta-se livre para redigir um paraacutegrafo explicando e discutindo suas observa-ccedilotildees sobre as questotildees praacuteticas acima O username e a senha que vocecircforneceu satildeo codificadas na string de caracteres seguindo o cabeccedilalholdquoAuthorization Basicrdquo na mensagem HTTP do cliente Enquanto podeparecer que o seu username e senha estatildeo e criptografados eles estatildeosimplesmente codificados em um formato conhecido como Base64 O

QUESTOtildeES PREPARATOacuteRIAS PARA A SEGUNDA TAREFA 13

username e a senha natildeo estatildeo criptografados Para ver isso vaacute parahttpgtoolsorgtoolbase64-encode-decode e enyte com a string de co-dificaccedilatildeo base64 d2lyZXNoYXJrLXN0dWRlbnRz dentro da caixa ldquoDecodefrom base64rdquo e pressione ldquoGordquo Voila Vocecirc traduziu de base64 para co-dificaccedilatildeo ASCII e entatildeo pode ver seu username Para ver a senha entrecom a string Om5ldHdvcms= e pressione ldquodecoderdquo Jaacute que qualquer umpode baixar ferramentas como o Wireshark e rastrear pacotes (natildeo soacute osseus proacuteprios) passando pelo adaptador de rede qualquer um pode tra-duzir Base64 para ASCII (como vocecirc acabou de fazer) Deve estar claroque senhas simples em sites WWW natildeo satildeo seguros a natildeo ser que me-didas adicionais sejam tomadasNatildeo tema Como veremos no capiacutetulo 7 existem maneiras de fazer queacessos WWW sejam mais seguros De qualquer modo noacutes claramenteprecisamos de algo que vaacute aleacutem da autentificaccedilatildeo baacutesica de HTTP

QUESTOtildeES PREPARATOacuteRIAS PARA A SEGUNDATAREFA

20 O que o cabeccedilalho ldquoConnection closerdquo e ldquoConnection Keep-aliverdquoimplicam no protocolo HTTP Quando uma delas deve ser usada ao inveacutesda outra

Tarefa E Para a questatildeo 20 primeiro escreva um breve poreacutem precisoparaacutegrafo que responda a questatildeo acima entatildeo escreva um paraacutegrafoexplicando e discutindo como essas observaccedilotildees podem ser uacuteteis para aproacutexima tarefa

Demonstraccedilatildeo e relatoacuterios Para essa tarefa vocecirc vai precisar escre-ver um relatoacuterio que cuidadosamente responda as questotildees 1-17 e 20e escreva um paraacutegrafo discutindo cada grupo de questotildees 1-7 (TarefaA) 8-11 (Tarefa B) 12-15 (Tarefa C) 16-17 (Tarefa D) e 20 (Tarefa E)Note que cada grupo de questotildees tem um tema e vocecirc deve convencero leitor que seu relatoacuterio (incluindo vocecirc se vocecirc ler seus documentosmesessemanas depois) que vocecirc entende esses aspectos do HTTP Porfavor estruture seu relatoacuterio de modo que suas respostas estejam clara-mente indicadas para cada questatildeo (e sessatildeo) Questotildees e respostascorrespondentes devem estar claramente indicadas Estruture seu relatoacute-rio Aleacutem disso suas respostas devem ser explicadas e apoiadas usandoinformaccedilotildees adicionais quando aplicaacutevel Durante a demonstraccedilatildeo po-dem ser feitas questotildees similares para obtermos a certeza de que vocecirc

QUESTOtildeES PREPARATOacuteRIAS PARA A SEGUNDA TAREFA 14

compreendeu todo esse laboratoacuterio Vocecirc deve explicar claramente suasrespostas Como os relatoacuterios satildeo feitos em duplas ambos os membrosresponderatildeo perguntas

Instruccedilotildees adicionais podem ser encontradas aquilink

Page 13: LABORATÓRIO WIRESHARK HTTP - MAURO OLIVEIRA · PDF fileWIRESHARK - HTTP 1 WIRESHARK - HTTP Esse manual de laboratório é baseado em “Wireshark Lab: HTTP”, versão 2.0 (setembro

AUTENTICACcedilAtildeO HTTP 12

breve poreacutem precisa para cada questatildeo acima entatildeo escreva um paraacute-grafo explicando suas observaccedilotildees das questotildees praacuteticas Note que suaresposta pode se beneficiar da explicaccedilatildeo eou referecircncias de algumas desuas observaccedilotildees expliacutecitas

AUTENTICACcedilAtildeO HTTP

Finalmente vamos visitar um site protegido por senha e examinar asequecircncia de mensagens HTTP trocadas com esse site A URL link eacuteprotegida por senha O username eacute ldquowireshark-studentsrdquo (sem as aspas)e a senha eacute ldquonetworkrdquo (novamente sem as aspas) Entatildeo vamos acessaresse site protegido por senha ldquosegurordquo Faccedila o seguinte

1Inicie seu navegador e tenha certeza de que o cache estaacute limpocomo discutido acima2Comece o Wireshark packet sniffer3Entre com a seguinte URL no seu navegador link Digite o username e opassword na janela pop up4Pare a captura de pacotes do Wireshark e digite ldquohttprdquo no filtro de espe-cificaccedilotildees assim apenas as mensagens HTTP capturadas seratildeo mostra-dasNota Se vocecirc natildeo pode executar o Wireshark em uma conexatildeo de temporeal vocecirc pode usar o pacote http-ethereal-trace-5 para responder asquestotildees abaixo veja aqui link Esse arquivo foi montado seguindo os pas-sos acima)Agora vamos examinar a saiacuteda de dados do Wireshark Vocecirc pode que-rer ler primeiro sobre autentificaccedilatildeo HTTP revendo o material em ldquoHTTPAcess Athentication Frameworkrdquo em httpfrontieruserlandcomstoriesstoryReaderQuestotildees praacuteticas (natildeo precisam ser respondidas explicitamente)18 Qual eacute a resposta do servidor (status e frase) em resposta a mensa-gem inicial de HTTP GET do seu navegador19 Quando seu navegador envia uma mensagem HTTP GET pela se-gunda vez qual eacute o novo campo incluiacutedo na mensagem HTTP GETVocecirc natildeo precisa relatar as questotildees 18 e 19 de qualquer modo sinta-se livre para redigir um paraacutegrafo explicando e discutindo suas observa-ccedilotildees sobre as questotildees praacuteticas acima O username e a senha que vocecircforneceu satildeo codificadas na string de caracteres seguindo o cabeccedilalholdquoAuthorization Basicrdquo na mensagem HTTP do cliente Enquanto podeparecer que o seu username e senha estatildeo e criptografados eles estatildeosimplesmente codificados em um formato conhecido como Base64 O

QUESTOtildeES PREPARATOacuteRIAS PARA A SEGUNDA TAREFA 13

username e a senha natildeo estatildeo criptografados Para ver isso vaacute parahttpgtoolsorgtoolbase64-encode-decode e enyte com a string de co-dificaccedilatildeo base64 d2lyZXNoYXJrLXN0dWRlbnRz dentro da caixa ldquoDecodefrom base64rdquo e pressione ldquoGordquo Voila Vocecirc traduziu de base64 para co-dificaccedilatildeo ASCII e entatildeo pode ver seu username Para ver a senha entrecom a string Om5ldHdvcms= e pressione ldquodecoderdquo Jaacute que qualquer umpode baixar ferramentas como o Wireshark e rastrear pacotes (natildeo soacute osseus proacuteprios) passando pelo adaptador de rede qualquer um pode tra-duzir Base64 para ASCII (como vocecirc acabou de fazer) Deve estar claroque senhas simples em sites WWW natildeo satildeo seguros a natildeo ser que me-didas adicionais sejam tomadasNatildeo tema Como veremos no capiacutetulo 7 existem maneiras de fazer queacessos WWW sejam mais seguros De qualquer modo noacutes claramenteprecisamos de algo que vaacute aleacutem da autentificaccedilatildeo baacutesica de HTTP

QUESTOtildeES PREPARATOacuteRIAS PARA A SEGUNDATAREFA

20 O que o cabeccedilalho ldquoConnection closerdquo e ldquoConnection Keep-aliverdquoimplicam no protocolo HTTP Quando uma delas deve ser usada ao inveacutesda outra

Tarefa E Para a questatildeo 20 primeiro escreva um breve poreacutem precisoparaacutegrafo que responda a questatildeo acima entatildeo escreva um paraacutegrafoexplicando e discutindo como essas observaccedilotildees podem ser uacuteteis para aproacutexima tarefa

Demonstraccedilatildeo e relatoacuterios Para essa tarefa vocecirc vai precisar escre-ver um relatoacuterio que cuidadosamente responda as questotildees 1-17 e 20e escreva um paraacutegrafo discutindo cada grupo de questotildees 1-7 (TarefaA) 8-11 (Tarefa B) 12-15 (Tarefa C) 16-17 (Tarefa D) e 20 (Tarefa E)Note que cada grupo de questotildees tem um tema e vocecirc deve convencero leitor que seu relatoacuterio (incluindo vocecirc se vocecirc ler seus documentosmesessemanas depois) que vocecirc entende esses aspectos do HTTP Porfavor estruture seu relatoacuterio de modo que suas respostas estejam clara-mente indicadas para cada questatildeo (e sessatildeo) Questotildees e respostascorrespondentes devem estar claramente indicadas Estruture seu relatoacute-rio Aleacutem disso suas respostas devem ser explicadas e apoiadas usandoinformaccedilotildees adicionais quando aplicaacutevel Durante a demonstraccedilatildeo po-dem ser feitas questotildees similares para obtermos a certeza de que vocecirc

QUESTOtildeES PREPARATOacuteRIAS PARA A SEGUNDA TAREFA 14

compreendeu todo esse laboratoacuterio Vocecirc deve explicar claramente suasrespostas Como os relatoacuterios satildeo feitos em duplas ambos os membrosresponderatildeo perguntas

Instruccedilotildees adicionais podem ser encontradas aquilink

Page 14: LABORATÓRIO WIRESHARK HTTP - MAURO OLIVEIRA · PDF fileWIRESHARK - HTTP 1 WIRESHARK - HTTP Esse manual de laboratório é baseado em “Wireshark Lab: HTTP”, versão 2.0 (setembro

QUESTOtildeES PREPARATOacuteRIAS PARA A SEGUNDA TAREFA 13

username e a senha natildeo estatildeo criptografados Para ver isso vaacute parahttpgtoolsorgtoolbase64-encode-decode e enyte com a string de co-dificaccedilatildeo base64 d2lyZXNoYXJrLXN0dWRlbnRz dentro da caixa ldquoDecodefrom base64rdquo e pressione ldquoGordquo Voila Vocecirc traduziu de base64 para co-dificaccedilatildeo ASCII e entatildeo pode ver seu username Para ver a senha entrecom a string Om5ldHdvcms= e pressione ldquodecoderdquo Jaacute que qualquer umpode baixar ferramentas como o Wireshark e rastrear pacotes (natildeo soacute osseus proacuteprios) passando pelo adaptador de rede qualquer um pode tra-duzir Base64 para ASCII (como vocecirc acabou de fazer) Deve estar claroque senhas simples em sites WWW natildeo satildeo seguros a natildeo ser que me-didas adicionais sejam tomadasNatildeo tema Como veremos no capiacutetulo 7 existem maneiras de fazer queacessos WWW sejam mais seguros De qualquer modo noacutes claramenteprecisamos de algo que vaacute aleacutem da autentificaccedilatildeo baacutesica de HTTP

QUESTOtildeES PREPARATOacuteRIAS PARA A SEGUNDATAREFA

20 O que o cabeccedilalho ldquoConnection closerdquo e ldquoConnection Keep-aliverdquoimplicam no protocolo HTTP Quando uma delas deve ser usada ao inveacutesda outra

Tarefa E Para a questatildeo 20 primeiro escreva um breve poreacutem precisoparaacutegrafo que responda a questatildeo acima entatildeo escreva um paraacutegrafoexplicando e discutindo como essas observaccedilotildees podem ser uacuteteis para aproacutexima tarefa

Demonstraccedilatildeo e relatoacuterios Para essa tarefa vocecirc vai precisar escre-ver um relatoacuterio que cuidadosamente responda as questotildees 1-17 e 20e escreva um paraacutegrafo discutindo cada grupo de questotildees 1-7 (TarefaA) 8-11 (Tarefa B) 12-15 (Tarefa C) 16-17 (Tarefa D) e 20 (Tarefa E)Note que cada grupo de questotildees tem um tema e vocecirc deve convencero leitor que seu relatoacuterio (incluindo vocecirc se vocecirc ler seus documentosmesessemanas depois) que vocecirc entende esses aspectos do HTTP Porfavor estruture seu relatoacuterio de modo que suas respostas estejam clara-mente indicadas para cada questatildeo (e sessatildeo) Questotildees e respostascorrespondentes devem estar claramente indicadas Estruture seu relatoacute-rio Aleacutem disso suas respostas devem ser explicadas e apoiadas usandoinformaccedilotildees adicionais quando aplicaacutevel Durante a demonstraccedilatildeo po-dem ser feitas questotildees similares para obtermos a certeza de que vocecirc

QUESTOtildeES PREPARATOacuteRIAS PARA A SEGUNDA TAREFA 14

compreendeu todo esse laboratoacuterio Vocecirc deve explicar claramente suasrespostas Como os relatoacuterios satildeo feitos em duplas ambos os membrosresponderatildeo perguntas

Instruccedilotildees adicionais podem ser encontradas aquilink

Page 15: LABORATÓRIO WIRESHARK HTTP - MAURO OLIVEIRA · PDF fileWIRESHARK - HTTP 1 WIRESHARK - HTTP Esse manual de laboratório é baseado em “Wireshark Lab: HTTP”, versão 2.0 (setembro

QUESTOtildeES PREPARATOacuteRIAS PARA A SEGUNDA TAREFA 14

compreendeu todo esse laboratoacuterio Vocecirc deve explicar claramente suasrespostas Como os relatoacuterios satildeo feitos em duplas ambos os membrosresponderatildeo perguntas

Instruccedilotildees adicionais podem ser encontradas aquilink