ICMP (Protocolo de Mensajes de Control de Internet)

ICMP (Protocolo de mensajes de Control de Internet) es un protocolo de notificación de errores que los dispositivos de red, como los enrutadores, utilizan para generar mensajes de error en la dirección IP de origen cuando los problemas de red impiden la entrega de paquetes IP. ICMP crea y envía mensajes a la dirección IP de origen indicando que no se puede acceder a una puerta de enlace a Internet, como un enrutador, servicio o host, para la entrega de paquetes. Cualquier dispositivo de red IP tiene la capacidad de enviar, recibir o procesar mensajes ICMP.

ICMP no es un protocolo de transporte que envía datos entre sistemas.

Si bien ICMP no se utiliza regularmente en aplicaciones de usuario final, los administradores de red lo utilizan para solucionar problemas de conexiones a Internet en utilidades de diagnóstico, incluidas ping y traceroute.

¿Para qué se utiliza ICMP?

ICMP es un protocolo de capa de red utilizado por enrutadores, dispositivos intermedios y hosts para comunicar información de errores o actualizaciones a otros enrutadores, dispositivos intermedios y hosts.

Los mensajes ICMP se envían en varios escenarios. Por ejemplo, si un dispositivo envía un mensaje que es demasiado grande para que el destinatario lo procese, el destinatario soltará ese mensaje y enviará un mensaje ICMP de vuelta a la fuente. Otro ejemplo es cuando la puerta de enlace de red encuentra una ruta más corta para que el mensaje viaje. Cuando esto sucede, se envía un mensaje ICMP y el paquete se redirige a la ruta más corta.

ICMP también se utiliza para diagnósticos de red, específicamente las utilidades de terminal ping y traceroute.

diagrama de mensajes de eco
Cuando el host envía un mensaje de eco de tipo 8, el servidor responde con un mensaje de respuesta de eco de tipo 0 porque es accesible.
  • Traceroute. La utilidad traceroute se utiliza para mostrar la ruta de enrutamiento física entre dos dispositivos de Internet que se comunican entre sí. Traza el viaje de un enrutador a otro, a veces llamado salto. El uso de traceroute para diagnosticar problemas de red puede ayudar a los administradores a localizar el origen de un retraso de red.
  • Ping. La utilidad ping es un trazador más simple. Envía pings, también conocidos como mensajes de solicitud de eco, y luego mide la cantidad de tiempo que tarda el mensaje en llegar a su destino y regresar a la fuente. Estas respuestas se denominan mensajes de respuesta de eco. Los pings son útiles para recopilar información de latencia sobre un dispositivo específico. Sin embargo, a diferencia de traceroute, ping no proporciona mapas con imágenes del diseño de enrutamiento. La utilidad ping a menudo se explota también para ciertos ataques de denegación de servicio (DoS).

El Protocolo de Internet ampliamente utilizado versión 4, o clase de dirección IPv4, y el IPv6 más reciente usan versiones similares del protocolo ICMP IC ICMPv4 e ICMPv6, respectivamente.

Diagrama de destino inalcanzable
El host A intenta enviar un paquete IP al Host B. El host B es inalcanzable, por lo que el enrutador responde con un mensaje ICMP de tipo 3.

¿Cómo funciona ICMP?

ICMP es uno de los protocolos principales de la suite IP. Sin embargo, ICMP no está asociado con ningún protocolo de capa de transporte, como el Protocolo de Control de Transmisión (TCP) o el Protocolo de Datagramas de Usuario (UDP). Es un protocolo sin conexión, lo que significa que un dispositivo no necesita abrir una conexión con el dispositivo de destino antes de enviar un mensaje. Esto contrasta con TCP, por ejemplo, donde se debe establecer una conexión antes de que se pueda enviar un mensaje, estableciendo que ambos dispositivos están listos a través de un apretón de manos TCP.

Los mensajes ICMP se transmiten como datagramas y consisten en un encabezado IP que encapsula los datos ICMP. Un datagrama, al igual que un paquete, es una entidad independiente de datos autónoma. Piense en ello como un paquete que lleva una pieza de un mensaje más grande a través de la red. Los paquetes ICMP son paquetes IP con ICMP en la porción de datos IP. Los mensajes ICMP también contienen el encabezado IP completo del mensaje original, por lo que el sistema final sabe qué paquete falló.

El encabezado ICMP aparece después del encabezado de paquete IPv4 o IPv6 y se identifica como protocolo IP número 1. El protocolo contiene tres parámetros, que se explican a continuación. Siguiendo los tres parámetros están los datos ICMP y el encabezado IP original que identifica qué paquete falló.

Parámetros ICMP

Los parámetros ICMP existen en el encabezado del paquete y ayudan a identificar los errores en el paquete IP al que pertenecen. Los parámetros son como una etiqueta de envío en un paquete. Proporcionan información de identificación sobre el paquete y los datos que contiene. De esta manera, los protocolos y herramientas de red que reciben el mensaje ICMP saben cómo manejar el paquete.

Los primeros 32 bits del encabezado de paquete de cada mensaje ICMP contienen tres campos informativos o parámetros. Esos tres parámetros son los siguientes:

  1. Tipo. Los primeros 8 bits son los tipos de mensajes. Algunos tipos de mensajes comunes incluyen los siguientes:
      1. Tipo 0 reply Respuesta de eco
      2. Tipo 3 Destination Destino inalcanzable
      3. Tipo 8 Echo Eco
      4. Tipo 5 Redirect Redirección

    El tipo proporciona una breve explicación de para qué sirve el mensaje para que el dispositivo de red receptor sepa por qué recibe el mensaje y cómo tratarlo. Por ejemplo, un Eco de tipo 8 es una consulta que un host envía para ver si un sistema de destino potencial está disponible. Al recibir un mensaje de Eco, el dispositivo receptor puede enviar una respuesta de Eco (Tipo 0), indicando que está disponible.

    La Autoridad de Números Asignados de Internet (IANA) proporciona una lista de todos los tipos de mensajes que usan los paquetes ICMP.Código

  2. . Los siguientes 8 bits representan el código de tipo de mensaje, que proporciona información adicional sobre el tipo de error.
  3. Suma de comprobación. Los últimos 16 bits proporcionan una comprobación de integridad del mensaje. La suma de comprobación muestra el número de bits en todo el mensaje y permite a la herramienta ICMP verificar la coherencia con el encabezado del mensaje ICMP para asegurarse de que se entregó el rango completo de datos.

La siguiente parte del encabezado ICMP es el puntero. Consta de 32 bits de datos que señalan el problema en el mensaje IP original. Específicamente, el puntero identifica la ubicación de bytes en el mensaje IP original que causó la generación del mensaje de problema. El dispositivo receptor mira esta parte del encabezado para identificar el problema.

La sección final del paquete ICMP es el datagrama original. Consta de hasta 576 bytes en IPv4 y 1.280 bytes en IPv6 e incluye una copia del mensaje IP original que contiene errores.

Diagrama de paquetes ICMP
El encabezado de paquete ICMP viene después del encabezado IPv4 o IPv6. Contiene tres partes: tipo, código y suma de comprobación. El encabezado es seguido por el puntero, que identifica el problema en el mensaje original, y luego viene el datagrama original.

ICMP en ataques DDoS

En ataques distribuidos DoS (DDoS), los atacantes abruman al objetivo con tráfico no deseado, por lo que el objetivo no puede proporcionar servicio a sus usuarios. Hay varias formas en que un atacante puede usar ICMP para ejecutar estos ataques, incluidas las siguientes:

  • Ping de la muerte. El atacante envía un paquete IP mayor que el número de bytes permitidos por IP. En el camino a su destino previsto, el paquete de gran tamaño está fragmentado. Sin embargo, cuando el dispositivo receptor lo vuelve a montar, el tamaño excede el límite, lo que provoca un desbordamiento del búfer y la máquina receptora se congela o se bloquea. Los dispositivos más nuevos tienen defensas contra este ataque de tipo antiguo, pero los dispositivos de red heredados siguen siendo vulnerables a él.
  • Ataque de inundación ICMP. A veces llamado ataque de inundación de ping, el objetivo de este ataque es abrumar el dispositivo objetivo con paquetes de solicitud de eco. Cada paquete de solicitud de eco debe ser procesado por el destino y respondido con mensajes de respuesta de eco. Esto absorbe todos los recursos de la computadora de destino y causa una denegación de servicio a cualquier otro usuario de la computadora de destino.
  • Ataque de pitufos. En un ataque Pitufo, el atacante envía un paquete ICMP con una dirección IP de origen falsificada, y el equipo de la capa de red responde al paquete, enviando a la dirección falsificada una inundación de paquetes. Al igual que el ping de la muerte, es más probable que los ataques de pitufos funcionen con equipos heredados indefensos.

Los ataques DDoS basados en ICMP se han convertido en un ciberataque cada vez más frecuente. Obtenga más información sobre los ataques DDoS en general y cómo se han vuelto más diversos tácticamente en los últimos años.

Leave a Reply