Clúster de protocolo: análisis ICMP

Introduccion

ICMP es la abreviatura de Protocolo de mensajes de control de Internet. Se utiliza principalmente para depurar problemas en el entorno de comunicación de red.

Por ejemplo, cuando los paquetes IP no siempre se pueden enviar a la dirección de destino normalmente, cuando la puerta de enlace no tiene suficientes buffers para reenviar los paquetes correspondientes, etc.

Vale la pena mencionar que pertenece a la capa de red, no a la capa de transporte, es decir, está al mismo nivel que el protocolo IP, pero no al mismo nivel que TCP / UDP.

Formato de mensaje

protocolo ICMP para transmitir datos utilizando el protocolo IP de seguridad de datos específico es algunas de las disposiciones de los paquetes ICMP, que a continuación presentamos uno por uno ....
Formato de encabezado IP
Debido formato ICMP IP y el mismo, aquí nos referimos brevemente a cada uno de los siguientes campos en detalle. Pila de protocolos: IPv4 Detallado

Varios campos que requieren atención especial y sus valores:

  1. Versión: 4
  2. Tipo de servicio: 0
  3. Protocolo: ICMP = 1

A continuación, echemos un vistazo a ejemplos comunes de mensajes ICMP

Mensaje de destino inalcanzable

Mensaje de formato inalcanzable
El significado y el valor de cada campo:

  1. Tipo : 3
  2. Código:
    0 = red inalcanzable
    1 = host inalcanzable
    2 = protocolo inalcanzable
    3 = puerto inalcanzable
    4 = fragmentación necesaria y DF configurado
    5 = ruta de origen fallida
  3. Checksum: Checksum
  4. Encabezado de Internet + 64 bits de datagrama de datos: este campo almacena la solicitud ICMP original para corresponder el mensaje ICMP actual con el mensaje de solicitud.

Descripción

  1. Cuando se infiere que la dirección de red es inalcanzable de acuerdo con la tabla de derrames de petróleo de la puerta de enlace, la puerta de enlace puede devolver este mensaje ICMP.
  2. El extremo de destino recibió un paquete de datos IP, pero el paquete de datos no pudo transmitirse normalmente al puerto correspondiente (el puerto puede no estar habilitado). El extremo de destino puede devolver este mensaje ICMP
  3. Cuando el paquete de datos debe fragmentarse antes de que pueda enviarse al destino normalmente, el paquete de datos actual se configura con el indicador No fragmentar. En este momento, la puerta de enlace puede devolver este mensaje ICMP.

Ejemplos

Utilizo el comando ping 192.168.1.44 en mi máquina para obtener el paquete de mensajes de destino inalcanzable. Aquí analizamos lo siguiente
Inserte la descripción de la imagen aquí

  1. Primero preste atención al contenido de los datos principales del protocolo IP. El valor del campo Protocolo es 1, lo que indica que el paquete de datos actual es un mensaje ICMP. La dirección de destino y la dirección de origen son las mismas, lo que indica que la dirección 192.168.1.44 no se puede resolver desde mi tabla de enrutamiento local.
  2. El siguiente es un mensaje ICMP. Este mensaje se transporta en el paquete de datos del protocolo IP como el campo de datos del protocolo IP.
  3. El tipo de mensaje ICMP es 3, que es exactamente Mensaje inalcanzable de Destionation
  4. El código es 1, lo que indica que no se puede acceder al host
  5. El campo Encabezado de Internet + 64 bits del datagrama de datos contiene el paquete IP de la solicitud ICMP que enviamos. Desde las direcciones de origen y destino de este paquete IP, sé que es 192.168.1.35 localmente, y conecté el host 192.168.1.44. En cuanto a esta solicitud de ICMP, no la analizaremos primero, y luego la analizaremos.

Mensaje de tiempo excedido

Su formato de paquete es el mismo que el Mensaje inalcanzable de Destionation, por lo que no entraré en detalles aquí.

El significado y el valor de cada campo:

  1. Tipo : 11
  2. Código:
    0 = tiempo de vida excedido en tránsito
    1 = tiempo de reensamblado de fragmentos excedido

Descripción

  1. El protocolo IP estipula que cuando el valor del campo TimeToLive disminuye a 0 durante la transmisión de un paquete, el paquete debe descartarse. Al mismo tiempo, la puerta de enlace que descartó el paquete puede enviar este mensaje ICMP al host de origen para notificar al El paquete se cae.
  2. Cuando el destino recibe el paquete fragmentado, pero debido a la pérdida de algunos fragmentos, el reensamblaje del paquete no se puede completar dentro del tiempo especificado, entonces el paquete se descartará. Mensaje ICMP para informar que el paquete se descartó.

Ejemplos

El autor utilizó el comando ping -i 2 baidu.com para capturar este tipo de paquete ICMP. Aquí omitimos la parte que se repite en el artículo anterior y pegamos directamente la información relevante del paquete ICMP.
Inserte la descripción de la imagen aquí

  1. Observe aquí que el valor del campo Tiempo de vida en el encabezado IP es 1, no 0. La suposición se debe a que el nodo intermedio que procesa el paquete descubrió que no es la dirección de destino del paquete, y el tiempo de vida ya es 1 Después de reducir el valor en 1 después del procesamiento, el tiempo de vida del paquete es 0, por lo que el nodo nos envió un mensaje de tiempo excedido.

Mensaje de problema de parámetro

Inserte la descripción de la imagen aquí
El significado y el valor de cada campo:

  1. Tipo : 12
  2. Código:
    0 = el puntero indica el error
  3. Puntero: cuando el código == 0, este campo indica la ubicación del byte por error.

Descripción

Cuando la puerta de enlace o el host de destino no pueden analizar este paquete correctamente de acuerdo con el encabezado IP, descartará el paquete y enviará este mensaje ICMP.

La posible causa de este problema es el uso incorrecto de la opción.

Mensaje de enfriamiento de origen

Su formato de paquete es el mismo que el Mensaje inalcanzable de Destionation, por lo que no entraré en detalles aquí.

El significado y el valor de cada campo:

  1. Tipo : 4
  2. Código: 0

Descripción

Cuando la administración de red o el host de destino no tienen suficiente búfer para procesar el paquete de datos correspondiente, descartará el paquete de datos y enviará este mensaje ICMP

Redirigir mensaje

Inserte la descripción de la imagen aquí
El significado y el valor de cada campo:

  1. Tipo : 5
  2. Código:
    0 = Redirigir datagramas para la Red
    1 = Redirigir datagramas para el Host
    2 = Redirigir datagramas para el Tipo de Servicio y Red
    3 = Redirigir datagramas para el Tipo de Servicio y Host
  3. Dirección de Internet de la puerta de enlace: este campo indica que todos los paquetes enviados al host de destino actual deben enviarse a la puerta de enlace especificada por la Dirección de Internet de la puerta de enlace

Descripción

Este mensaje ICMP se enviará en las siguientes circunstancias:
supongamos que la puerta de enlace G1 recibe un paquete de datos de un host o puerta de enlace conectada, G1 verifica su tabla de enrutamiento para encontrar que el paquete de datos debe reenviarse a la puerta de enlace G2, y luego G2 continúa reenviando Hasta que el paquete llegue al host X. Pero si G2 y la dirección de origen del paquete están en la misma red, G1 enviará este mensaje ICMP para sugerir que el host de origen enviará todos los paquetes enviados a X directamente a G2 De esta manera, la longitud de la ruta es la más corta y la velocidad de transmisión de datos es más rápida.

Eco o mensaje de respuesta de eco

Inserte la descripción de la imagen aquí
El significado y el valor de cada campo:

  1. Tipo :
    8 = Mensaje de eco
    0 = Mensaje de respuesta de eco
  2. Código: 0
  3. Identificador y número de secuencia: cuando el código = 0, utilice el identificador y el número de secuencia para ayudar a mapear el mensaje de eco y el mensaje de respuesta de eco

Descripción

Como hemos visto anteriormente, cuando recibimos una respuesta ICMP, el paquete ICMP de respuesta contendrá el mensaje de eco correspondiente.

Ejemplos

A continuación se muestra la estructura de un mensaje de eco. Cabe destacar la estructura
Inserte la descripción de la imagen aquí
del mensaje de respuesta de eco correspondiente
Inserte la descripción de la imagen aquí
: los campos de identificador y número de secuencia en el mensaje de eco y el mensaje de respuesta de eco son los mismos. De esta manera, sabemos que los dos paquetes son mutuamente Correspondencia

Y recibimos el mensaje de respuesta de eco, que prueba que nuestro enlace al host de destino correspondiente está funcionando.

Marca de tiempo o mensaje de respuesta de marca de tiempo

Inserte la descripción de la imagen aquí
El significado y el valor de cada campo:

  1. Tipo:
    13 = Mensaje de marca de tiempo
    14 = Mensaje de respuesta de marca de tiempo
  2. Código: 0
  3. Identificador number número de secuencia: 同 Mensaje de eco 和 Mensaje de respuesta de eco.
  4. Marca de tiempo original: el remitente envió la última marca de tiempo para modificar este paquete
  5. Recibir marca de tiempo: la marca de tiempo en la que el receptor recibe este paquete
  6. Transmitir marca de tiempo: el receptor modificó por última vez la marca de tiempo de este paquete

Solicitud de información o mensaje de respuesta de información

Inserte la descripción de la imagen aquí

El significado y el valor de cada campo:

  1. Tipo :
    15 = Mensaje de solicitud de información
    16 = Mensaje de respuesta de información
  2. Código: 0
  3. Identificador number número de secuencia: 同 Mensaje de eco 和 Mensaje de respuesta de eco.

Descripción

El campo de dirección de destino no se completa cuando se envía este paquete, y el receptor completa la información de su dirección en el mensaje de respuesta.

El uso de este paquete se puede utilizar para descubrir toda la información de la dirección del host en la red actual.

¡FIN!

27 artículos originales publicados · 31 elogiados · 40,000+ vistas

Supongo que te gusta

Origin blog.csdn.net/zhaoruixiang1111/article/details/104872177
Recomendado
Clasificación