Você está na página 1de 13

Laboratório 4.

2
Realizando Testes em Clientes
Utilizando ICMP e ARP

tel (41) 4063-7810 - info@dltec.com.br - www.dltec.com.br


tel (41) 4063-7810 - info@dltec.com.br - www.dltec.com.br

ÍNDICE

1 Introdução ...............................................................................................................3
2 Conceitos Teóricos e Revisão sobre o ICMP e ARP .........................................................3
2.1 ICMP – Internet Control Message Protocol ..............................................................3
2.1.1 Ping ............................................................................................................ 3
2.1.2 Traceroute ................................................................................................... 4
2.2 ARP – Address Resolution Protocol ........................................................................ 5
2.3 Atividade Prática de ICMP – Ping e Trace................................................................7
2.3.1 Executando Teste de Ping .............................................................................. 7
2.3.2 Executando Testes de Trace ......................................................................... 10
2.4 Atividade Prática de ARP .................................................................................... 11

Pág. 2 Laboratório 4.2 - Realizando Testes em Clientes Utilizando ICMP e ARP


tel (41) 4063-7810 - info@dltec.com.br - www.dltec.com.br

1 Introdução
O objetivo desse laboratório é o aprofundamento no funcionamento do ICMP, analisar o
protocolo ARP através do comando “arp –a” no Windows. Lembre-se que tanto o ICMP quanto o
ARP estão na camada 3 do modelo OSI.

Bons estudos!

2 Conceitos Teóricos e Revisão sobre o ICMP e ARP

2.1 ICMP – Internet Control Message Protocol

O ICMP - Internet Control Message Protocol- é um protocolo que faz parte da pilha TCP/IP, o
qual está situado na camada de rede (3) do modelo OSI, a mesma camada do protocolo IP -
Internet Protocol. O seu uso mais comum é feito pelos utilitários ping e traceroute. O ping envia
pacotes ICMP para verificar se um determinado host está disponível na rede. O traceroute faz
uso do envio de diversos pacotes UDP ou ICMP e determina a rota seguida para alcançar um
host (determina o caminho).

2.1.1 Ping

Quando queremos determinar se um determinado host está disponível na rede interna ou


mesmo na Internet, frequentemente utilizamos o utilitário ping como um dos primeiros
recursos de troubleshooting. O fato de um host não responder ao ping não quer dizer que ele
esteja realmente fora da rede, pois este serviço pode estar desabilitado neste host por questões
de segurança.

O cliente envia primeiro um pacote do tipo ICMP Echo Request, ou simplesmente ICMP Echo e
quando o host de destino recebe essa informação responde com um pacote do tipo ICMP Echo
Reply.

Este processo se repete até que o usuário cancele o ping com um <CONTROL><C> ou então,
por padrão, no Windows após quatro envios de Echo. O utilitário então calcula as estatísticas e
as exibe na tela. O usuário também pode controlar, através de opções do comando, quantos
pacotes devem ser enviados, o intervalo de tempo entre eles, e o tamanho do pacote. Na
verdade a área de dados do pacote não carrega nenhuma informação útil, entretanto, pode ser
aumentada para testar a rede com pacotes de tamanhos diferentes. Existe atualmente um
limite para o tamanho do pacote, pois um pacote muito grande pode provocar o reboot de
alguns sistemas Windows, sendo este o conhecido “ping of death” ou “ping da morte”.

Veja na figura abaixo com um exemplo de ping:

Pág. 3 Laboratório 4.2 - Realizando Testes em Clientes Utilizando ICMP e ARP


tel (41) 4063-7810 - info@dltec.com.br - www.dltec.com.br

2.1.2 Traceroute

Um dos campos do cabeçalho IP é chamado TTL ou “Time to Live” e determina por quantas
passagens em roteadores este pacote pode sobreviver. A cada passagem ou salto em um
roteador ou host este campo é decrementado de 1. Este mecanismo é utilizado para evitar que
pacotes percorram a rede eternamente, rodando de um lado para outro em loop.

O pacote de ICMP Echo Request possui um TTL igual a 64 no Linux, 128 no Windows e 255 para
equipamentos Cisco.

Se um pacote possui TTL igual a 1 e este deve passar por um roteador antes de alcançar o seu
destino final, este roteador irá descartá-lo ao verificar o TTL do pacote e retornar um pacote
ICMP do tipo ICMP Time Exceeded para o host que o enviou. Neste pacote de resposta o
roteador se identifica como origem da mensagem Time Exceeded. É nessa característica do
protocolo que o utilitário traceroute se baseia para traçar uma rota entre dois pontos da rede.

Suponha que o host 1 esteja separado do host 2 por dois roteadores, chamados router A e
router B. A partir do host 1 é executado um traceroute para o host 2. O utilitário cria um pacote
UDP destinado ao host 2, mas configura o seu TTL para 1. O router A recebe este pacote e,
apesar de saber para onde rotear o pacote, ao decrementar o TTL este se torna 0 (zero) o que
siginifica que este pacote deve ser descartado, retornando um ICMP Time Exceeded para o host
1. Quando o traceroute recebe esta resposta ele tem o endereço do primeiro roteador no
caminho entre os dois hosts. O primeiro roteador é mostrado para o usuário.

Em seguida, o traceroute cria outro pacote UDP, com o TTL de 2. O pacote sobrevive ao
primeiro roteador, mas é descartado no segundo. Quando recebe o ICMP Time Exceeded do
segundo roteador temos o endereço dele, que também é mostrado na saída do traceroute. O
passo seguinte é um pacote com TTL de 3 o qual alcança o host 2. Os pacotes UDP são sempre
enviados com uma porta de destino inválida, o que força que o host 2, ao receber o pacote,
retorne um pacote ICMP Destination Unreachable. O traceroute sabe então que o caminho
completo foi descoberto e mostra ao usuário o endereço do host 2, indicando que o trace foi
finalizado.

No Windows o comando é executado no prompt de comando e sua sintaxe é “tracert”. Veja a


figura abaixo com o processo do traceroute:

Pág. 4 Laboratório 4.2 - Realizando Testes em Clientes Utilizando ICMP e ARP


tel (41) 4063-7810 - info@dltec.com.br - www.dltec.com.br

2.2 ARP – Address Resolution Protocol

O ARP é usado como ferramenta para que um computador consiga resolver com êxito o
mapeamento dos endereços de rede da Camada 3 para endereços MAC (Media Access Control)
da Camada 2 quando estamos fazendo a comunicação em uma LAN multiacesso. Normalmente
sabemos nosso IP e MAC, porém do outro lado conhecemos o IP e não sabemos o MAC do host
remoto que estamos desejando nos comunicar, determinar esse mapeamento do IP com o MAC
do host remoto é a função principal do protocolo ARP.

O protocolo de rede TCP/IP utiliza endereços IP, como 192.168.1.1, para identificar dispositivos
individuais e para ajudar na navegação de pacotes de dados entre as redes (camada 3).
Embora o endereço IP seja essencial na transmissão de dados de uma rede local para outra, ele
não pode entregar sozinho os dados na rede local de destino. Os protocolos de rede local, como
Ethernet, usam o endereço MAC (Camada 2) para identificar dispositivos locais e para entregar
os dados (quadros de camada 2) entre dois host.

O endereço MAC já foi visto no capítulo 2 e seguir temos um exemplo de um endereço MAC, o
qual pode ser representado de dois em dois caracteres hexadecimais separados por hífen “00-
02-A5-9A-63-5C” ou de quatro em quatro pontuados “0002.A59A.635C”. Portanto, relembre
que um endereço MAC é um endereço de 48 bits, expresso no formato hexadecimal (HEX)
como doze caracteres HEX, onde os 24 primeiros bits representam o código do fabricante (OUI)
e os últimos 24 é o número serial que identifica a placa de rede.

Na prática o ARP mantém uma tabela no computador, contendo combinações de endereços IP e


MAC de computadores ou outros dispositivos remotos que estejam na sua LAN. Em outras
palavras, ele sempre sabe que endereço MAC está associado a um endereço IP. Se o ARP não
souber o endereço MAC de um dispositivo local, ele emitirá um broadcast usando o endereço
IP. Esse broadcast procura o endereço MAC que corresponde ao endereço IP de destino. Se o
endereço IP estiver ativo na rede local, será enviada uma resposta da qual o ARP extrairá o
endereço MAC e irá completar sua tabela vinculando o IP de destino com o MAC recebido.

Portanto esses endereços MAC e o próprio ARP são usados apenas dentro da rede local.

Quando um computador prepara um pacote para transmissão, verifica-se se o endereço IP do


destino faz parte da rede local através do AND lógico do IP com sua máscara, verificando se a
parte do endereço IP que representa a rede é idêntica à da rede local. Caso positivo, é
consultado o processo ARP para se obter o endereço MAC do dispositivo de destino que utiliza
esse endereço IP. Então, o endereço MAC é aplicado ao pacote de dados e utilizado para que
este seja entregue.

Então os dados trocados entre um micro A e o micro remoto B terá o formato:


 MAC-A | MAC-B | IP-A | IP-B (Mac origem, Mac destino, IP origem, IP destino).

Quando o micro B responder os dados terão os endereços invertidos, pois agora a origem é o B
e o destino é o A:
 MAC-B | MAC-A | IP-B | IP-A (Mac origem, Mac destino, IP origem, IP destino).

Veja um exemplo na figura 1 a seguir.

Pág. 5 Laboratório 4.2 - Realizando Testes em Clientes Utilizando ICMP e ARP


tel (41) 4063-7810 - info@dltec.com.br - www.dltec.com.br

Se o endereço IP de destino não for local, o computador precisará do endereço MAC do gateway
padrão. O gateway padrão é a interface que faz o roteamento para outras redes. O endereço
MAC do gateway é utilizado porque o pacote será entregue inicialmente ao roteador, para que
este então o encaminhe à rede à qual ele se destina.

Pág. 6 Laboratório 4.2 - Realizando Testes em Clientes Utilizando ICMP e ARP


tel (41) 4063-7810 - info@dltec.com.br - www.dltec.com.br

2.3 Atividade Prática de ICMP – Ping e Trace

Para realizar o ping e traceroute no Windows devemos ir ao prompt de comando para que
possamos executar os testes, o que já foi ensinado no Laboratório 4.1.

2.3.1 Executando Teste de Ping

O ping tem a função de verificar a conectividade fim a fim entre dois hosts. Veja abaixo um
exemplo de ping:

Portanto, basta digitar o comando “ping” seguido pelo IP que desejamos testar. Na resposta
identificamos que foram enviados 32 bytes, com um tempo de 2 mili segundos e o tempo de
vida de 63. Outro ponto importante é que temos a taxa de perda abaixo nas estatísticas com os
pacotes enviados, recebidos e aí o aplicativo calcula quantos foram perdidos, onde no exemplo
acima temos um índice de perda de 0%, ou seja, 100% das mensagens de echo enviadas
foram respondidas pelo host de destino.

No exemplo abaixo utilizamos os argumentos “–l 1500” para fazer um ping de 1500 bytes e o “-
t” para indicar para que o ping seja enviado indefinidamente. Para parar o ping devemos digitar
“Control + C”.

Pág. 7 Laboratório 4.2 - Realizando Testes em Clientes Utilizando ICMP e ARP


tel (41) 4063-7810 - info@dltec.com.br - www.dltec.com.br

Outro uso do ping é para testar se o DNS está funcionando, digitando ping e um nome de site,
por exemplo, ping www.cisco.com, com isso o host terá que fazer a tradução via DNS do nome
para IP e depois fazer o ping. Veja um exemplo abaixo:

Com esse comando conseguimos descobrir qual o IP de determinado Website, porém nem
sempre a resposta ao ICMP é liberada por questões de segurança.

Agora é a sua vez de executar os testes seguindo as instruções abaixo:

1. Agora no seu computador, abra o prompt de comando e digite o “ipconfig”. Encontre o


IP do seu roteador padrão (default gateway) e faça um ping para ele, verificando o
resultado e responda:
a. Qual o TTL que apareceu no ping?
b. Qual o tempo de resposta?
c. Qual o índice de perda de pacotes?

2. A próxima etapa é fazer um ping para um website da Internet, realize o ping para
“www.cisco.com” e para “www.uol.com.br” e responda:
a. Qual o TTL que apareceu no ping?
b. Qual o tempo de resposta?
c. Qual o índice de perda de pacotes?

3. Houve diferenças entre o ping para o gateway e para os websites?

4. E entre os Websites houve diferença?

5. Como você explicaria essas diferenças?

Pág. 8 Laboratório 4.2 - Realizando Testes em Clientes Utilizando ICMP e ARP


tel (41) 4063-7810 - info@dltec.com.br - www.dltec.com.br

Mais detalhes práticos:

Você pode receber mensagens de erro ao executar um ping, basicamente podemos receber um
“Unreacheable” (Rede de destino inacessível) ou um “Timeout Exceeded” (Esgotado o tempo
limite do pedido).

Uma resposta de "Rede de destino inacessível" significa que não havia rota para o destino. Você
precisa verificar a tabela de roteamento no roteador listado no endereço "Resposta de" na
mensagem "Rede de destino inacessível".

A resposta "Esgotado o tempo limite do pedido" significa que não houve resposta ao comando
ping no período de tempo padrão (1 segundo). Você pode verificar o seguinte:
 Um roteador está inoperante. Para verificar os roteadores no caminho entre a origem e
o destino.
 O host de destino está inoperante. Verifique fisicamente se o host está executando ou
verifique a conectividade através de outro protocolo.
 Não existe uma rota de volta ao seu computador. Se o host estiver executando, você
pode verificar se existe uma rota de retorno, exibindo o gateway padrão e a tabela de
roteamento local no host de destino.
 A latência da resposta é de mais de um segundo. Use a opção -w no comando ping para
aumentar o tempo limite. Por exemplo, para permitir respostas em 5 segundos, use ping
–w 5000.

Pág. 9 Laboratório 4.2 - Realizando Testes em Clientes Utilizando ICMP e ARP


tel (41) 4063-7810 - info@dltec.com.br - www.dltec.com.br

2.3.2 Executando Testes de Trace

Agora que já estudamos o ping vamos ao comando de traceroute. Para executar o traceroute
temos o comando “tracert” no Windows, pois o traceroute é o comando utilizado no Unix,
Linux e nos roteadores da Cisco (normalmente utilizado o formato reduzido “trace” nos
roteadores Cisco).

Lembre que o traceroute tem a função de determinar o caminho realizado pelo pacote através
da rede até chegar ao seu destino, porém assim como para o ping algumas redes podem ter o
traceroute bloqueado por questões de segurança.

Vamos a um exemplo de trace no Windows, o qual da mesma maneira é realizado pelo prompt
de comando:

Veja que fizemos o tracert para o roteador padrão da rede, o qual dá como resposta apenas 1
salto (ou hop em inglês). Agora vamos testar para o site da UOL na sequencia:

Note que do computador de teste tivemos 12 saltos até chegar ao destino, sendo que o salto 9
não pode ser identificado (note o * como saída e a mensagem de tempo limite excedido),
provavelmente por questões de segurança e filtragem teve a resposta do Time-to-live excedido
bloqueada. Além disso, o trace pode ter também a mensagem de host inalcançável (destination
unreachable).

Uma dica é que no caso de você receber uma mensagem de destino inalcançável (U) no ping ou
trace pode representar uma regra de filtragem (firewall ou lista de controle de acesso – ACL)
aplicada na interface dos roteadores por questões de segurança.

Pág. 10 Laboratório 4.2 - Realizando Testes em Clientes Utilizando ICMP e ARP


tel (41) 4063-7810 - info@dltec.com.br - www.dltec.com.br

Agora é a sua vez de executar o comando em seu computador seguindo os passos abaixo:

1. No seu computador, abra o prompt de comando e digite o “ipconfig”. Encontre o IP do


seu roteador padrão (default gateway) e faça um tracert para ele, verificando o
resultado e responda:
a. Quantos saltos foram dados até o roteador padrão?
b. Houve alguma perda (*)? Quantos?

2. A próxima etapa é fazer um tracert para um website da Internet, realize o tracert para
“www.cisco.com” e para “www.uol.com.br” e responda:
a. Quantos saltos foram dados até cada um dos websites?
b. Houve erros (*)? Quantos?

3. Houve diferenças entre o tracert para o gateway e para os websites?

4. E entre os Websites houve diferença?

5. Como você explicaria essas diferenças?

2.4 Atividade Prática de ARP

Para a prática de ARP precisamos fazer acesso a um micro da rede Interna, o qual pode ser o IP
do seu roteador padrão ou outro computador que você tenha em sua rede, para simular uma
comunicação interna. Abra o prompt de comando do Windows e verifique qual a situação da sua
tabela ARP digitando “arp –a”, veja um exemplo de saída abaixo:

Note no exemplo acima que o computador possui mais de uma interface de rede e, portanto,
terá uma tabela ARP para cada rede. A interface principal desse computador do exemplo é a
10.0.0.104 e tem vários MACs aprendidos de forma dinâmica, os quais foram aprendidos via
ARP, e outros estáticos, os quais são endereços padrões instalados pelo próprio Windows 7.

Por exemplo, o roteador padrão dessa rede é o IP 10.0.0.1, o qual já foi mapeado via ARP com
o MAC 94-0c-6d-bd-56-34. Temos ainda um micro com IP 10.0.0.102 e outro 10.0.0.103
aprendidos dinamicamente pelo protocolo ARP. Agora vamos inserir um quarto computador na
rede com IP 10.0.0.100, o qual não está na tabela acima. Vamos fazer um ping para o novo
micro e depois olhar a tabela ARP para ver o mapeamento do MAC dele, veja a saída abaixo:

Pág. 11 Laboratório 4.2 - Realizando Testes em Clientes Utilizando ICMP e ARP


tel (41) 4063-7810 - info@dltec.com.br - www.dltec.com.br

Portanto, quando fizemos o ping para 10.0.0.100, primeiro nosso computador enviou uma
solicitação ARP na rede em broadcast (para o IP de destino 255.255.255.255 e MAC ffff.ffff.ffff)
solicitando o MAC do IP 10.0.0.100. O micro 10.0.0.100 ao receber a solicitação irá responder
em Unicast (diretamente para o micro 10.0.0.104), pois na mensagem de solicitação ARP o
endereço IP e MAC de origem estão listados.

Ao receber a resposta do ARP o computador 10.0.0.104 monta o quadro com as mensagens de


echo request referentes ao ping especificando seu IP e MAC na origem e como destino o IP
10.0.0.100 e MAC 00-21-00-06-4a-c5.

Agora vamos fazer o ping para um site da Internet e verificar o que vai ocorrer com a tabela
ARP. Será que esse IP vai ser mapeado com o MAC do roteador na tabela do compuador
10.0.0.104? Vamos verificar:

Pág. 12 Laboratório 4.2 - Realizando Testes em Clientes Utilizando ICMP e ARP


tel (41) 4063-7810 - info@dltec.com.br - www.dltec.com.br

Ao verificarmos a tabela ARP não vamos encontrar o IP do servidor HTTP da Cisco, pois ele não
pertence à rede local do nosso computador, portanto o MAC utilizado para essa comunicação é
do roteador padrão que já estava na tabela (10.0.0.1).

Agora é a sua vez de pratica utilizando seu próprio computador e seguindo os passos abaixo:

1. Agora no seu computador, abra o prompt de comando e digite o “ipconfig”. Encontre o


IP do seu roteador padrão (default gateway) e faça um ping para ele.

2. Agora digite “arp –a” e verifique qual o endereço MAC do seu roteador padrão.

3. Existem outros IPs registrados como dinâmicos na saída do comando “arp –a”?

4. Tente identificar que computadores ou dispositivos são esses.

5. A próxima etapa é fazer um ping para um website da Internet, realize o ping para
“www.cisco.com” e para “www.uol.com.br”.

6. Agora digite novamente “arp –a” e verifique se existem entradas na sua tabela ARP para
esses IPs.
a. Existem entradas?
b. Porque?

Dica prática: para apagar as entradas do arp utilize o comando “arp –d *”, porém você
precisa executar o prompt de comandos como administrador. Após um tempo o computador irá
criar novamente as entradas.

Com isso finalizamos essa prática e até a próxima!


Em caso de dúvidas ou dificuldades utilize o fórum do capítulo para que possamos ajudar.

Equipe DlteC do Brasil

Pág. 13 Laboratório 4.2 - Realizando Testes em Clientes Utilizando ICMP e ARP

Você também pode gostar