ICMP
ICMP
ICMP
PING:
Ping es una herramienta de diagnstico para verificar la conectividad entre dos
computadoras en una red. Enva paquetes ICMP con Respuesta de Eco a una direccin IP
remota y observa las respuestas ICMP. El autor de la versin inicial del programa ping que
actualmente utiliamos fu! Mi"e Muss. Muchas otras personas han me#orado$ re%escrito$ y
variablemente abusado de ping desde entonces.
El nombre de ping en s es algo colorido. &lgunas personas dir'n que es un acrnimo que
significa el Pac"et I(ternet )roper$ este no es el caso. Ping fu! nombrado debido al sonido
del sistema de barrido de un sonar. Inclusive e*iste una historia en la cual se dice que un
administrador de sistemas escribi un script que repetidamente hacia un ping a una
computadora en la red y obtena una respuesta audible de un +ping+ por cada !*ito. El
administrador de sistemas entonces era cap' de ir metdicamente alrededor de su red
revisando conectores ,(C hasta encontrar el conector fallido que haba estado haciendo ping
en su red - cuando el sonido se detena$ haba encontrado su repuesta.
Ping realia una peticin de eco sobre una m'quina remota$ permitiendo comprobar errores
de comunicacin$ rutas y rendimiento de la red
& diferencia de otras aplicaciones .CP/IP ping no emplea ning0n protocolo de transporte
1.CP / 23P4 sino que se apoya sobre IP por lo que la respuesta a un ping de una m'quina
slo implica que est' activa (5 que el resto de capas funcionen correctamente
Muchos fire6alls e*plicitamente prohiben a los paquetes de tipo ICMP ba#o las bases de que$
74 las personas no necesitan saber como se ve tu red interna y$
84 cualquier protocolo puede ser utiliado para iniciar un ataque$ incluso ICMP.
El decidir si se debe permitir el acceso a paquetes ICMP a traves de un fire6all es una
desicin dificil de tomar. Ciertamente hay muy buenos usos para ICMP$ pero tambien e*isten
ataques basados en ICMP 1por e#emplo$ el +Ping de la Muerte+$ que usa paquetes muy
grandes para sobrecargar la pila IP del destino - con resultados e*pectaculares4. 9i decides
permitir ICMP a tu red aseg0rate de haber pensado en las repercusiones.
Opciones bajo LINUX
5pcin 3escripcin
%c conteo 3e#ar de enviar y recibir paquetes despu!s de conteo
paquetes.
%d &ctiva el 95:3E,2) en el soc"et utiliado.
%f Enviar los paquetes lo m's r'pido posible. 1flood o
inundacin4
%i tiempo Establecer un intervalo de tiempo segundos entre paquetes.
%I dispositivo Establece la interface de salida.
%l precargar Enva paquetes precargar tan r'pido como sea posible$ y
regresa a modo normal.
%n (o buscar los nombres de la computadora 1hostnames4$
solo dar direcciones IP. 1num!ricas4
%p patron Especificar hasta 7; bytes de +datos de acolchonamiento+ a
ser enviados con el paquete.
%q 9olo desplegar el sumario. 1silencioso4
Pgina 1 de 10
El protocolo ICMP
5pcin 3escripcin
%r (o utiliar tablas de ruteo para enviar el paquete$ solo
arro#arlo por la interface local.
%R &ctivar la opcin de )rabar Ruta.
%s tama<o &ctiva el n0mero de bytes de datos a tama<o.
%. soloes Enva un ping con la opcin de una estampa de tiempo.
%. esydir 5btiene estampas de tiempo y direcciones
%. espresepec =host7 =host8
=host> =host?@@@@
5btiene estampas de tiempo y direcciones de brincos pre%
especificados.
Opciones bajo Windows
2soA ping =%t@ =%a@ =%n cuenta@ =%l tamaBo@ =%f@ =%i ..C@ =%v .59@
=%r cuenta@ =%s cuenta@ ==%# lista%host@ D =%" lista%host@@
=%6 tiempo de espera@ nombre%destino
5pcionesA
%t Ping el host especificado hasta que se pare.
Para ver estadEsticas y continuar % presionar Control%InterF
Parar % presionar Control%C.
%a Resolver direcciones en nombres de host.
%n cuenta (0mero de peticiones eco para enviar.
%l tama<o Enviar tama<o del bufer.
%f Establecer (o fragmentar el indicador en paquetes.
%i ..C .iempo de vida.
%v .59 .ipo de servicio.
%r cuenta Ruta del registro para la cuenta de saltos.
%s count 9ello de hora para la cuenta de saltos.
%# lista%host &flo#a la ruta de origen a lo largo de la lista% host.
%" lista%host Restringir la ruta de origen a lo largo de la lista% host.
%6 tiempo de espera .iempo de espera en milisegundos para esperar cada
respuesta.
Pgina 2 de 10
El protocolo ICMP
El protocolo ICMP:
ICMP 1Internet Control Message Protocol4 es el protocolo de envo de mensa#es de control en
Internet y est' tan ntimamente ligado al protocolo IP$ que de hecho se puede ver como un
mdulo m's dentro del propio mdulo o proceso IP. Ga que se ha estudiado el protocolo IPv?
se analiar'$ por tanto$ el protocolo ICMPv? 1para IPv; e*iste su correspondiente ICMPv;4.
Los mensajes ICMP se transmiten como datagramas IP normales, con el campo de
cabecera "protocolo" con un alor !$ y comienan con un campo de H bits que define el
tipo de mensa#e de que se trata. & continuacin viene un campo cdigo$ de o bits$ que a
veces ofrece una descripcin del error concreto que se ha producido y despu!s un campo
suma de control$ de 7; bits$ que incluye una suma de verificacin de errores de transmisin.
.ras estos campos viene el cuerpo del mensa#e$ determinado por el contenido del campo
Pgina 3 de 10
El protocolo ICMP
+tipo+. Contienen adem's los H primeros bytes del datagrama que ocasion el error.
Cos principales tipos de mensa#e ICMP son los siguientesA
Mensajes in"ormatios
Entre estos mensa#es hay algunos de suma importancia$ como los mensa#es de petici#n de
$CO %tipo &' y los de respuesta de $co %tipo (4. Cas peticiones y respuestas de eco se
usan en redes para comprobar si e*iste una comunicacin entre dos host a nivel de capa de
red$ por lo que nos pueden servir para identificar fallos en este nivel$ ya que verifican si las
capas fsica 1cableado4$ de enlace de datos 1tar#eta de red4 y red 1configuracin IP4 se
encuentran en buen estado y configuracin.
Mensajes de error
En el caso de obtener un mensa#e ICMP de destino inalcanable$ con campo +tipo" de alor
), el error concreto que se ha producido vendr' dado por el valor del campo +cdigo+$
pudiendo presentar los siguientes valores que se muestran en la parte derecha.
Este tipo de mensa#es se generan cuando el tiempo de vida del datagrama a llegado a cero
mientras se encontraba en tr'nsito hacia el host destino 1cdigoIJ4$ o porque$ habiendo
llegado al destino$ el tiempo de reensamblado de los diferentes fragmentos e*pira antes de
que lleguen todos los necesarios 1cdigoI74.
Cos mensa#es ICMP de tipo* !+ %problemas de par,metros4 se originan por e#emplo
cuando e*iste informacin inconsistente en alguno de los campos del datagrama$ que hace
que sea imposible procesar el mismo correctamente$ cuando se envan datagramas de
tama<o incorrecto o cuando falta alg0n campo obligatorio.
Por su parte$ los mensajes de tipo*- %mensajes de redirecci#n4 se suelen enviar
cuando$ e*istiendo dos o m's routers diferentes en la misma red$ el paquete se enva al
router equivocado. En este caso$ el router receptor devuelve el datagrama al host origen
#unto con un mensa#e ICMP de redireccin$ lo que har' que !ste actualice su tabla de
enrutamiento y enve el paquete al siguiente router.
Pgina 4 de 10
El protocolo ICMP
TABLA DE CDIGOS
Los mensajes de con!o" IC#P en Ine!ne esn !e"acionados con e!!o!es$ in%o!maci&n '
diagn&sicos( E" desino de )n mensaje IC#P de e!!o!es es siem*!e "a m+)ina de
o!igen de" daag!ama en c)esi&n( ,)nca se !ansmie )n mensaje IC#P de e!!o!es en!e
Pgina - de 10
El protocolo ICMP
!o)e!s o sisemas ine!medios( Se !ec)e!da +)e )n mensaje IC#P se )i"i.a *a!a en/ia!
mensajes de con!o" o a/iso ' no *a!a 0ace! ms %ia1"e a" *!ooco"o IP$ e" c)a" jams
*od! !ec)*e!a! )n daag!ama(
La ane!io! Figura m)es!a )n ejem*"o de" en/2o de )n daag!ama IP desde "a m+)ina
A a "a m+)ina B( E" !o)e! 33 no dis*one de s)%iciene in%o!maci&n en s) a1"a de
encaminamieno ' es inca*a. de encamina! dic0o daag!ama a" desino B en c)esi&n(
Consec)enemene$ 33 e"imina e" daag!ama ' en/2a )n mensaje IC#P a "a m+)ina de
o!igen A( E" daag!ama +)e enca*s)"a dic0o mensaje$ inc")so$ no iene *o!+)4 i! *o!
e" mismo iine!a!io de !o)e!s +)e e" daag!ama inicia"(
Como la m'quina de origen a la cual va destinado un mensa#e ICMP puede ser una m'quina
remota por Internet$ los mensa#es ICMP se encapsulan siempre en datagramas IP 1ver
anterior Kigura ?4. 3e ah que ICMP ocupe un subnivel superior al ocupado por el protocolo IP
en el mismo nivel de Internet o red de la arquitectura .CP/IP.
Pgina 5 de 10
El protocolo ICMP
Tracert
.raceroute en Cinu* y tracert ba#o 6indo6s es una herramienta que combina muy
inteligentemente$ dos caractersticas de los protocolos que hacen posible Internet. Estos sonA
..L o e/piraci#n de los pa0uetes
Para proteger a Internet del efecto de paquetes atrapados en ciclos de enrutamiento$ los
dise<adores de .CP/IP dotaron a cada datagrama IP de un contador que llamaron ..C por las
siglas de .ime .o Cive. Esto es un n0mero que limita cu'ntos saltos puede dar un
datagrama$ antes de ser descartado por la red.
9in esta proteccin$ un paquete enviado a un destino ine*istente$ quedara saltando entre
dos o m's enrutadores en alg0n lugar de Internet$ desperdiciando CP2 y ancho de banda
in0tilmente y para siempre.
Cuando se introduce un datagrama IP a la red$ el campo ..C es poblado con el n0mero
m'*imo de saltos que define la vida de ese datagrama. Cada enrutador por el que ese
datagrama transita$ resta uno a ese n0mero. Cuando !ste llega a cero$ el datagrama es
descartado1
ICMP o Internet Control Message Protocol
5tro de los aciertos de los dise<adores de Internet$ fue incorporar un protocolo llamado
ICMP$ que sirve para mane#ar mensa#es de control. Esto son mensa#es administrativos entre
nodos de Internet.
Cos paquetes ICMP sirven para muchas cosasA &visar que un enlace o que un dispositivo
est'n congestionados$ que se escogi un camino sub%ptimo para enviar un paquete$ que no
se puede acceder a un sitio en particular$ etc. 2no de esos avisos es particularmente 0til para
tracerouteA El aviso de que se e*cedi la vida 0til del paquete.
Combinando estas dos herramientas$ traceroute permite construir un mapa de la red de
acuerdo como es vista desde un nodo en particular. M's aba#o$ un e#emplo del comando
traceroute usado desde mi lnea &39C en casa.
L tracert 666.yahoo.com
traceroute to 666.yahoo.a"adns.net 1;?.MH.N;.7NH4$ >J hops ma*$ ?J byte pac"ets
7 dyn%J.rbe.lacJJ%nrp;.cha.dsl.cantv.net 18JJ.H?.8J.74 NM.??N ms >8.J;N ms ;N.8ON ms
8 fe7%7%J.core%JJ.cha.dsl.cantv.net 17N8.7;.77.74 >;.?8H ms M;.?NN ms N;.;O> ms
> 7N8.7;.;H.7 17N8.7;.;H.74 M?.M?? ms ?7.JN; ms NN.J7O ms
? 7N8.7;.;N.7 17N8.7;.;N.74 O7.7?N ms ?M.7>O ms ;J.8;M ms
M 8JJ.??.?>.87; 18JJ.??.?>.87;4 8?;.8?H ms >7N.MO7 ms 8JH.NNO ms
; so>%8%J.miabb8.miami.opentransit.net 17O>.8M7.8M8.H74 7;;.>?O ms 7?M.JJN ms
7?;.MN ms
N soJ%>%J.miacr8.miami.opentransit.net 17O>.8M7.8?8.8874 7NM.7MO ms 7;J.N;7 ms
7M8.M7 ms
H so8%J%J.atlcr8.atlanta.opentransit.net 17O>.8M7.78H.7>J4 7?7.N7N ms 7>?.NN7 ms
7?J.N7O ms
O so8%J%J.atlcr7.atlanta.opentransit.net 17O>.8M7.78H.78;4 78H.>;H ms 7>7.NN8 ms
7>>.J>7 ms
7J p78%J.oa"cr8.oa"hill.opentransit.net 17O>.8M7.78H.7;;4 78M.;>8 ms 78?.HN8 ms
788.N7M ms
77 p>%J.oa"cr7.oa"hill.opentransit.net 17O>.8M7.8?>.H74 7>J.O;8 ms 788.?O? ms
78>.;H> ms
Pgina 6 de 10
El protocolo ICMP
78 p?%J.ny"cr>.ne6%yor".opentransit.net 17O>.8M7.8?8.8M>4 78?.OJ8 ms 787.7MM ms
7>M.8; ms
7> p77%J.ny"cr8.ne6%yor".opentransit.net 17O>.8M7.8?7.87N4 78>.HM8 ms 7?>.H?H ms
788.88M ms
7? p;%J.ny"bb7.ne6%yor".opentransit.net 17O>.8M7.8?7.8>?4 78?.7O; ms 78J.>8M ms
787.NM8 ms
7M iar7%so%>%>%J.ne6yor".c6.net 18JH.7N>.7>M.?O4 77O.O7O ms 78>.;8 ms 78;.JJ7 ms
7; agr7%loopbac".ne6yor".c6.net 18J;.8?.7O?.7J74 7??.N7M ms 7>>.77N ms 787.8N> ms
7N dcr7%so%N%J%J.ne6yor".c6.net 18J;.8?.8JN.;M4 787.NH7 ms 7>H.88> ms 77N.;M7 ms
7H dcr7%loopbac".6ashington.c6.net 18J;.8?.88;.OO4 7>7.H;H ms 7>>.787 ms 7M7.87;
ms
7O bhr7%pos%J%J.sterling7dc8.c6.net 18J;.8?.8>H.>?4 7M>.J8 ms 7MN.?87 ms 7M>.JJ? ms
8J csrJ>%ve8?8.stngJ7.e*odus.net 187;.>>.OH.87O4 7?;.M?O ms 7MJ.?O7 ms 78?.HM ms
87 87;.>M.87J.788 187;.>M.87J.7884 78O.OH8 ms 7>7.;?7 ms 7>7.HH> ms
88 666O.dc*.yahoo.com 1;?.MH.N;.7NH4 7HJ.?J; ms 7;J.>HM ms 78>.7NM ms
&qu se muestra cada uno de los saltos que tiene que dar un paquete al recorrer el camino
desde mi computador hasta 666.yahoo.com. Ca direccin del recorrido es muy importante$
porque en Internet no necesariamente el camino de ida es igual al de regreso. Ca cantidad
de saltos puede dar una idea de la comple#idad de la red.
Para cada salto$ que traceroute numera en la primera columna$ se envan tres paquetes con
un ..C que se va incrementando progresivamente. El nombre del nodo que responde$ bien
sea indicando que se lleg al destino o que el paquete e*pir en tr'nsito$ se muestra #unto a
los tiempos transcurridos entre el envo del paquete y la recepcin de la respuesta. Eso nos
da una idea de cmo es la condicin de la red en ese salto o en alguno de los anteriores.
El e#emplo anterior permite ver me#or cmo funciona la herramienta. En el primer salto$
hacia el nodo 7$ traceroute pone el valor ..C en 7 y enva el paquete hacia el nodo de
destino. Cuando el nodo 7 decrementa el valor del ..C y obtiene un cero$ devuelve al nodo
de origen un mensa#e de error que dice que el ..C e*pir mientras el paquete iba en
tr'nsito. Este proceso se repite varias veces y los tiempos se registran.
Para el siguiente salto$ traceroute aumenta en uno el valor del ..C y lo enva de nuevo hacia
su destino. El nodo 7 decrementa el valor del ..C a uno y pasa el paquete hacia el nodo 8. El
nodo 8 recibe el paquete con ..C uno y al decrementarlo$ obtiene un ..C cero$ enviando el
correspondiente mensa#e de error hacia el nodo de origen. Este proceso se va repitiendo con
valores progresivamente m's grandes de ..C$ para ir encontrando los saltos cada ve m's
le#anos o hasta que se llega a un ..C muy grande. .picamente este valor m'*imo es >J$
aunque puede ser de hasta 8MM.
Opciones
Pgina 7 de 10
El protocolo ICMP
2soA tracert =%d@ =%h saltos:m *imos@ =%# lista:de:hosts@ =%6 tiempo:de:espera@
nombre:destino
%d (o convierte direcciones en nombres de hosts.
%h saltos:m'*imos M'*ima cantidad de saltos en la b0squeda del
ob#etivo.
%# lista%de%host Enrutamiento rela#ado de origen a lo largo de la
lista de hosts.
%6 tiempo:espera Cantidad de milisegundos entre intentos.
TRABAJO A REALIZAR:
Completar el enunciado mostrando los comandos y las pantallas necesarias. Todas
las aclaraciones sern con letra ARIAL 14 azul oscuro
$L COM2N3O PIN4
5$6UM$N
El comando ping permite enviar pa!ete" de pr!e#a a !n $o"t de"tino%con el
o#&etivo de "a#er "i e"ta di"poni#le a trave" de la red' Lo" pa!ete" de pr!e#a
enviado" "on men"a&e" ICMP del tipo EC(O RE)*E+T' La recepcion de e"te pa!ete
en el $o"t de"tino provoca el envio de !n men"a&e ICMP del tipo EC(O RE+PON+E
$acia el $o"t emi"or del pa!ete de pr!e#a' El comando ping tam#ien m!e"tra !n
re"!men e"tad,"tico acerca del porcenta&e de pa!ete" perdido" - del tiempo
comprendido entre el env,o de !n pa!ete de pr!e#a - la llegada del pa!ete de
re"p!e"ta corre"pondiente .ro!nd/trip time% RTT0' Lo" men"a&e" ICMP "e encap"!lan
en pa!ete" IP' Por tanto% todo men"a&e ICMP contendr1 !na ca#ecera IP .23 #-te"0
- !na ca#ecera ICMP .4 #-te"0% "eg!ida" de !na cantidad ar#itraria de dato"' El
comando ping !tili5a lo" oc$o primero" #-te" de dato" para incl!ir !n "ello
temporal% nece"ario a la $ora de calc!lar el RTT'
!17 Pa ping Qn 7 a la m'quina de tu compa<ero capturando e*clusivamente las tramas
relacionadas a esa comunicacin
RSu! tipos de mensa#es ICMP aparecemT
Uustifica la procedencia de cada M&C e IP
Uustifica la longitud de los paquetes
+17 Empleando el comando ifconfig /all obtener la descripcin de las interfaces de red
presentes en la maquina.Rque informacin proporcionaT
3.- Empleando el comando tracert o#tener el camino "eg!ido por lo" pa!ete"
para conectar"e con 666'rediri"'e"
Pro#ar n!evamente con !n n!mero m17imo de "alto" ./$ 0 - !n m17imo de
tiempo ./60
Pgina 8 de 10
El protocolo ICMP
A contin!aci8n limpiar la" cac$9" - reali5ar !na n!eva con7i8n con
666'rediri"'e" rec!perando "olamente la" trama" de e"ta cone7i8n : ; !e
pa!ete" ICMP "e intercam#ian<
Pgina 10 de 10