¿Cómo puedo relacionar la marca de tiempo http con la zona horaria del país del IP?

1

Tengo una serie de paquetes dentro de un archivo PCAP, entre ellos estoy recibiendo paquetes con protocolo HTTP.

a partir de la dirección IP, obtengo la marca de hora en formato GMT y la zona horaria, por ejemplo:

Source IP: 95.172.94.24
http.date: "Sun, 14 Jun 2015 11:33:56 GMT",
time zone: Europe/London

Marca de tiempo del paquete: 1434280757335 - dom 14 jun 2015 13:19:17 (marca de hora local GMT +2)

en este caso, la fecha http coincide con la marca de tiempo del paquete, pero la pregunta es: ¿Hay algún caso donde pueda encontrar una brecha entre las dos marcas de tiempo? (por ejemplo, si el paquete ha sido generado dentro de la red TOR)

Gracias de antemano

    
pregunta CDominik 29.11.2015 - 16:23
fuente

1 respuesta

1

Solo hay un campo para la fecha en el encabezado. Si falta, el destinatario agrega uno. Tomado de enlace
14.18 Fecha

El campo del encabezado general de la fecha representa la fecha y la hora en que se originó el mensaje, teniendo la misma semántica que la fecha original en RFC 822. El valor del campo es una fecha HTTP, como se describe en la sección 3.3.1; DEBE enviarse en formato RFC 1123 [8] -fecha.

Date="Date" ":" HTTP-date

Un ejemplo es

Fecha: martes, 15 de noviembre de 1994 08:12:31 GMT

Los servidores de origen DEBEN incluir un campo de encabezado de fecha en todas las respuestas, excepto en estos casos:

  1. Si el código de estado de respuesta es 100 (Continuar) o 101 (Protocolos de conmutación), la respuesta PUEDE incluir un campo de encabezado de fecha, en la opción del servidor. 2. Si el código de estado de respuesta transmite un error del servidor, por ejemplo, 500 (Error interno del servidor) o 503 (Servicio no disponible), y es un inconveniente o imposible generar una fecha válida. 3. Si el servidor no tiene un reloj que pueda proporcionar una aproximación razonable de la hora actual, sus respuestas NO DEBEN incluir un campo de encabezado de fecha. En este caso, DEBEN seguirse las reglas de la sección 14.18.1.

Un mensaje recibido que no tenga un campo de encabezado de fecha DEBE ser asignado por el destinatario si el mensaje será almacenado en la memoria caché por ese destinatario o por una puerta de enlace a través de un protocolo que requiere una fecha. Una implementación HTTP sin un reloj NO DEBE almacenar respuestas en caché sin volver a validarlas en cada uso. Un caché HTTP, especialmente un caché compartido, DEBERÍA usar un mecanismo, como NTP [28], para sincronizar su reloj con un estándar externo confiable.

Los clientes DEBERÍAN enviar solo un campo de encabezado de Fecha en los mensajes que incluyen un cuerpo de entidad, como en el caso de las solicitudes PUT y POST, y aún así es opcional. Un cliente sin reloj NO DEBE enviar un campo de encabezado de fecha en una solicitud.

La fecha HTTP enviada en un encabezado de fecha NO DEBE representar una fecha y hora posterior a la generación del mensaje. DEBE representar la mejor aproximación disponible de la fecha y hora de generación del mensaje, a menos que la implementación no tenga medios para generar una fecha y hora razonablemente precisa. En teoría, la fecha debe representar el momento justo antes de que se genere la entidad. En la práctica, la fecha se puede generar en cualquier momento durante el origen del mensaje sin afectar su valor semántico.

    
respondido por el Daniel Ruf 29.11.2015 - 16:41
fuente

Lea otras preguntas en las etiquetas