Pregunta

Hoy tuve una conversación con un desarrollador sobre la identificación de paquetes TCP que salen en una interfaz particular con la misma carga útil.Me dijo que la probabilidad de encontrar un paquete TCP que tenga la misma carga útil (incluso si los mismos datos se envían varias veces) es muy baja debido a la forma en que se construyen los paquetes TCP a nivel del sistema.Sabía que este podría ser el caso debido a la configuración de MTU del sistema (generalmente 1500 bytes), etc., pero ¿qué tipo de estadísticas de probabilidad estoy mirando realmente?¿Existe algún protocolo específico que facilite la identificación de cargas útiles coincidentes?

¿Fue útil?

Solución

EDITAR:Lo siento, mi idea original era ridícula.

Me interesaste, así que busqué en Google un poco y encontré este.Si quisiera escribir su propia herramienta, probablemente tendría que inspeccionar cada carga útil; la forma más sencilla probablemente sería algún tipo de hash/suma de verificación para verificar si hay cargas útiles idénticas.Solo asegúrese de verificar la carga útil, no todo el paquete.

En cuanto a las estadísticas, tendré que dejarlas en manos de alguien con mayor conocimiento sobre el funcionamiento de TCP.

Otros consejos

Es el protocolo que se ejecuta sobre tcp el que define la unicidad de la carga útil, no el protocolo tcp en sí.

Por ejemplo, podría pensar ingenuamente que todas las solicitudes HTTP serían idénticas cuando solicite la página de inicio de un servidor, pero las cadenas de referencia y de agente de usuario hacen que las cargas útiles sean diferentes.

De manera similar, si la respuesta se genera dinámicamente, puede tener un encabezado de fecha:

Fecha:Viernes, 12 de septiembre de 2008 10:44:27 GMT

Eso hará que las cargas útiles de respuesta sean diferentes.Sin embargo, las cargas útiles posteriores pueden ser idénticas si el contenido es estático.

Tenga en cuenta que los paquetes reales serán diferentes debido a los diferentes números de secuencia, que se supone que son incrementales y pseudoaleatorios.

Chris tiene razón.Más específicamente, dos o tres datos en el encabezado del paquete deben ser diferentes:

  • El número de secuencia (que pretende ser impredecible), lo que aumenta con el número de bytes transmitidos y recibidos.
  • La marca de tiempo, un campo que contiene dos marcas de tiempo (aunque este campo es opcional).
  • la suma de comprobación, ya que tanto la carga útil y encabezado se suman las comprobaciones, incluido el número de secuencia cambiante.

Enviar la misma CARGA ÚTIL probablemente sea bastante común (especialmente si está ejecutando algún tipo de servicio de red).Si se refiere a enviar el mismo segmento tcp (encabezado y todo) o el paquete de red completo (ip y superior), entonces la probabilidad se reduce sustancialmente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top