Você está na página 1de 7

Laboratório Wireshark: DNS v7.

0
Suplemento para Rede de computadores: uma
abordagem de cima para baixo, 7º ed., JF Kurose e KW Ross

“Diga-me e eu esqueço. Mostre-me e eu lembro. Envolva-me e eu


entendo. ”provérbio chinês

© 2005-2016, JF Kurose e KW Ross, Todos os direitos reservados

Conforme descrito na Seção 2.4 do texto1, o Domain Name System (DNS) traduz nomes de host em
endereços IP, cumprindo um papel crítico na infraestrutura da Internet. Neste laboratório, daremos uma
olhada mais de perto no lado do cliente do DNS. Lembre-se de que a função do cliente no DNS é
relativamente simples - um cliente envia umconsulta para seu servidor DNS local e recebe um
resposta voltar. Conforme mostrado nas Figuras 2.19 e 2.20 no livro-texto, muito pode acontecer
“nos bastidores”, invisível para os clientes DNS, à medida que os servidores DNS hierárquicos se
comunicam entre si para resolver recursiva ou iterativamente a consulta DNS do cliente. Do ponto de
vista do cliente DNS, entretanto, o protocolo é bastante simples - uma consulta é formulada para o
servidor DNS local e uma resposta é recebida desse servidor.

Antes de iniciar este laboratório, você provavelmente desejará revisar o DNS lendo a Seção 2.4
do texto. Em particular, você pode querer revisar o material emservidores DNS locais, cache
DNS, registros e mensagens DNS, e a Campo TYPE no registro DNS.

1. nslookup

Neste laboratório, faremos uso extensivo do nslookup ferramenta, que está disponível na maioria
das plataformas Linux / Unix e Microsoft hoje. Para corrernslookup no Linux / Unix, basta digitar o
nslookup comando na linha de comando. Para executá-lo no Windows, abra o Prompt de Comando e
executenslookup na linha de comando.

Nele está a operação mais básica, nslookup ferramenta permite que o host que executa a ferramenta consulte
qualquer servidor DNS especificado para um registro DNS. O servidor DNS consultado pode ser um servidor
DNS raiz, um servidor DNS de domínio de nível superior, um servidor DNS autoritativo ou um servidor DNS
intermediário (consulte o livro para obter as definições desses termos). Para realizar esta tarefa,
nslookup envia uma consulta DNS ao servidor DNS especificado, recebe uma resposta DNS desse
mesmo servidor DNS e exibe o resultado.

1 As referências às figuras e seções são para os 7º edição do nosso texto, Redes de computadores, uma abordagem

de cima para baixo, 7º ed., JF Kurose e KW Ross, Addison-Wesley / Pearson, 2016.


A imagem acima mostra os resultados de três nslookup comandos (exibidos no prompt de
comando do Windows). Neste exemplo, o host do cliente está localizado no campus da
Polytechnic University em Brooklyn, onde o servidor DNS local padrão é dns-
prime.poly.edu. Ao corrernslookup, se nenhum servidor DNS for especificado, então
nslookup envia a consulta para o servidor DNS padrão, que neste caso é
dnsprime.poly.edu. Considere o primeiro comando:

nslookup www.mit.edu

Em outras palavras, este comando está dizendo “envie-me o endereço IP do host


www.mit.edu”. Conforme mostrado na captura de tela, a resposta desse comando fornece
duas informações: (1) o nome e o endereço IP do servidor DNS que fornece a resposta; e (2) a
própria resposta, que é o nome do host e o endereço IP de www.mit.edu. Embora a resposta
tenha vindo do servidor DNS local da Polytechnic University, é bem possível que esse servidor
DNS local tenha contatado iterativamente vários outros servidores DNS para obter a
resposta, conforme descrito na Seção 2.4 do livro-texto.

Agora considere o segundo comando:

nslookup –type = NS mit.edu

Neste exemplo, fornecemos a opção “-type = NS” e o domínio “mit.edu”. Isso faz com quenslookup
para enviar uma consulta para um registro do tipo NS para o servidor DNS local padrão. Em
palavras, a consulta está dizendo, “envie-me os nomes de host do DNS autorizado para mit.edu”.
(Quando a opção –type não é usada,nslookup usa o padrão, que é consultar os registros do tipo
A.) A resposta, exibida na captura de tela acima, indica primeiro o servidor DNS que está
fornecendo a resposta (que é o servidor DNS local padrão) junto com três servidores de nomes
MIT. Cada um desses servidores é de fato um servidor DNS autorizado para os hosts no campus
do MIT. No entanto,nslookup também indica que a resposta é “não autoritativa”, o que significa
que essa resposta veio do cache de algum servidor, e não de um servidor DNS MIT autorizado.
Finalmente, a resposta também inclui os endereços IP dos servidores DNS autorizados no MIT.
(Mesmo que a consulta tipo-NS gerada pornslookup não pediu explicitamente os endereços IP,
o servidor DNS local retornou-os "gratuitamente" e nslookup exibe o resultado.)

Agora, finalmente, considere o terceiro comando:

nslookup www.aiit.or.kr bitsy.mit.edu

Neste exemplo, indicamos que desejamos a consulta enviada ao servidor DNS bitsy.mit.edu em
vez de ao servidor DNS padrão (dns-prime.poly.edu). Portanto, a transação de consulta e
resposta ocorre diretamente entre nosso host de consulta e bitsy.mit.edu. Neste exemplo, o
servidor DNS bitsy.mit.edu fornece o endereço IP do host www.aiit.or.kr, que é um servidor da
web no Instituto Avançado de Tecnologia da Informação (na Coréia).

Agora que examinamos alguns exemplos ilustrativos, você talvez esteja se perguntando
sobre a sintaxe geral de nslookup comandos. A sintaxe é:

nslookup –option1 –option2 host-to-find dns-server

Em geral, nslookup pode ser executado com zero, uma, duas ou mais opções. E como vimos nos
exemplos acima, o dns-server também é opcional; se não for fornecido, a consulta será enviada
ao servidor DNS local padrão.

Agora que fornecemos uma visão geral de nslookup, é hora de você mesmo
testá-lo. Faça o seguinte (e anote os resultados):

1. Corra nslookup para obter o endereço IP de um servidor Web na Ásia. Qual é o endereço
IP desse servidor?
2. Corra nslookup para determinar os servidores DNS autorizados para uma universidade na
Europa.
3. Corra nslookup para que um dos servidores DNS obtidos na Questão 2 seja consultado para os servidores
de e-mail do Yahoo! correspondência. Qual é o seu endereço IP?

2. ipconfig

ipconfig (para Windows) e ifconfig (para Linux / Unix) estão entre os pequenos utilitários mais úteis em
seu host, especialmente para depurar problemas de rede. Aqui nós apenas descreveremos
ipconfig, embora o Linux / Unix ifconfig é muito semelhante. ipconfig pode ser usado para mostrar suas
informações TCP / IP atuais, incluindo seu endereço, endereços de servidor DNS, tipo de adaptador e
assim por diante. Por exemplo, se você todas essas informações sobre o seu host simplesmente inserindo

ipconfig \ all

no Prompt de Comando, conforme mostrado na captura de tela a seguir.

ipconfig também é muito útil para gerenciar as informações de DNS armazenadas em seu host. Na Seção
2.5, aprendemos que um host pode armazenar em cache os registros DNS que obteve recentemente. Para
ver esses registros em cache, após o prompt C: \>, forneça o seguinte comando:

ipconfig / displaydns

Cada entrada mostra o tempo de vida restante (TTL) em segundos. Para limpar o cache, digite

ipconfig / flushdns

Limpar o cache DNS limpa todas as entradas e recarrega as entradas do arquivo hosts.
3. Rastreando DNS com Wireshark

Agora que estamos familiarizados com nslookup e ipconfig, estamos prontos para começar um negócio
sério. Vamos primeiro capturar os pacotes DNS que são gerados pela atividade normal de navegação na
Web.

• Usar ipconfig para esvaziar o cache DNS em seu host.


• Abra seu navegador e esvazie o cache do navegador. (Com o Internet Explorer, vá ao menu
Ferramentas e selecione Opções da Internet; em seguida, na guia Geral, selecione Excluir
arquivos.)
• Abra o Wireshark e digite “ip.addr == your_IP_address” no filtro, onde você obtém
your_IP_address com ipconfig. Este filtro remove todos os pacotes que não se
originam nem são destinados ao seu host.
• Inicie a captura de pacotes no Wireshark.
• Com o seu navegador, visite a página da Web: http://www.ietf.org
• Pare a captura de pacotes.

Se você não conseguir executar o Wireshark em uma conexão de rede ativa, você pode baixar um arquivo de
rastreamento de pacote que foi capturado enquanto seguia as etapas acima em um dos computadores do autor2
Responda as seguintes questões. Sempre que possível, ao responder a uma pergunta abaixo, você deve entregar
uma impressão do (s) pacote (s) dentro do rastreamento que você usou para responder à pergunta feita. Faça
anotações na impressão3 para explicar sua resposta. Para imprimir um pacote, useArquivo-> Imprimir, escolher
Pacote selecionado apenas, escolher Linha de resumo do pacote, e selecione a quantidade mínima de detalhes
do pacote de que você precisa para responder à pergunta.

4. Localize a consulta DNS e as mensagens de resposta. Em seguida, são enviados por UDP ou TCP?
5. Qual é a porta de destino para a mensagem de consulta DNS? Qual é a porta de origem da
mensagem de resposta DNS?
6. Para qual endereço IP a mensagem de consulta de DNS é enviada? Use ipconfig para
determinar o endereço IP do seu servidor DNS local. Esses dois endereços IP são iguais?
7. Examine a mensagem de consulta DNS. Qual é o “tipo” de consulta DNS? A mensagem de
consulta contém alguma “resposta”?
8. Examine a mensagem de resposta DNS. Quantas “respostas” são fornecidas? O que
cada uma dessas respostas contém?

2 Baixe o arquivo zip http://gaia.cs.umass.edu/wireshark-labs/wireshark-traces.zipe extraia o arquivo dns-ethereal-trace-1. Os


rastreamentos neste arquivo zip foram coletados pelo Wireshark em execução em um dos computadores do autor, durante a
execução das etapas indicadas no laboratório do Wireshark. Depois de fazer o download do rastreamento, você pode carregá-lo
no Wireshark e visualizá-lo usando oArquivo menu suspenso, escolhendo Aberto, e, em seguida, selecionando o arquivo de
rastreamento dns-ethereal-trace-1.
3O que queremos dizer com “anotar”? Se você entregar uma cópia em papel, destaque onde na impressão você
encontrou a resposta e adicione algum texto (de preferência com uma caneta colorida), observando o que encontrou no
que destacou. Se você entregar uma cópia eletrônica, seria ótimo se você também pudesse destacar e fazer anotações.
9. Considere o pacote TCP SYN subsequente enviado por seu host. O endereço IP de
destino do pacote SYN corresponde a algum dos endereços IP fornecidos na
mensagem de resposta DNS?
10. Esta página da web contém imagens. Antes de recuperar cada imagem, seu host emite
novas consultas DNS?

Agora vamos brincar com nslookup4

• Inicie a captura de pacotes.


• Faça um nslookup em www.mit.edu
• Pare a captura de pacotes.

Você deve obter um rastreamento parecido com o seguinte:

Vemos na imagem acima que nslookup na verdade, enviou três consultas de DNS e recebeu três
respostas de DNS. Para o propósito desta tarefa, ao responder às seguintes perguntas, ignore os
primeiros dois conjuntos de perguntas / respostas, pois são específicos para
nslookup e normalmente não são gerados por aplicativos padrão da Internet. Em vez disso, você deve
se concentrar nas últimas mensagens de consulta e resposta.

4 Se você não conseguir executar o Wireshark e capturar um arquivo de rastreamento, use o arquivo de rastreamento dns-ethereal-

trace-2 no arquivo zip http://gaia.cs.umass.edu/wireshark-labs/wireshark-traces.zip


11. Qual é a porta de destino para a mensagem de consulta DNS? Qual é a porta de origem da
mensagem de resposta DNS?
12. Para qual endereço IP a mensagem de consulta de DNS é enviada? Este é o endereço IP do seu
servidor DNS local padrão?
13. Examine a mensagem de consulta DNS. Qual é o “tipo” de consulta DNS? A mensagem
de consulta contém alguma “resposta”?
14. Examine a mensagem de resposta DNS. Quantas “respostas” são fornecidas? O que cada
uma dessas respostas contém?
15. Forneça uma captura de tela.

Agora repita a experiência anterior, mas em vez disso emita o comando:

nslookup –type = NS mit.edu

Responda as seguintes questões5:

16. Para qual endereço IP a mensagem de consulta de DNS é enviada? Este é o endereço IP do seu
servidor DNS local padrão?
17. Examine a mensagem de consulta DNS. Qual é o “tipo” de consulta DNS? A mensagem
de consulta contém alguma “resposta”?
18. Examine a mensagem de resposta do DNS. Quais servidores de nomes do MIT a mensagem
de resposta fornece? Esta mensagem de resposta também fornece os endereços IP dos
nomes do MIT?
19. Forneça uma captura de tela.

Agora repita a experiência anterior, mas em vez disso emita o comando:

nslookup www.aiit.or.kr bitsy.mit.edu

Responda as seguintes questões6:

20. Para qual endereço IP a mensagem de consulta de DNS é enviada? Este é o endereço IP do
seu servidor DNS local padrão? Se não, a que corresponde o endereço IP?
21. Examine a mensagem de consulta DNS. Qual é o “tipo” de consulta DNS? A mensagem
de consulta contém alguma “resposta”?
22. Examine a mensagem de resposta do DNS. Quantas “respostas” são fornecidas? O que cada
uma dessas respostas contém?
23. Forneça uma captura de tela.

5 Se você não conseguir executar o Wireshark e capturar um arquivo de rastreamento, use o arquivo de rastreamento dns-ethereal-

trace-3 no arquivo zip http://gaia.cs.umass.edu/wireshark-labs/wireshark-traces.zip


6 Se você não conseguir executar o Wireshark e capturar um arquivo de rastreamento, use o arquivo de rastreamento dns-ethereal-

trace-4 no arquivo zip http://gaia.cs.umass.edu/wireshark-labs/wireshark-traces.zip

Você também pode gostar