Disciplina: Redes de Computadores Professor Jéfer Benedett Dörr [email protected] Prática: Utilitários de Rede Introdução Este trabalho tem como objectivo familiarizar os alunos com protocolos e equipamentos utilizados em redes locais e respectivas funcionalidades. Para isso é sugerido um conjunto de experiências, as quais devem ser complementadas por outras de iniciativa dos alunos. Este trabalho implica também estudo antecipado por parte dos alunos relativo aos protocolos envolvidos. Cada experiência sugerida pretende dar a conhecer uma funcionalidade dos protocolos envolvidos. Depois de compreendido uma determinada funcionalidade, os alunos devem, sempre que necessário, fazer uso da mesma para a realização das experiências seguintes. Em qualquer das experiências seja crítico consigo próprio e não desista enquanto não conseguir obter uma resposta satisfatória para as questões que se lhe colocam, não estamos a fazer uma corrida contra-relógio. Em caso de necessidade poderá sempre repetir as experiências extra aula para melhor entender o que realmente se passa em cada uma. Recorra ao seu docente sempre que, depois de estudar e experimentar por si, não conseguir obter uma resposta que considere correcta. Em caso de dúvida sobre os protocolos envolvidos o melhor é consultar os respectivos RFCs (http://www.ietf.org). Na análise dos dados capturados pelo analisador de protocolos (wireshark) tenha a sensatez de desprezar todo o tráfego que passa na rede e que não tem nada a ver com o seu trabalho, nomeadamente o relacionado com broadcasts de outras máquinas e o tráfego gerado na sua máquina pelo Windows mas que nada tenha a ver com o seu trabalho. Faça as capturas caso a caso e as mais pequenas possíveis para facilitar a respectiva análise. Pode guardar as capturas em ficheiros e utilizá-los mais tarde para recapitular o que se passou na aula. No windows existem alguns utilitários de rede disponíveis através da janela DOS. Os utilitários que serão vistos nesta aula são programas que usam a linha de comando e são baseados em programas originados do UNIX, com a mesma função. Os utilitários mostrados são idênticos aos do Unix com as excessões do traceroute (que no windows tem o nome de tracert devido a limitação antiga de 8 caracteres para nomes de programas do DOS) e o comando ipconfig (que no Unix/Linux é ifconfig). Lembre-se que nos testes teóricos podem sair perguntas sobre as aulas práticas, as suas notas pessoais sobre as mesmas irão ser importantes aí e na discussão final. Material necessário: Hardware • Máquinas (PC) com interface Ethernet UTP Software • Utilitários de diagnóstico da rede fornecidos com o sistema operativo (Ex.: arp, ping, ipconfig, tracert, netstat, etc.) • Programa de análise de tráfego na rede (Ex.: wireshark (www.wireshark.org/ ), tcpdump) Humanos: Grupos de 2 a 3 pessoas, devem produzir umrelatório com os resultados encontrados e o que conclui da prática. Para a realização do trabalho é necessário que os alunos conheçam os protocolos, os equipamentos e suas potencialidades bem como os componentes de software do ponto de vista das suas interfaces e do seu funcionamento. Experiência 1 – Protocolo ICMP e comando ping O utilitário ping O utilitário ping (analogia com o jogo de ping-pong) serve para verificar a resposta de um outro servidor na rede até a camada de rede. O ping envia pacotes ICMP (Internet Control Message Protocol) requisitando uma resposta do servidor remoto. A resposta do servidor normalmente é o mesmo pacote enviado. Ou seja, a máquina remota simplesmente devolve os dados que ela recebeu. O objetivo é testar se além da rede estar funcionando corretamente até a camada de rede, a mesma não está fazendo nenhuma tradução nos bytes enviados. Este utilitário também auxilia verificar se a pilha de protocolos de seu computador está funcionando corretamente para tanto ping o endereço 127.0.0.1 que é reservado para endereçar sua própria máquina, ou seja, um loop local (interface de loopback) O ping mostra uma série de informações interessantes, como por exemplo, o endereço IP de destino, a quantidade de bytes enviados, o tempo de resposta de cada pacote e o TTL (Time To Live ou Tempo de Vida) do pacote. O ping default do Windows sempre manda 4 pacotes, no Unix, ao contrário o ping funciona indefinidamente até o usuário cancelar com control-C, esta função é feita pela opção -t no Windows. O (TTL) Time To Live é um campo do pacote IP e é utilizado para limitar o número de roteadores por onde um determinado pacote pode passar. Cada roteador por onde um determinado pacote IP trafega decrementa o número do campo TTL antes de passá-lo para frente. Se o valor do campo TTL chegar a zero, o roteador não envia mais o pacote IP, e sim um outro pacote ICMP para a origem avisando que o pacote IP original teve o seu TTL=0 e por isso não pôde ser mais transmitido. Esse mecanismo serve para evitar que em uma rede mal configurada e com algum loop de endereçamento, a quantidade de pacotes trafegada estoure a capacidade da rede por causa de retransmissões entre os mesmos roteadores. Por exemplo, se do ponto A os pacotes IP são roteados para o ponto B, e do ponto B (por causa de um erro) são roteados de volta para o ponto A, um pacote IP poderia ficar indo e voltando indefinidamente se não possuísse o mecanismo do TTL. No caso de um endereço não responder aos pacotes enviados, isto não indica necessariamente que o computador consultado está fora do ar. Pode ter sido configurado um filtro que impeça que a máquina responda, por exemplo, o endereço www.pucminas.br Parâmetros -t Especifica que o <b>ping</b> continue enviando mensagens de solicitação de eco ao destino até que seja interrompido. Para interromper e exibir estatísticas, pressione CTRL+BREAK. Para interromper e sair do ping, pressione CTRL+C. -a Especifica que a resolução inversa de nome seja realizada no endereço IP de destino. Se for bemsucedida, o <b>ping</b> exibirá o nome do host correspondente. -n quantidade Determina o número de solicitações de eco enviadas. O padrão é 4. -l Tamanho Especifica o comprimento, em bytes, do campo de dados nas solicitações de eco enviadas. O padrão é 32. O Tamanho máximo é 65.527. -f Especifica que as mensagens de solicitação de eco são enviadas com o sinalizador Não fragmentar no cabeçalho IP definido como 1 (disponível somente no IPv4). A mensagem de solicitação de eco não pode ser fragmentada por roteadores no caminho para o destino. Este parâmetro é útil para resolver problemas relacionados à unidade máxima de transmissão do caminho (PMTU). -i TTL Especifica o valor do campo TTL no cabeçalho IP das solicitações de eco enviadas. O padrão é o valor padrão do TTL do host. O TTL máximo é 255. -v TOS Especifica o valor do campo Tipo de serviço (TOS) no cabeçalho IP das mensagens de solicitações de eco enviadas (disponíveis somente no IPv4). O padrão é 0. TOS é especificado como um valor decimal de 0 a 255. -r contagem Especifica que a opção Rota de registro no cabeçalho IP seja usada para gravar o caminho usado pela solicitação de eco e pela resposta de eco correspondente (disponível somente em IPv4). Cada salto no caminho utiliza uma entrada na opção Rota de registro. Se possível, especifique uma contagem que seja igual ou superior ao número de saltos entre a origem e o destino. A contagem deve ser no mínimo 1 e no máximo 9. -s contagem Especifica que a opção <b>Carimbo de data/hora</b> da Internet no cabeçalho IP seja utilizada para gravar a hora de chegada da solicitação de eco e da resposta de eco correspondente para cada salto. A Contagem deve ser de no mínimo 1 e no máximo 4. Isso é necessário para endereços de destino de links locais. -j lista_de_hosts Especifica que as solicitações de eco utilizem a opção Rota ampliada de origens no cabeçalho IP com o conjunto de destinos intermediários especificado em lista_de_hosts (disponível em IPv4 somente). Como o roteamento ampliado de origens, os destinos intermediários sucessivos podem ser separados por um ou vários roteadores. O número máximo de endereços ou nomes na lista de hosts é 9. A lista de hosts é uma seqüência de endereços IP (em notação decimal com ponto) separados por espaços. -k lista_de_hosts Especifica que as solicitações de eco utilizem a opção Rota restrita de origens no cabeçalho IP com o conjunto de destinos intermediários especificado em lista_de_hosts (disponível em IPv4 somente). Com o roteamento restrito de origens, o destino intermediário seguinte deve ser diretamente acessível (é preciso ser um vizinho em uma interface do roteador). O número máximo de endereços ou nomes na lista de hosts é 9. A lista de hosts é uma seqüência de endereços IP (em notação decimal com ponto) separados por espaços. -w TempoLimite Especifica o intervalo de tempo, em milissegundos, para aguardar a resposta de eco correspondente a determinada solicitação de eco a ser recebida. Se a resposta de eco não for recebida dentro do tempo limite, será exibida a mensagem de erro "Esgotado o tempo limite da solicitação". O tempo limite padrão é 4000 (4 segundos). -R Especifica que o caminho completo é rastreado (disponível somente em IPv6). -S EndOrig Especifica o endereço de origem a ser usado (disponível somente em IPv6). -4 Especifica que IPv4 é usado para efetuar ping. Este parâmetro não é necessário para identificar o host de destino com um endereço IPv4. Ele só é necessário para identificar o host de destino pelo nome. -6 Especifica que IPv6 é usado para efetuar ping. Este parâmetro não é necessário para identificar o host de destino com um endereço IPv6. Ele só é necessário para identificar o host de destino pelo nome. nome_do_destino Especifica o nome ou o endereço IP do host de destino. /? Exibe ajuda no prompt de comando. Exemplos O exemplo a seguir mostra os dados de saída do comando ping: C:\>ping example.microsoft.com Pinging example.microsoft.com [192.168.239.132] with 32 bytes of data: Reply from 192.168.239.132: bytes=32 time=101ms TTL=124 Reply from 192.168.239.132: bytes=32 time=100ms TTL=124 Reply from 192.168.239.132: bytes=32 time=120ms TTL=124 Reply from 192.168.239.132: bytes=32 time=120ms TTL=124 Para executar o <b>ping</b> no destino 10.0.99.221 e resolver 10.0.99.221 para seu nome de host, digite: ping -a 10.0.99.221 Para executar o <b>ping</b> no destino 10.0.99.221 com 10 solicitações de eco, cada uma com um campo de dados de 1000 bytes, digite: ping -n 10 -l 1000 10.0.99.221 Para executar o <b>ping</b> no destino 10.0.99.221 e gravar a rota com 4 saltos, digite: ping -r 4 10.0.99.221 Ping é muito útil para testar a comunicação entre maquinas, nasinstalações normais já vem funcionando. Quando digitamos na linha de comando ping IP da outra maquina ou ping nome_da_outra_maquina ex. $ ping 192.168.1.1 $ ping www.conectiva.com.br $ ping maq1 teremos um resumo de pacotes enviados, recebidos e perdidos, quando o resultado em perdidos for igual a zero, significa que todos os pacotes percorreram todo o percurso de ida e volta entre as duas maquinas, assim podemos afirmar que uma maquina alcança a outra ou seja tem comunicação e portanto que a placa de rede está instalada, os cabos estão OK, os HUBS e outros equipamentos usandos no trajeto estão ligados e funcionando. Quando o resultado em perdidos for maior que zero podemos afirmar que tem algum erro na instalação e ou configuração da rede, que pode estar na placa de rede, cabos, HUB, regras do firewall, roteadores, ICMP desabilitado e outras possibilidades, portanto deve ser revisado, analizado e testado todos os componentes desta ligação, lembrando que se o ping não alcança a outra maquina o mesmo acontecerá com os outros pacotes de outros programas, antes de configurar outros pacotes que usa a rede, teste a conexão da rede com o comando ping. veja mais detalhes em: $ man ping $ info ping $ ping --help quando executamos $ping 192.168.1.1 fica disparando infinitamente, CTRL+C interrompe o processo. -c determina quantos pacotes serão enviados neste exemplo dispara o ping somente 4 vezes. $ ping -c 4 192.168.1.1 ou $ ping -c4 192.168.1.1 -f inundação de envio de ping, provoca um flood, somente o root pode executar com ete parametro. #ping -f 192.168.1.1 -R exibe a rota percorrida pelo ping, ex.: ping -R www.uol.com.br ping -R 192.168.1.1 verificar se o localhost está configurado. $ ping localhost descobrir o IP (ou DNS) de um dominio $ ping www.conectiva.com.br ou $ nslookup www.conectiva.com.br O ping entre as maquinas só sera possivel se elas tiverem configuradas com IP para facilitar defina um IP para cada maquina, vamos usar um exemplo de duas maquinas com suas respectivas placas de rede instaladas uma usando Windows vai usar o IP 192.168.1.3 e a outra usando Linux vai receber o IP 192.168.1.2 No Windows clique com botão direito do mouse sobre ambiente de rede, depois em propriedades, depois dê dois cliques no TCP/IP da sua placa de rede, na nova janela habilite IP manual e preencha o campo ref. ao IP com 192.168.1.3 e na mascara de rede preencha com 255.255.255.0 feito isto é só dar aplicar e OK até fechar as janelas e pedir para reiniciar No Linux use netconf ou linuxconf e configura um IP nas opções de rede, em IP coloque 192.168.1.2 teste o ping com IP da propria maquina e IP da outra maquina, em ambos o ping deve responder. 1. Utilizando o wireshark , observe o formato e o conteúdo dos datagramas IP originados ou destinados à sua máquina que são trocados na rede durante as experiências que se seguem. 2. Faça ping a endereços IP de máquinas dentro e fora da rede local (Ex.:maquina do seu vizinho, www.terra.com.br ). 3. Teste a opção record route do datagrama IP (ping –r). Tambem ping -t. 4. Teste o funcionamento do campo TTL do datagrama IP com valores que façam sentido. 5. Faça ping ao endereço de rede, de subrede. Observe os pacotes IP que passam na rede em cada caso (se é que passam). Observe o resultado do ping e os pacotes IP que passam na rede. Experiência 2 – nslookup O utilitário nslookup O utilitário nslookup serve para traduzir nomes de domínio para os números IP correspondentes. Este utilitário consulta os servidores de DNS (Domain Name Service) espalhados na Internet para resolver uma consulta e descobrir o endereço. O nslookup ao contrário dos outros utilitários vistos até agora, oferece um prompt para o usuário digitar nomes de domínios para consulta. Veja abaixo um exemplo de execução do nslookup: atlanta:/home/i2/rora-> nslookup Default Server: i2.com.br Address: 200.238.196.1 > www.pucmg.br. Server: i2.com.br Address: 200.238.196.1 Non-authoritative answer: Name: www.pucminas.br Address: 200.236.177.1 Aliases: www.pucmg.br > set type=mx > flag.com.br. Server: i2.com.br Address: 200.238.196.1 Non-authoritative answer: flag.com.br preference = 10, mail exchanger = flagnt03.flag.com.br Authoritative answers can be found from: flag.com.br nameserver = flagnt03.flag.com.br flag.com.br nameserver = flagwall.flag.com.br flagnt03.flag.com.br internet address = 200.202.246.204 flagwall.flag.com.br internet address = 200.202.246.205 > set type=a > www.cade.com.br. Server: i2.com.br Address: 200.238.196.1 Non-authoritative answer: Name: www.cade.com.br Addresses: 200.244.143.187, 200.244.143.143, 200.244.143.149, 200.244.143.145 200.244.143.148, 200.244.143.141, 200.244.143.142, 200.244.143.147, 200.244.143. 46 200.244.143.140 > O que foi digitado pelo usuário está em negrito. Note que além dos domínios, existem alguns comandos disponíveis no nslookup (set type=). Quando os domínios são seguidos de um ponto, nslookup interpreta como domínios completos. É possível especificar somente um nome de uma máquina e o programa busca pelo seu endereço IP dentro da própria rede. Use o comando help para ter acesso aos demais comandos do nslookup. Veja a saída de um help do nslookup no unix: > help $Id: nslookup.help,v 8.4 1996/10/25 18:09:41 vixie Exp $ Commands: NAME NAME1 NAME2 help or ? (identifiers are shown in uppercase, [] means optional) - print info about the host/domain NAME using default server - as above, but use NAME2 as server - print info on common commands; see nslookup(1) for details set OPTION - set an option all - print options, current server and host [no]debug - print debugging information [no]d2 - print exhaustive debugging information [no]defname - append domain name to each query [no]recurse - ask for recursive answer to query [no]vc - always use a virtual circuit domain=NAME - set default domain name to NAME srchlist=N1[/N2/.../N6] - set domain to N1 and search list to N1,N2, etc. root=NAME - set root server to NAME retry=X - set number of retries to X timeout=X - set initial time-out interval to X seconds querytype=X - set query type, e.g., A,ANYÇNAME,HINFO,MX,PX,NS,PTR,SOA,TXT,WKS,SRV,NAPT R port=X - set port number to send query on type=X - synonym for querytype class=X - set query class to one of IN (Internet), CHAOS, HESIOD or ANY server NAME - set default server to NAME, using current default server lserver NAME - set default server to NAME, using initial server finger [USER] - finger the optional USER at the current default host root - set current default server to the root ls [opt] DOMAIN [> FILE] - list addresses in DOMAIN (optional: output to FILE) -a - list canonical names and aliases -h - list HINFO (CPU type and operating system) -s - list well-known services -d - list all records -t TYPE - list records of the given type (e.g., AÇNAME,MX, etc.) view FILE - sort an 'ls' output file and view it with more exit - exit the program, ^D also exits > Descubra os endereços IP das máquinas que podem receber e-mail das seguintes empresas: 1. Maxitel (no Brasil) 2. Transmeta (nos USA) 3. British Telecom da Espanha (www.bt.es) Experiência 3 – Protocolo ARP e comando arp O protocolo de resolução de endereços (ARP) O ARP (address resolution protocol), presente em todos os computadores e equipamentos de rede, faz a tradução dos endereços de camada 3 para endereços de camada 2. Quando é originada uma comunicação no enlace, é repassado para o ARP o endereço de camada de rede, normalmente o número IP. A protocolo ARP monta um quadro, enviado por broadcast a todos os adaptadores da rede. A estação de destino, ao identificar que o quadro é endereçado a ela, pela coincidência do endereço IP, monta um quadro padrão de resposta, através do ARP, contendo seu MAC Address. O ARP somente converte números de IP para MAC Address em nós componentes do mesmo enlace. O ARP mantém em memória, em cada host, uma tabela, chamada de ARP table, que mantém, durante um período de tempo, a correspondência de IP e MAC para endereços já consultados, de forma a agilizar novas consultas, trocando o procedimento de descoberta por broadcast por uma simples consulta na tabela. Cada registro nesta tabela contém o tempo de vida do registro, ao final do qual o mesmo é apagado. Uma nova requisição após isto, demanda nova descoberta por broadcast. Exemplos de utilização do ARP no Windows: arp –a : exibe a ARP Table arp –s 10.2.3.4 00:00:00:11:22:33 : adiciona um entrada estática na tabela arp –d 10.2.3.4 : remove a entrada da tabela (muitas vezes é necessário, quando mudamos várias vezes o IP de uma interface, ou trocamos a interface e mantemos o mesmo IP) 1. Observe a tabela de ARP (estude o comando arp). 2. Envie um pacote IP para uma máquina da mesma rede (ping para IP broadcast de subrede para descobrir os IP ativos). 3. Observe o conteúdo dos pacotes IP e do ARP trocadas na rede. 4. Observe a tabela de ARP (Seja rápido! Porquê?). 5. Envie um segundo pacote IP para a mesma máquina. 6. Observe os ARP e pacotes IP que passam na rede. 7. Verifique que as entradas na tabela de ARP são removidas ao fim de algum tempo. ARP - Mostrar que as informações da tabela de ARP tem um tempo de vida. - Verificar a tabela ARP (via comando " arp -a ") - Enviar um pacote ICMP para um host pertencente à mesma rede lógica que não seja o roteador. - Verificar a tabela ARP. Aguardar alguns minutos e verificar a tabela. - Mostrar os tipos de pacotes ARP (solicitação e resposta) - Verificar como o TCP/IP usa o ARP. Com um monitor de rede ativo (tcpdump, snoop ou iptraf em alguma máquina da mesma rede lógica) comandar um ping de uma máquina para outra cujo IP não consta na tabela de ARP. Deve ser visualizado um pacote de solicitação de ARP "Who has ARP xxx.xxx.xxx.xxx tell yyy.yyy.yyy.yyy) (xxx= Endereço IP da máquina de destino, yyy= endereço IP da máquina de origem). Experiência 4 – Protocolo ICMP e comando traceroute Traceroute é uma ferramenta que permite descobrir o caminho feito pelos pacotes desde a sua origem até o seu destino. Ele é usado para testes, medidas e gerenciamento da rede. O traceroute pode ser utilizado para detectar falhas como, por exemplo, gateways intermediários que descartam pacotes ou rotas que excedem a capacidade de um datagrama IP. Com esta ferramenta, o atraso da "viagem" do pacote entre a origem e gateways intermediários são reportados, permitindo determinar a contribuição de cada gateway para o atraso total da "viagem" do pacote desde a origem até o seu destino. Versões melhoradas do traceroute permitem a especificação de "rotas livres da origem" para os datagramas. Isto permite investigar qual o caminho de retorno que as máquinas remotas fazem até o host local. O utilitário traceroute O utilitário traceroute serve para nos mostrar por onde um pacote IP trafega quando é enviado. Esse utilitário é tão útil quanto o ping e no windows está disponível com o nome de tracert. A sintaxe do tracert no windows é: Uso: tracert [-d] [-h nmax_saltos] [-j lst_hosts] [-w tempo_limite] destino Opções: -d -h nmax_saltos -j lst_hosts -w tempo_limite Não resolver endereços para nomes de hosts. Número máximo de saltos para a procura do destino. Rota ampliada de origens usada com a lista lst_hosts. Tempo de espera em milissegundos para cada resposta. Não existe nenhum mecanismo disponível nos roteadores para informar o trajeto de um pacote IP pela Internet. Mas sem usar nenhum artifício adicional, o autor do traceroute conseguiu fazer este programa muito bem bolado. Ele aproveitou o campo TTL do pacote IP para transmitir pacotes com TTL a partir de 1 até alcançar o destino. Assim, cada vez que um pacote "morre" no caminho até o destino, o traceroute é avisado e assim consegue traçar a rota. Veja um exemplo de saída de um traceroute para o endereço www.sdsc.edu: C:\WINDOWS>tracert www.sdsc.edu Rastreando a rota para www.sdsc.edu [198.202.75.101] com no máximo 30 saltos: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 <10 2 194 473 416 234 1080 1032 1914 1342 872 700 601 1040 1057 683 * 655 666 770 ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms <10 2 148 561 * 198 1093 1167 2432 1198 857 * 619 964 1148 673 630 628 708 631 ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms <10 1 210 666 156 362 939 1161 2190 891 932 985 850 912 1287 687 656 633 643 690 ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms tebas.i2.com.br [200.238.196.62] hardwick.i2.com.br [200.238.196.97] i2-gw.pop-mg.rnp.br [200.17.183.49] arrozdoce.pop-mg.com.br [200.236.165.199] casadinho-a3.pop-mg.rnp.br [200.17.183.209] bb2.pop-mg.rnp.br [200.131.1.1] border1-serial2-2.NewYork.cw.net [204.70.44.101] core1-fddi-0.NewYork.cw.net [204.70.2.17] core1-hssi-3.WestOrange.cw.net [204.70.10.14] 204.70.10.145 atm5-0-1.nyc-bb9.cerf.net [134.24.32.161] pos3-0-622M.nyc-bb8.cerf.net [134.24.33.158] pos5-0-622M.chi-bb4.cerf.net [134.24.32.213] so4-0-0-622M.dfw-bb2.cerf.net [134.24.46.81] pos2-0-622M.lax-bb4.cerf.net [134.24.29.77] atm1-0-2-622M.san-bb6.cerf.net [134.24.32.61] pos10-0-0-155M.san-bb1.cerf.net [134.24.29.129] sdsc-gw.san-bb1.cerf.net [134.24.12.26] medusa-atm.sdsc.edu [192.12.207.10] www.sdsc.edu [198.202.75.101] Rastreamento completo. A saída do traceroute indica para cada HOP (ponto de roteamento do pacote IP), o tempo de três pacotes enviados e o endereço do roteador correspondente. Montando a sequência de 1 até o final, podemos ver por onde o pacote IP foi roteado até o destino. O traceroute funciona enviando sucessivos pacotes IP de ping com o valor do TTL iniciando em 1 e aumentando até o ping ser respondido pelo destino. Isso faz com que o pacote IP "morra" cada vez mais longe da origem. Para cada vez que o TTL chega a zero (o pacote "morre"), o roteador onde isso ocorreu envia um pacote ICMP para a origem. Desta forma a origem tem como saber qual é o endereço do roteador onde o pacote IP morreu e consequentemente a rota dele até o destino! Veja abaixo um exemplo de saída de traceroute em uma rede mal configurada ou com problemas de rota. Os pacotes ficam trafegando entre os IPs 200.192.56.163 e 200.192.56.161. O traceroute tem um limite de 30 rotas por default. Se qualquer rota ultrapassar este limite, o programa termina, mas isso pode ser alterado. traceroute to 200.190.226.221 (200.190.226.221), 30 hops max, 40 byte packets 1 ithaca.i2.com.br (200.238.196.17) 0.892 ms 0.88 ms 0.836 ms 2 i2-gw.pop-mg.rnp.br (200.17.183.49) 9.694 ms 9.805 ms 72.695 ms 3 arrozdoce.pop-mg.com.br (200.236.165.199) 47.173 ms 57.568 ms 9.666 ms 4 casadinho-a3.pop-mg.rnp.br (200.17.183.209) 35.299 ms 29.25 ms 14.784 ms 5 pop-mg-rnp-br-S3-7-acc01.bhe.embratel.net.br (200.251.254.73) 30.479 ms 47.494 ms 3 6 ebt-F5-0-dist01.bhe.embratel.net.br (200.255.153.66) 46.537 ms 47.471 ms 48.432 ms 7 netstream-S3-0-dist01.bhe.embratel.net.br (200.251.12.50) 1201.36 ms 226.436 ms nets 8 200.192.56.163 (200.192.56.163) 294.807 ms 1316.43 ms 171.37 ms 9 200.192.56.161 (200.192.56.161) 157.437 ms 66.189 ms 82.82 ms 10 200.192.56.163 (200.192.56.163) 1263.75 ms 879.158 ms 180.572 ms 11 200.192.56.161 (200.192.56.161) 147.899 ms 80.226 ms 148.109 ms 12 200.192.56.163 (200.192.56.163) 190.791 ms 1760.4 ms 152.392 ms 13 200.192.56.161 (200.192.56.161) 97.871 ms 130.071 ms 216.73 ms 14 200.192.56.163 (200.192.56.163) 193.109 ms 109.728 ms 132.562 ms 15 200.192.56.161 (200.192.56.161) 119.146 ms 132.605 ms 104.369 ms 16 200.192.56.163 (200.192.56.163) 239.958 ms 139.003 ms 125.818 ms 17 200.192.56.161 (200.192.56.161) 77.857 ms 107.275 ms 163.703 ms 18 200.192.56.163 (200.192.56.163) 170.308 ms 96.406 ms 90.269 ms 19 200.192.56.161 (200.192.56.161) 154.676 ms 61.096 ms 179.464 ms 20 200.192.56.163 (200.192.56.163) 196.048 ms 150.234 ms 144.485 ms 21 200.192.56.161 (200.192.56.161) 111.255 ms 75.791 ms 108.033 ms 22 200.192.56.163 (200.192.56.163) 98.99 ms 294.196 ms 298.766 ms 23 200.192.56.161 (200.192.56.161) 148.568 ms 147.442 ms 119.248 ms 24 200.192.56.163 (200.192.56.163) 233.132 ms 232.526 ms 213.243 ms 25 200.192.56.161 (200.192.56.161) 101.576 ms 101.769 ms 147.615 ms 26 200.192.56.163 (200.192.56.163) 148.876 ms 189.746 ms 259.251 ms 27 200.192.56.161 (200.192.56.161) 74.61 ms 130.222 ms 1652.72 ms 28 200.192.56.163 (200.192.56.163) 233.248 ms 161.242 ms 146.573 ms 29 200.192.56.161 (200.192.56.161) 143.745 ms 131.513 ms 122.557 ms 30 200.192.56.163 (200.192.56.163) 144.07 ms 165.208 ms 182.307 ms 1. Estude o comando traceroute (tracert). 2. Verifique o encaminhamento de pacotes e o número de hops para diversos destinos (Ex.: www.yahoo.com, www.cisco.com, www.microsoft.com,www.fasul.edu.br). Interprete os resultados obtidos comparando-os com o resultado do ping –r para o mesmo destino. 3. Observe as mensagens relacionadas com a execução do tracert no wireshark. 4. No Linux pode ser usado traceroute ou xtraceroute. Experiência 5 – Protocolo DNS 1. Faça ping a máquinas usando o respectivo nome. Experimente nomes de máquinas de diferentes domínios (Ex.: www.yahoo.com, www.cisco.com, www.microsoft.com, www.fasul.edu.br). 2. Observe (wireshark) as mensagens DNS enviadas e recebidas pelo servidor de DNS para fazer as resoluções de nomes e endereços na situação do ponto 1. 3. Utilize o comando nslookup para verificar a informação na sua máquina. Experiência 6– Netstat O utilitário netstat O netstat serve para mostrar as conexões ativas atualmente com a máquina em questão. Ele lista na tela todas as conexões TCP/IP em andamento. Além disso existe uma opção para mostrar o conteúdo da tabela de roteamento. Veja abaixo a sintaxe do netstat do windows: Exibir estatísticas de protocolo e conexões de rede TCP/IP atuais. NETSTAT [-a] [-e] [-n] [-s] [-p proto] [-r] [intervalo] -a -e -n -p proto -r -s intervalo Exibe todas as conexões e portas de escuta. Exibe estatísticas Ethernet. Isso pode ser combinado à opção -s. Exibe endereços e números de porta em formato numérico. Exibe conexões para o protocolo especificado por proto; proto pode ser tcp ou udp. Se usado com a opção -s para exibir estatísticas por protocolo, proto pode ser tcp, udp ou ip. Exibe o conteúdo da tabela de roteamento. Exibe estatísticas por protocolo. Por padrão, as estatísticas são mostradas para TCP, UDP e IP; a opção -p pode ser usada para especificar um subconjunto do padrão. Exibe novamente uma estatística selecionada, fazendo pausas de intervalos de segundos entre cada tela. Pressione CTRL+C para interromper a nova exibição das estatísticas. Caso omitido, netstat imprimirá as informações de configuração uma vez. Use o netstat para mostrar todas as conexões e portas de escuta da sua máquina (LISTENING). A saída é mostrada em 4 colunas. Na primeira está o protocolo, na segunda o endereço da conexão na porta local. A terceira coluna mostra o endereço na máquina remota (o endereço da máquina e a porta TCP da conexão) e a quarta coluna mostra o estado da conexão (ESTABLISHED, LISTENING, CLOSE_WAIT, etc). Use a opção -r para mostrar o conteúdo da tabela de roteamento da sua estação. Essa tabela mostra para qual endereço cada pacote deve ser enviado em função do seu endereço IP. Desta forma, a máquina garante que o pacote será entregue para a máquina de destino corretamente. Link:http://geotool.servehttp.com/ http://registro.br/cgi-bin/nicbr/trt