pdf

Propaganda
BC1513 – Redes de Computadores
Prof. João Henrique Kleinschmidt
Aula Prática 3 – Wireshark – Protocolos HTTP-DNS-UDP
O Wireshark é um analisador de protocolos (sniffer), distribuído gratuitamente, a partir
do endereço http://www.wireshark.com. Ele pode ser executado em diversas
plataformas, incluindo sistemas Unix e Windows.
1. Capturando pacotes
Abra o Wireshark e ative a captura de pacotes (Menu CaptureInterfaces).
Na opção “interface”, escolha a interface Ethernet.
Identifique a interface Ethernet; em opções (Options) seleciona a opção “enable
network name resolution”.
Inicie a captura (pressionando em Start).
Acesse a rede por alguns segundos (exemplo: acesse o site www.uol.com.br). Não é
necessário muito tempo (basta acessar uma única página).
Pare a captura de pacotes clicando no botão Stop da janela de captura.
A interface do Wireshark é dividida em três partes.
 A primeira contém uma relação dos pacotes capturados, um por linha. Selecione
um dos pacotes.
 A segunda contém informações sobre o pacote que está selecionado, onde cada
linha contém um protocolo, na ordem em que eles são empilhados. Dentro de
cada protocolo, são mostrados os campos do seu cabeçalho.
 A terceira parte contém os dados, ou seja, a carga útil (payload) do pacote, que
será utilizada pela aplicação. A carga útil é apresentada no formato hexadecimal
e o seu correspondente para ASCII.
Selecione os vários pacotes e observe os seus campos e valores.
Para os exercícios utilize o Wireshark para capturar os pacotes.
2.
HTTP
2.1 Interação básica HTTP
Acesse a página http://news.mit.edu/2017/tim-berners-lee-wins-turing-award-0404
Aplique o filtro HTTP para ver apenas os pacotes do protocolo HTTP.
Observe os pacotes capturados e identifique:
Versão do HTTP do navegador e do servidor web acessado.
Línguas que o navegador aceita.
IP do seu computador e do servidor.
Código de status retornado do servidor para o navegador.
HTTP persistente ou não persistente.
Última modificação do arquivo HTML do servidor.
Número de bytes de conteúdo retornado ao navegador.
Analise os dados (raw data) do pacote e descreva o que é possível observar.
Repita os procedimentos para outro site web escolhido por você.
2.2 GET Condicional
Limpe o cache do seu navegador.
Acesse o site: http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file2.html
Verifique o conteúdo da primeira requisição GET. É possível ver “IF-MODIFIEDSINCE” no HTTP GET?
Verifique a resposta do servidor. O servidor retorna o conteúdo do arquivo?
Verifique a segunda requisição GET. É possível ver “IF-MODIFIED-SINCE” no HTTP
GET? Explique.
Verifique a resposta do servidor ao segundo GET. O servidor retorna o conteúdo do
arquivo? Explique.
2.3 HTML com objetos
Acesse o site: http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file4.html
Quantas requisições HTTP GET foram feitas pelo navegador? Para qual endereço IP
estas requisições foram feitas?
Repita os procedimentos para outro site web escolhido por você.
2.4 Autenticação HTTP
Acesse o site: http://gaia.cs.umass.edu/wireshark-labs/protected_pages/HTTPwireshark-file5.html
Nome de usuário: wireshark-students
Senha: network
Qual a resposta do servidor ao HTTP GET inicial do navegador?
Na segunda mensagem GET do navegador, qual novo campo é incluído na mensagem
GET?
É possível visualizar o nome de usuário e senha no pacote capturado pelo wireshark?
Discuta sobre a segurança desta autenticação HTTP.
3. DNS
3.1 Acesse o site https://www.w3.org/
Localize as mensagens DNS. São enviadas sobre TCP ou UDP?
Identifique a porta de destino da mensagem query DNS e a porta de origem da
mensagem de resposta do DNS.
Identifique o endereço IP para qual a mensagem de query do DNS foi enviada. Use
ipconfig para determinar seu servidor DNS local. Estes dois endereços são iguais?
Examine a resposta DNS. Quantas “respostas” foram dadas? Qual o conteúdo destas
respostas?
Considere o pacote TCP SYN subsequente enviado pelo navegador. O IP de destino do
pacote TCP SYN corresponde ao endereço IP fornecido pela mensagem de resposta
DNS?
Esta página contém imagens. Antes de requisitar cada imagem, seu host faz novas
queries DNS?
3.2 Usando nslookup
A sintaxe do comando nslookup é:
nslookup –option1 –option2 host-to-find dns-server
Em geral, nslookup pode ser executado com zero, uma, duas ou mais opções. O servidor
DNS também é opcional; se não for indicado, a query é enviada ao servidor DNS local.
Execute o comando
nslookup www.ucla.edu (busca endereço IP de www.ucla.edu)
Identifique a porta de destino da mensagem query DNS e a porta de origem da
mensagem de resposta do DNS.
Identifique o endereço IP para qual a mensagem de query do DNS foi enviada. Use
ipconfig para determinar seu servidor DNS local. Estes dois endereços são iguais?
Examine a mensagem query DNS.
Examine a resposta DNS. Quantas “respostas” foram dadas? Qual o conteúdo destas
respostas?
Repita o procedimento para buscar o IP de outro site da web.
Execute o seguinte comando:
nslookup wikipedia.org ns1.wikimedia.org
Identifique o endereço IP para qual a mensagem de query do DNS foi enviada. Este
endereço IP é o mesmo do seu servidor DNS local? Caso contrário, esse endereço IP
corresponde a que servidor?
Examine a mensagem query DNS.
Examine a resposta DNS. Quantas “respostas” foram dadas? Qual o conteúdo destas
respostas?
É uma resposta autoritativa (authoritative) ou não autoritativa (non-authoritative)?
Explique.
4. UDP
Execute a aplicação socket UDP cliente/servidor em Java (ou outra linguagem). Envie
uma mensagem de um cliente para o servidor (em outra máquina do laboratório).
Capture os pacotes enviados com o Wireshark.
Selecione um pacote UDP. Quantos e quais são os campos do cabeçalho do pacote?
O valor no campo length (comprimento) é o comprimento do que? Do cabeçalho, dados
ou do pacote UDP inteiro?
Qual o maior número possível de porta de origem no UDP? E destino?
Qual é o número de protocolo para o UDP? (Para responder, você precisa verificar no
cabeçalho IP).
Examine um par de pacotes UDP em que o primeiro pacote é enviado pelo cliente e o
segundo pacote é a resposta do servidor a este pacote. Descreva a relação entre os
números de portas nos dois pacotes.
Download