Banner 1

Análisis capturas tráfico de Red. Interpretacion tráfico ICMP (II).

Análisis capturas tráfico de Red. Interpretacion tráfico ICMP (II).


Vamos a estudiar en este artículo otro de los mensajes frecuentes:
Time to Live exceeded in Transit.

Cuando realizamos en un sistema Windows un tracert para ver la ruta o camino que toman los paquetes, routers intermedios y lantencia de cada salto, este se ecuentra implementado transmitiendo paquetes ICMP con distintos valores en el campo TTL "Time To Live" de la cabecera IP. En sistemas Linux traceroute envía datagramas UDP.

Tracert determina la ruta enviando el primer paquete de eco con un TTL de 1 y aumentando el TTL en 1 en cada transmisión posterior, hasta que el destino responde o hasta que se alcanza el TTL máximo. La ruta se determina examinando los mensajes de ICMP Tiempo agotado devueltos por los enrutadores intermedios.

Cada router que recibe un paquete es responsable de reducir el TTL en 1, cuando un router recibe un paquete con TTL de 0, lo descarta y debe responder al equipo origen con un paquete icmp tipo 11 (time to live exceeded).

El campo TTL es reducido en cada salto, es decir, cada vez que un router recibe el paquete. Cuando un router reduce el campo TTL de un paquete a cero, lo descarta y genera un paquete ICMP con código "Time to Live exceeded in Transit".

El campo TTL además tiene una gran importancia dentro del datagrama IP en en el cual va encapsulado ICMP ya que impide que un mensaje esté dando vueltas de forma indefinida por la red.

El formato de ICMP para este tipo de mensaje (Time to Live exceeded in Transit) sería:

Tiempo de Vida Excedido en tránsito

Al realizar un tracert, obtenemos la siguiente traza (gráfico 2). En esta caso parte de la traza:

traza tracrt icmp

Vamos a estudiar el siguiente paqueste, respuesta time exceeded in-transit de la traza anterior:

IP 10.5.132.1 > 192.168.1.30: ICMP time exceeded in-transit, length 36
0x0000: 45c0 0038 9790 0000 fd01 d5a7 0a05 8401
0x0010: c0a8 011e 0b00 62c3 0000 0000 4500 005c
0x0020: 9790 0000 0101 86e4 c0a8 011e d504 82d2
0x0030: 0800 b6cb 0300 5200

Hemos marcado de color azul la zona que nos interesa. Ya lo hemos estudiado en el datagrama IP, marcamos en verde la clave que nos dice el tipo de protocolo (ICMP).

  • Tipo 0b (11) Mensaje de Tiempo Superado ("Time Exceeded Message")
  • Código 0

0 = tiempo de vida superado en tránsito;

1 = tiempo de reensamblaje de fragmentos superado.
  • Suma de control 62c3
  • 0000 0000 sin usar.

Vemos en el gráfico 2 el envio de paquetes ICMP con un TTL = 1 (marcado en amarillo):

0x0000: 4500 005c 9783 0000 0101 0881 c0a8 011e

Si observamos la progesión de la traza vemos también como se incrementa el valor de TTL en 1 en el envio de paquetes ICMP a cada salto de router:

0x0000: 4500 005c 9786 0000 0201 077e c0a8 011e

0x0000: 4500 005c 978f 0000 0301 0675 c0a8 011e

En este tracert el valor TTL se incrementó hasta 07 (siete saltos). Alcanzó el host o máquina de destino en 7 saltos. TTL se incrementa hasta que encuentra el host destino o hasta superar el límite, por defecto este limite está establecido en TTL = 30.

Si no encuentra el host destino y mientras se supera el valor de 30 saltos por defecto, el host origen seguirá enviando solicitudes de eco: Eco request.

Cuando un router recibe un paquete icmp en el tracert con el valor, por ejemplo TTL=3, se lo reenvia al siguiente que hay en el camino entre host origen y host destino que además lo decrementa en 1, estableciendo el valor en TTL = 2 y así hasta el valor TTL = 0 que es cuando este último router devuelve un paquere con codigo 11 de Time exceeded y un código 0 de Tiempo de vida superado en tránsito. Pero además contiene la dirección IP de ese router, asi que el host origen del tracert vuelve a enviar un paquete icmp con valot del TTL +1, en este caso TTL = 4 (siguiendo el ejemplo) que el router decrementará en 1.... así sucesivamente hasta encontrar el router destino.


NOTA: En un próxima actualización incluiré un gráfico más explicativo de este proceso.

No hay comentarios:

Powered by Bad Robot
Helped by Blackubay