Baixe o app para aproveitar ainda mais
Prévia do material em texto
Wireshark Lab: DNS v8.0 Supplement to Computer Networking: A Top-Down Approach, 8th ed., J.F. Kurose and K.W. Ross “Tell me and I forget. Show me and I remember. Involve me and I understand.” Chinese proverb © 2005-2020, J.F Kurose and K.W. Ross, All Rights Reserved Domain Name System (DNS) traduz nomes de host em endereços IP, cumprindo uma função crítica na infraestrutura da Internet. Neste laboratório, vamos observar em detalhe 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. Porém "nos bastidores", muita coisa pode acontencer e isso normalmente invisível para os clientes DNS, conforme os servidores DNS hierárquicos se comunicam entre si para resolver recursivamente ou iterativamente a consulta DNS do cliente. Do ponto de vista do cliente DNS, no entanto, o protocolo é bastante simples - uma consulta é formulada para o servidor DNS local e uma resposta é recebida desse servidor. 1. nslookup Neste laboratório, faremos uso extensivo da ferramenta nslookup, que está disponível na maioria das plataformas Linux / Unix e Microsoft atualmente. Para executar o nslookup no Linux / Unix, basta digitar o comando nslookup na linha de comando. Para executá-lo no Windows, abra o Prompt de Comando e execute nslookup na linha de comando. Em sua operação mais básica, a ferramenta nslookup permite que o host que executa a ferramenta consulte um registro DNS em qualquer servidor DNS especificado. 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. Para realizar essa tarefa, o nslookup envia uma consulta DNS para o servidor DNS especificado, recebe uma resposta DNS desse mesmo servidor DNS e exibe o resultado. 1 A captura de tela acima mostra os resultados de três comandos nslookup independentes (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 executar o nslookup, se nenhum servidor DNS for especificado, o nslookup enviará a consulta ao servidor DNS padrão, que neste caso é dns-prime.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. Considere agora: nslookup –type=NS mit.edu Neste exemplo, fornecemos a opção “-type = NS” e o domínio “mit.edu”. Isso faz com que o nslookup envie uma consulta por um registro do tipo NS para o servidor DNS local padrão. Em outras palavras, a consulta está dizendo: “envie-me os nomes de host do DNS com Autoridade para mit.edu”. (Quando a opção –type não é usada, o nslookup usa o padrão, que é consultar os registros do tipo A.) A resposta, exibida na imagem acima, indica primeiro o servidor DNS que está fornecendo a resposta (que é o local junto com vários servidores de nomes MIT. Cada um desses servidores é de fato um servidor DNS com autoridade 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 em vez 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 por nslookup não solicitasse explicitamente os endereços IP, o servidor DNS local retornou estes "gratuitamente" e nslookup exibe o resultado.) Agora que examinamos alguns exemplos ilustrativos, você talvez esteja se perguntando sobre a sintaxe geral dos comandos nslookup. 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. 3 Agora que fornecemos uma visão geral do nslookup, faça o seguinte (e anote os resultados): 1. Execute nslookup para obter o endereço IP de um servidor Web na Ásia. Qual é o endereço IP desse servidor? 2. Execute nslookup para determinar os servidores DNS autorizados para uma universidade na Europa. 3. Execute nslookup para que um dos servidores DNS obtidos na Questão 2 seja consultado para os servidores de e-mail do Yahoo! enviar. 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, descreveremos apenas o ipconfig, embora o ifconfig do Linux / Unix seja 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 Command Prompt, como apresentado a seguir. 4 O ipconfig também é muito útil para gerir as informações 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 restante de vida (TTL) em segundos. Para limpar o cache, digite ipconfig /flushdns A liberação do cache DNS limpa todas as entradas e recarrega as entradas do arquivo hosts. 5 3. Rastreando DNS com Wireshark Agora que estamos familiarizados com nslookup e ipconfig, vamos primeiro capturar os pacotes DNS que são gerados pela atividade normal de navegação na Web. Use ipconfig para esvaziar o cache DNS em seu host. Abra seu browser e esvazie o cache do navegador. 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. Responda as seguintes questões. Sempre que possível, ao responder uma pergunta abaixo, você deve entregar uma impressão do (s) pacote (s) dentro do rastreamento que você usou para responder à pergunta feita. 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 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? 9. Considere o pacote TCP SYN subsequente enviado pelo 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? Inicie a captura de pacotes. Faça um nslookup em www.mit.edu Pare a captura de pacotes. 6 Deverá obter algo parecido com o seguinte: Vemos na captura de tela acima que o nslookup realmente enviou três consultas DNS e recebeu três respostas DNS. Para o propósito desta tarefa, ao responder às perguntas a seguir, ignoreos primeiros dois conjuntos de consultas / 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. 7 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 Responder as seguintes questôes: 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 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. 8 3. Rastreando DNS com Wireshark
Compartilhar