Escolar Documentos
Profissional Documentos
Cultura Documentos
TCP v8.1
Material complementar do livro Computer
Networking: A Top-Down Approach, 8th ed., J.F.
Kurose and K.W. Ross
“Diga-me e eu esqueço. Mostre-me e eu me lembro. Envolva-
me e eu entendo.” Provérbio chinês
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, veremos mais de perto o lado do cliente do DNS. Lembre-se de que a função
do cliente no DNS é relativamente simples – um cliente envia uma consulta ao seu
servidor DNS local e recebe uma resposta de volta. Conforme mostrado nas Figuras 2.19
e 2.20 no livro-texto, muita coisa pode acontecer “nos bastidores”, invisível para um
cliente DNS, pois 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,
no entanto, o protocolo é bastante simples – uma consulta é formulada ao servidor DNS
local e uma resposta é recebida desse servidor.
Antes de começar 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 sobre servidores
DNS locais, cache DNS, registros e mensagens DNS e o campo TYPE no registro
DNS.
1. nslookup
Em sua operação mais básica, o nslookup permite que o host que executa o nslookup
consulte qualquer servidor DNS especificado em busca de um registro DNS. O servidor
1
References to figures and sections are for the 8th edition of our text, Computer Networks, A Top-down
Approach, 8h ed., J.F. Kurose and K.W. Ross, Addison-Wesley/Pearson, 2020. Our website for this book is
http://gaia.cs.umass.edu/kurose_ross You’ll find lots of interesting open material there.
DNS consultado pode ser um servidor DNS raiz, um servidor DNS de domínio de nível
superior (TLD), um servidor DNS autoritativo ou um servidor DNS intermediário
(consulte o livro para obter as definições desses termos). Por exemplo, nslookup pode ser
usado para recuperar um registro DNS “Type=A” que mapeia um nome de host (por
exemplo, www.nyu.edu) para seu endereço IP. Para realizar esta tarefa, o nslookup envia
uma consulta DNS para o servidor DNS especificado (ou o servidor DNS local padrão
para o host no qual o nslookup é executado, se nenhum servidor DNS específico for
especificado), recebe uma resposta DNS desse servidor DNS e exibe o resultado.
Embora a resposta tenha vindo do servidor DNS local (com endereço IP 128.119.240.1)
na UMass, é 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.
Além de usar nslookup para consultar um registro DNS “Type=A”, também podemos
usar nslookup para nslookup para consultar um registro “TYPE=NS”, que retorna o nome
2
Para Mac OS, se você quiser trabalhar apenas no mundo IPv4: Preferências do sistema -> Rede. Em
seguida, selecione sua interface ativa (por exemplo, Wi-Fi) e Avançado->TCP/IP. Em seguida, selecione o
menu suspenso Configurar IPv6 e defina-o como “Somente link local” ou “Desativado”.
do host (e seu endereço IP) de um servidor DNS autoritativo que sabe como obter os
endereços IP dos hosts no domínio do servidor autoritativo.
Por fim, às vezes podemos estar interessados em descobrir o nome do host associado a
um determinado endereço IP, ou seja, o inverso da pesquisa mostrada na Figura 1 (onde o
nome do host era conhecido/especificado e o endereço IP do host retornado). O nslookup
também pode ser usado para executar a chamada “pesquisa DNS reversa”. Na Figura 3,
por exemplo, especificamos um endereço IP como argumento nslookup (128.119.245.12
neste exemplo) e nslookup retorna o nome do host com esse endereço (gaia.cs.umass.edu
neste exemplo)
Figura 3: usando nslookup para realizar uma “pesquisa DNS reversa”
Agora que fornecemos uma visão geral do nslookup, é hora de você mesmo testá-lo. Faça
o seguinte (e anote os resultados3). A Figura 4 mostra uma captura de tela da execução do
nslookups nas perguntas 1 e 4, que permitirá que você responda às perguntas abaixo.
1. Execute nslookup para obter o endereço IP do servidor da Web do Instituto
Indiano de Tecnologia em Bombaim, Índia: www.iitb.ac.in. Qual é o endereço IP
de www.iitb.ac.in
2. Qual é o endereço IP do servidor DNS que forneceu a resposta ao seu comando
nslookup na pergunta 1 acima?
3. A resposta ao seu comando nslookup na pergunta 1 acima veio de um servidor
autoritativo ou não autoritativo?
4. Use o comando nslookup para determinar o nome do servidor de nomes
autorizado para o domínio iit.ac.in. Qual é esse nome? (Se houver mais de um
servidor autoritativo, qual é o nome do primeiro servidor autoritativo retornado
pelo nslookup)? Se você tivesse que encontrar o endereço IP desse servidor de
nomes autorizado, como faria isso?
3
Consulte o laboratório introdutório do Wireshark para obter uma explicação de como fazer isso) e indique
onde no pacote eles encontraram as informações que respondem a uma pergunta.
A maioria dos hosts (por exemplo, seu computador pessoal) mantém um cache de
registros DNS recuperados recentemente (às vezes chamado de cache resolvedor de
DNS), assim como muitos navegadores da Web mantêm um cache de objetos
recuperados recentemente por HTTP. Quando os serviços DNS precisam ser invocados
por um host, esse host verificará primeiro se o registro DNS necessário reside no cache
DNS desse host; se o registro for encontrado, o host nem se preocupará em contatar o
servidor DNS local e, em vez disso, usará esse registro DNS em cache. Um registro DNS
em um cache do resolvedor eventualmente expirará e será removido do cache do
resolvedor, assim como os registros armazenados em cache em um servidor DNS local
(consulte as Figuras 2.19, 2.20) expirarão.
Você também pode limpar explicitamente os registros em seu cache DNS. Não há mal
nenhum em fazer isso – significa apenas que seu computador precisará invocar o serviço
DNS distribuído na próxima vez que precisar usar o serviço de resolução de nomes DNS,
pois não encontrará registros no cache. Em um computador Mac, você pode inserir o
seguinte comando em uma janela de terminal para limpar o cache do resolvedor de DNS:
sudo killall -HUP mDNSResponder
No computador Windows, você pode inserir o seguinte comando no prompt de comando:
ipconfig /flushdns
e em um computador Linux, digite:
sudo systemd-resolve --flush-caches
4
Se não tiver certeza de como encontrar o endereço IP do seu computador, você pode pesquisar na Web
por artigos para o seu sistema operacional. As informações do Windows 10 são aqui; As informações do
Mac estão here; E as informações do Linux estão aqui.
Se você não conseguir executar o Wireshark em uma conexão de rede ao vivo, você pode
baixar um arquivo de rastreamento de pacote que foi capturado seguindo as etapas acima
em um dos computadores do autor5. Responda as seguintes questões.
5
Você pode baixar o arquivo zip http://gaia.cs.umass.edu/wireshark-labs/wireshark-traces-8.1.zip e extrair
o arquivo de rastreamento dns-wireshark-trace1-1. Esses arquivos de rastreamento podem ser usados para
responder a essas perguntas de laboratório do Wireshark sem realmente capturar pacotes por conta própria.
Cada trace foi feito usando o Wireshark rodando em um dos computadores do autor, durante a execução
das etapas indicadas no laboratório Wireshark. Depois de baixar um arquivo de rastreamento, você pode
carregá-lo no Wireshark e visualizar o rastreamento usando o menu suspenso Arquivo, escolhendo Abrir e,
em seguida, selecionando o nome do arquivo de rastreamento.
6
Lembre-se de que esse “número de pacote” é atribuído pelo Wireshark apenas para fins de listagem; NÃO
é um número de pacote contido em nenhum cabeçalho de pacote real.
7
Se você não conseguir executar o Wireshark e capturar um arquivo de rastreamento, use o arquivo de
rastreamento dns-wireshark-trace-2 no arquivo zip de rastreamentos na nota de rodapé acima para
responder às perguntas 12-16 abaixo.
● Inicie a captura de pacotes.
12. Qual é a porta de destino para a mensagem de consulta DNS? Qual é a porta de
origem da mensagem de resposta do DNS?
13. Para qual endereço IP a mensagem de consulta DNS é enviada? Este é o endereço
IP do seu servidor DNS local padrão?
14. Examine a mensagem de consulta DNS. Qual é o “tipo” de consulta de DNS? A
mensagem de consulta contém alguma “resposta”?
15. Examine a mensagem de resposta do DNS à mensagem de consulta. Quantas
“perguntas” contém esta mensagem de resposta do DNS? Quantas “respostas”?
Por último, vamos usar o nslookup para emitir um comando que retornará um registro
DNS do tipo NS, digite o seguinte comando:
nslookup –type=NS umass.edu
e depois responda as seguintes perguntas8 :
8
Se você não conseguir executar o Wireshark e capturar um arquivo de rastreamento, use o arquivo de
rastreamento dns-wireshark-trace-3 no arquivo zip de rastreamentos na nota de rodapé acima para
responder às perguntas 17-19 abaixo.
16. Para qual endereço IP a mensagem de consulta DNS é enviada? Este é o endereço
IP do seu servidor DNS local padrão?
17. Examine a mensagem de consulta DNS. Quantas perguntas tem a consulta? A
mensagem de consulta contém alguma “resposta”?
18. Examine a mensagem de resposta do DNS. Quantas respostas tem a resposta?
Que informações estão contidas nas respostas? Quantos registros de recursos
adicionais são retornados? Quais informações adicionais estão incluídas nesses
registros de recursos adicionais?