Você está na página 1de 5

Laboratrio Wireshark ARP/ICMP1

Neste laboratrio, vamos explorar aspectos do protocolo ICMP e do ARP:

As mensagens ICMP geradas pelo programa Ping;


As mensagens ICMP geradas pelo programa traceroute;
O formato e contedo de uma mensagem ICMP;
As mensagens de requisio e resposta do protocolo ARP.

Antes de realizar este laboratrio, caso deseje, voc pode consultar o material ICMP na
seo 4.4.3 do livro (Kurose). Ns apresentamos este laboratrio no contexto do sistema
operacional Linux. No entanto, muito simples para traduzir o laboratrio para um ambiente
Windows.

1. ARP, ICMP e Ping


Vamos comear a nossa aventura ICMP, capturando os pacotes gerados pelo programa
Ping. Voc deve se lembrar de que o programa Ping uma ferramenta simples que permite
que qualquer pessoa (por exemplo, um administrador de rede) verigique se um host est
vivo ou no. O programa Ping no host de origem envia um pacote para o endereo IP de
destino; se o alvo est ativo, o programa Ping no host de destino responde enviando um
pacote de volta para o host de origem. Como voc deve ter adivinhado (Este laboratrio
sobre ICMP), ambos os pacotes de Ping so pacotes ICMP. Com o mesmo trfego gerado,
vamos investigar o protocolo ARP. O Address Resolution Protocol usado para fazer um
mapeamento entre um endereo IP e o endereo fsico (MAC) da interface associada ao
endereo IP de interesse. Esse endereo fsico usado para preencher o campo Destino na
camada de enlace.

Faa o seguinte:

Vamos comear, abrindo um terminal.


Inicie o sniffer Wireshark, e inicie captura de pacotes (para facilitar a atividade,
interessante no usar outros aplicativos que gerem trfego na rede).
Execute o comando ip neighbour flush all para limpar o cache da tabela ARP do seu
computador. Para certificar que a operao foi bem sucedida, verifique com o
comando ip neighbour show se a tabela ARP est vazia.
Execute o comando ping c 10 www.ust.hk (um servidor Web em Hong Kong -
University of Science and Technology). O argumento "-c 10" indica que 10 mensagens
de Ping devem ser enviadas.
Quando o programa Ping terminar, pare a captura de pacotes no Wireshark.

1
Baseado em Supplement to Computer Networking: A Top-Down Approach, 6th ed., J.F.
Kurose and K.W. Ross e na sua verso em portugus obtida em
http://www.quixada.ufc.br/atslands/attachments/redes/ICMP.pdf
No final do experimento, seu terminal deve ficar parecida com a Figura 1. Neste exemplo,
a origem estava em Goinia e o host de destino est em Hong Kong. A partir desta janela,
vemos que o programa Ping fonte enviou 10 pacotes de consulta e recebeu 10 respostas. Note
tambm que, para cada resposta, a fonte calcula o tempo de ida e volta (RTT), que para os 10
pacotes , em mdia, 369 ms.

Figura 1: Sada no terminal aps executar o comando Ping

A Figura 2 apresenta uma imagem da sada no Wireshark, depois que o filtro "icmp" foi
aplicado. Note que a lista de pacotes mostra 20 pacotes: as 10 consultas Ping enviados pela
fonte e as 10 respostas Ping recebidos pela fonte. Observe tambm que o endereo IP da fonte
um endereo privado (atrs de um NAT); o endereo IP do destino o do servidor Web em
HKUST.

Figura 2: Sada Wireshark para o programa de Ping com IP expandido.

A Figura 3 mostra a mesma mensagem ICMP mas ampliou as informaes de protocolo


ICMP na janela do contedo do pacote. Observa-se que este pacote ICMP do tipo 8 e Cdigo
0: o chamado pacote ICMP "echo request". Alm disso, note que este pacote ICMP contm um
checksum, um identificador, e um nmero de sequncia.

Figura 3: Captura Wireshark do pacote ping com o protocolo ICMP expandido.

Para o relatrio:
Voc deve entregar uma captura de tela da janela do terminal semelhante ao da Figura
1. No relatrio, sempre que relevante, ao responder uma pergunta, voc deve inserir uma
figura mostrando o pacote(s) dentro do trace que voc usou para responder a pergunta. Na
figura, destaque a informao relevante para a pergunta.

Voc deve responder s seguintes perguntas:

1. Qual o endereo IP de sua mquina? Qual o endereo IP do host de destino?

2. Procure a requisio ARP enviada pelo seu computador. Explique o endereo MAC de
destino no cabealho Ethernet.

3. Ainda na primeira requisio ARP, o endereo IP de interesse o mesmo do endereo IP de


destino informado na questo 1? Explique.

4. Encontre a resposta ARP para a sua requisio. Quais os endereos MAC de origem e destino
no cabealho Ethernet?

5.Nos pacotes de resposta ping (Echo reply), qual o endereo de origem no cabealho
Ethernet? Ele muda ou no? Explique.

6. Examine um dos pacotes de solicitao de ping enviados pelo seu host. Quais so os
nmeros de tipo ICMP e de cdigo? Que outros campos que este pacote ICMP tem? Quantos
bytes esto nos campos de soma de verificao, nmero sequencial e identificador?
7. Examine o correspondente pacote de Ping resposta. Quais so os nmeros de tipo ICMP e
de cdigo? Que outros campos que este pacote ICMP tem? Quantos bytes esto nos campos
de soma de verificao, nmero sequencial e identificador?

2. ICMP e Traceroute
Vamos agora continuar a nossa investigao ICMP, capturando os pacotes gerados
pelo programa traceroute . Voc deve se lembrar que o programa traceroute pode ser usado
para descobrir o caminho que um pacote leva da fonte ao destino.

Traceroute implementado de diferentes maneiras em Unix/Linux/ MacOS e no


Windows . No laboratrio, usaremos o ambiente Linux. No Linux, a fonte envia uma srie de
pacotes UDP para o destino pretendido, utilizando um nmero de porta de destino
improvvel. Para ambos os sistemas operacionais, o programa envia as trs primeiras
requisies com TTL = 1 , as trs seguintes com TTL = 2, e assim por diante . Lembrese que um
roteador ir diminuir o valor TTL de um pacote que passa pelo roteador. Quando um pacote
chega a um roteador com TTL = 1, o roteador envia um pacote de erro ICMP de volta para a
fonte.

O que devemos fazer:

Vamos comear por abrir um terminal.


Inicie o sniffer Wireshark, e comece Wireshark captura de pacotes.
Execute o comando traceroute www.inria.fr
Quando o programa traceroute terminar pare a captura de pacotes no Wireshark.

Perecebemos que, para cada valor de TTL, o programa de origem envia trs pacotes de
teste. Traceroute mostra o RTT para cada um dos pacotes de teste, bem como o endereo IP (e
possivelmente o nome) do roteador que retornou a mensagem excedeu TTL ICMP. Verifique
um pacote retornado por um roteador. Note que este pacote de erro ICMP contm muitos
mais campos do que as mensagens Ping ICMP.

Para o relatrio
Para esta parte do laboratrio, voc deve entregar uma captura de tela do terminal
com a sada do comando traceroute. No relatrio, sempre que relevante, ao responder uma
pergunta, voc deve inserir uma figura mostrando o pacote(s) dentro do trace que voc usou
para responder a pergunta. Na figura, destaque a informao relevante para a pergunta.

Responda s seguintes perguntas:

8. Qual o endereo IP do host de destino alvo?

9. Examine o pacote com mensagem de erro ICMP. Ele tem mais campos do que o pacote de
eco ICMP. O que est includo nesses campos?

10. Consulte a sada do comando traceroute. H um link cujo atraso significativamente maior
do que os outros? Na base dos nomes dos roteadores, pode supor a localizao dos dois
roteadores no final desta ligao?
11. Examine os ltimos trs pacotes ICMP recebidos pelo host de origem. Esses pacotes so
diferentes dos pacotes de erro ICMP? Por que so diferentes? Obs: essa questo vlida se os
trs ltimos pacotes forem respondidos pelo host de destino alvo. Caso o host indicado no
roteiro no tenha sido alcanado com traceroute, tente com outro servidor mais prximo (e.g.
sites institucionais no Brasil) at que tenha xito.

Divirta-se

Acesse os sites http://traceroute.monitis.com/ e http://www.yougetsignal.com/tools/visual-


tracert/ .

Tente vrios destinos (Europa, sia e etc.) e verifique que, ocasionalmente, o caminho entre
dois pontos bem menos lgico que o esperado.

Você também pode gostar