Você está na página 1de 6

ping

{ICMP-Applics.doc}

ping um aplicativo cuja fim informar sobre a acessibilidade de um dado computador ou n na Internet a
partir do computador local e, ademais, dar uma ideia do respectivo tempo de acesso.
A sintaxe do comando ping hostname. Eis um exemplo: ping sigma.ist.utl.pt.
Funcionamento bsico:
ping suporta-se no uso de mensagens ICMP: echo-request e echo-reply (ou, mais brevemente, e no que adiante
se segue: pings e pongs...).
Na prtica, o computador local - onde o comando foi invocado - envia um ping ao hostname alvo, com o TTL
(Time To Live) iniciado ao valor por omisso (default). Se e quando receber esse ping, aquele hostname devolve um
pong; os campos Identificador, Nmero de Sequncia e Dados Opcionais no pong sero idnticos aos respectivos
campos no ping. Quando o pong chegar ao computador local, surgir, no ecran, em milissegundos, o RTT (Round
Trip Time), isto : o tempo decorrido entre o envio do ping e a recepo do pong.
Eventualmente, poder tambm ser apresentado o TTL presente nesse pong (conhecido o seu valor inicial, a
diferena entre ambos ditar o nmero de ns visitados). Se ele for muito baixo, dever-se- aumentar o valor
default do TTL no hostname alvo do ping sob pena de alguns computadores que com ele tentem comunicar no o
venham a conseguir: datagramas que dele provm iro ser descartados na rede (com o motivo: Time exceeded in
transit).
ping repetido:
Por omisso, o computador local envia (ao mesmo hostname) vrios pings a intervalos de 1 seg vindo
consequentemente a receber outros tantos pongs. A ser o caso, no ecran apresentam-se os valores mnimo, mdio e
mximo do RTT para cada par ping / pong.
Pode especificar-se um valor diferente para o intervalo de tempo entre sucessivos pings; querendo alarg-lo a,
por ex., 5 segundos, invoca-se ping i 5 hostname.
Para terminar o envio de pings, existem vrias alternativas:
1) executar ctrl+C
2) fixar o numero de pings a enviar; querendo que seja 10 (por ex.), invoca-se ping c 10 hostname
3) especificar a durao do envio de pings; querendo limit-la a 15, invoca-se ping w 15 hostname
Se, antes de terminar o ping, se pretenderem as estatsticas parciais, isto , calculadas tendo em conta apenas um
subconjunto dos pings enviados, bastar invocar ctrl-|.
- Verificar se a interface rede local est funcionando:
Para tal, invocar ping 0, ou ping localhost, ou ping loopback, ou ping 127.0.0.1.
- Descoberta do TTL do computador local:
Para tal, invocar ping localhost, e examinar o TTL do pong recebido.
- Descoberta do endereo-IP de um computador:
Para tal, invocar ping c 1 hostname, e examinar o pong recebido.
- Descoberta da rota seguida por pings e pongs:
Para tal, invocar ping R hostname
- ping por rota especificada na fonte:
Pode especificar-se a rota a seguir pelo ping, com ping hop1 hop2 hop3 ... hopN hostname
ping inverso:
Para saber se o computador local atingvel a partir de alguns computadores remotos algures no mundo, aceder
a http://just-ping.com/, e digitar o nome global do computador local.
ping-of-death: inundao de pings extensos:
O uso de pings tem riscos: considere-se nomeadamente o envio de uma longa sequncia de pings longos - que
pode obter-se com um comando flood usando pings de 200000 bytes. ping f s 200000 hostname
O que ir acontecer? O hostname alvo ir ser bombardeado com uma longa sequncia de pings cujo
comprimento excede 64 Kbyte; para devolver os pongs, ele ter que, primeiramente, reconstruir, em cada pong, os
200000 bytes transportados em cada ping. No custa prever o resultado final: a mquina fica muuuuuuuuuuito
lenta... Opo do administrador do hostname: desactivar a resposta aos pings.

traceroute
{ICMP-Applics.doc}

traceroute um aplicativo cuja finalidade apresentar a rota seguida na Internet mais exactamente, a
sequncia de ns visitados - at um dado computador.
A sintaxe do comando traceroute hostname. Eis um exemplo: traceroute sigma.ist.utl.pt.
(Nota: em MS-Windows, o comando tracert hostname. Outras alternativas: mtr e VisualRoute)
Funcionamento bsico:
O suporte do aplicativo depende do Sistema Operativo do computador local aquele onde o comando
invocado: traceroute/Unix suporta-se em UDP, tracert/MS-Windows suporta-se em ICMP.
Na verso Unix/UDP, o computador local comea por enviar ao hostname alvo um segmento UDP (ou, mais
brevemente, e no que adiante se segue: uma sonda), dirigido a um porto aleatrio elevado (por omisso: 33434) e
sobre um datagrama cujo TTL (Time To Live) iniciado a 1. O primeiro n de encaminhamento que o receber e
admitindo que no a ele que se encontra ligado aquele alvo, decrementa esse TTL; o resultado 0 pelo que
devolve, ao computador local, uma mensagem-ICMP Time exceeded reportando o seu prprio endereo-IP.
Ao receb-la, o computador local conclui que h pelo menos um n entre ele e o alvo e envia outra sonda,
desta feita iniciando a 2 o TTL. O primeiro n que a receber decrementa o TTL e f-la seguir para o n seguinte...
Este e se no for a ele que o alvo se liga, decrementa o TTL; o resultado 0 pelo que devolve Time exceeded...
E assim repetidamente: so enviadas sucessivas sondas, com o TTL iniciado a 3, 4, .... E recebem-se rplicas
Time exceeded, cada qual com o endereo-IP do n onde foi gerada e levando-o a concluir que h pelo menos 3,
4, ... ns ao longo da rota entre ele e o alvo... At que finalmente o TTL da sonda enviada suficientemente
elevado para chegar ao alvo. No sendo provvel que um processo a o esteja aguardando no tal porto aleatrio -,
ser devolvida uma mensagem-ICMP reportando Port Unreachable. O computador local d por concluda a
procura: sabe quantos e quais os ns entre ele e alvo pelo que os pode listar no ecran (e ao RTT entre ele e cada
um deles).
De facto, e por cada TTL, o computador envia (ao mesmo alvo) no uma mas (por omisso) trs sondas vindo
a receber, de cada vez, outras tantas rplicas Time exceeded ou Port Unreachable. Pelo que o cran apresenta, por
cada n, trs valores RTT. Qui um ou dois venham substitudos por * significando que as correspondentes
sondas foram ignoradas. Pode tambm suceder que as ltimas linhas degenerem em * * *; razes possveis so: a
inacessibilidade do alvo ou o descarte das rplicas (por, por ex., uma firewall). Enfim, a ltima linha poder
apresentar uma mnemnica !, significando que o traceroute foi abortado por alguma razo (por ex.: host
unreachable, network unreachable, etc.).
O mtodo falha se, no alvo, estiver correndo um processo escuta no porto referido nas sondas.
A verso MSWindows/ICMP anloga com a seguinte diferena: as sondas so agora mensagens ICMP echorequest sobre datagramas cujo TTL sucessivamente iniciado a 1, 2, 3... Quando o ltimo echo request chega ao
alvo, ele devolve um echo-reply - com o que a procura se d por concluda.
expectvel que os resultados sobre UDP e ICMP sejam anlogos - excepto se, entre o computador local e o
alvo, houver algo (uma firewall, por ex.) que bloqueie um dos tipos de trfego, mas no o outro.
- traceroute inverso:
Alguns servidores (cfr. www.traceroute.org/) do a conhecer a rota deles at ao computador local.
- timeouts:
Se o traceroute aborta por timeout, pode ser difcil discernir o mal: pode estar no ltimo n listado, ou no n
que se lhe segue, ou na rota de retorno... Para o discernir, qui ajude o uso de traceroute a partir de vrios
servidores (cfr. www.traceroute.org/) para saber se o n em causa est acessvel...
- tcptraceroute:
Com a proliferao de firewalls, muitos dos datagramas enviados por traceroute/tracert vem a ser descartados
inviabilizando o traado completo da rota ao alvo. Uma alternativa tcptraceroute em que as sondas so
segmentos-TCP SYN. O alvo pode responder com RST ou com SYN/ACK caso este em que o computador local
devolve RST: portanto nunca vindo a estabelecer-se uma conexo...
- Rotas mltiplas, polticas de encaminhamento que se adaptam carga na rede:
Considere-se que, entre W e E, existem duas rotas: WXAYE e WXCDYE. possvel que,
medida que o TTL varia, traceroute reporte sucessivamente os ns X, A, D, E levando a concluir erroneamente - que D est ligado a A e E.

lft, layer four traceroute


{ICMP-Applics.doc}

traceroute tradicional evidencia diversos males: a eventual apresentao de rotas errneas, a necessidade de
2*N datagramas para estabelecer uma rota de N ns, o desperdcio de tempo no preenchimento das rplicas Time
exceeded, e a incapacidade de apresentar o caminho de retorno que pode no coincidir com o de ida. Convm
uma forma mais eficiente de fazer as coisas...
A RFC-1393 prope, para tal, uma nova opo-IP - dita de Traceroute e um novo tipo de mensagem ICMP
dito de Traceroute.
Conforme a essa RFC, o computador local insere, no assim agora denominado Outbound Packet (seja ele uma
sonda-UDP ou um echo-request), aquela opo-IP Traceroute; qualquer n que o receba devolve ao computador
local uma mensagem-ICMP Traceroute.
Assim fazendo, gastam-se no total N+1 datagramas apenas, requere-se menos tempo para obter a informao
pretendida e a rota apresentada fidedigna.
Ao chegar o Outbound Packet ao hostname alvo, poder este, por seu turno, devolver um Return Packet,
tambm com aquela opo-IP Traceroute; qualquer n que o receba envia ao computador local uma mensagemICMP Traceroute.
Assim fazendo, duplica-se a informao prestada relativamente a traceroute tradicional: apresenta-se tambm a
rota de retorno.
A opo-IP Traceroute, no Outbound e Return Packets, envolve os seguintes campos significativos:
- ID Number: nmero arbitrrio usado pelo computador local para identificar um Return Packet;
- Originator IP Address: endereo-IP para onde os ns enviam as mensagens-ICMP passagem quer do
Outbound Packet quer do subsequente Return Packet.
- Outbound Hop Count (OHC): nmero de ns por onde o Outbound Packet passou; inicializado a 0 pelo
computador local;
- Return Hop Count (RHC): nmero de ns por onde o Return Packet passou; inicializado a FFFF pelo
computador local, e a 0 pelo hostname alvo;
A mensagem-ICMP Traceroute, gerada por um n, envolve os seguintes campos significativos:
- Output Link Speed e Output Link MTU: capacidade (em bytes/seg) e MTU (em bytes), da linha por onde ser
enviado o Outbound/Return Packet;
- ID Number, Outbound Hop Count e Return Hop Count: copiados dos correspondentes campos do
Outbound/Return Packet que provocou a mensagem-ICMP em causa.
Ao chegar o Outbound Packet ao hostname alvo - e se ele requerer um Return Packet (nomeadamente, um
echo-request requere um echo-reply) - ele construdo com, tambm, a opo-IP Traceroute; copiam-se para ele
os campos ID Number, Originator IP Address e OHC da opo-IP Traceroute do Outbound Packet e envia-se o
Return Packet ao computador local...
Os Hop Counts habilitam a fonte a discernir acerca da eventual perda de alguma Mensagem-ICMP: se,
nomeadamente, vier a receber dois datagramas, com, respectivamente, OHC=4 e OHC=6, ento pode concluir que
se perdeu uma Mensagem-ICMP (com OHC=5)
Quando um n recebe um datagrama com a opo-IP Traceroute, e o faz seguir para o n seguinte, deve enviar
uma mensagem-ICMP ao Originator IP Address nela referido. Se o respectivo RHC for FFFF, ento trata-se de um
Outbound Packet - e incrementa OHC; caso contrrio, incrementa RHC.
Actualmente, o aplicativo lft executa o traceroute recorrendo a vrios mtodos incluindo o supracitado na
RFC-1393. Todavia, no estando esta j amplamente reflectida nos ns da Internet, acaba por, na realidade, no ser
l muito utilizada...

Você também pode gostar