¿Obteniendo la hora actual de redes wifi desconectadas?

¿Existe algún método para encontrar la hora global actual (UTC u otra) utilizando un módulo Wi-Fi comercial como el ESP8266, pero sin conectarse realmente a una de las redes disponibles?

Básicamente, me gustaría usar esto de manera similar a cómo se puede usar la transmisión de WWV para garantizar el cronometraje de un reloj, pero sin las preocupaciones sobre la intensidad de la señal de WWV.

Debido a que esto es solo para un reloj y el único propósito del soporte WiFi sería proporcionar una hora precisa, tener la interfaz necesaria para seleccionar una red y una contraseña es indeseablemente complejo.

¿Está preguntando si (1) puede "olfatear" paquetes encriptados para una marca de tiempo (los encabezados no están encriptados); o (2) hay un protocolo abierto para comunicaciones limitadas con un enrutador encriptado que está disponible incluso con el encriptado habilitado donde podría obtener el tiempo? O, ¿qué otras opciones imaginas que podrían ser posibles?
¿El wifi tiene algún tipo de marca de tiempo UTC? No creo que lo haga. GPS y WWV son dos referencias de tiempo inalámbricas que me vienen a la mente...
@PhilFrost Creo (pero no soy un experto aquí) que todos los encabezados están claros, incluso en un sistema encriptado. Entonces, si tengo razón y si uno ve un paquete IP, ese encabezado se puede leer. Si eso dice que contiene un paquete TCP en su interior, también puede profundizar y leer el encabezado TCP. Pero no recuerdo haber visto nunca una marca de tiempo en la lista (suponiendo que el enrutador incluso tenga la hora correcta, lo cual también dudo). O tal vez el encabezado TCP esté encriptado. No estoy seguro. (¿IPv6 puede permitir el cifrado de TCP?) Pero como dije, no soy un experto. Tal vez alguien con mucho conocimiento pueda tener un truco para enseñarnos.
Su mejor apuesta es usar GPS en su lugar. No creo que pueda obtener tiempo de los encabezados, incluso si puede olfatearlos, y el GPS funciona incluso cuando no está conectado a WiFi.
@jonk con respecto a su opción (1), básicamente sí. Tengo muy poco conocimiento de lo que sucede debajo del capó de las comunicaciones WiFi, por lo que quería publicar para obtener algunos comentarios de aquellos que están más familiarizados con esto. Sin embargo, su punto de que la hora del enrutador puede ser incorrecta es válida, o puede tener horas conflictivas de muchos puntos de acceso que seguramente estarán dentro del alcance de estos días. En cuanto a obtener el tiempo de GPS, estoy buscando una fuente de tiempo que estaría disponible, digamos, en un edificio de concreto. Para un reloj de interior, espero que WiFi esté disponible con más frecuencia que GPS

Respuestas (2)

Las tramas 802.11 no tienen información de tiempo global, ya que dichos datos no sirven para nada en la red inalámbrica.

Si tiene un punto de acceso WiFi con un alto tiempo de actividad y puede sincronizar con la hora UTC al menos una vez, puede capturar marcos de baliza , que no están encriptados y proporcionan un campo de marca de tiempo obligatorio para fines de sincronización. Luego, podría asociar esa marca de tiempo con un valor UTC conocido y luego estimar la hora UTC actual utilizando ese valor inicial y la marca de tiempo actual. No hace falta decir que la marca de tiempo se pierde cada vez que se reinicia el punto de acceso, además de que se perderán algunos eventos sutiles como los segundos intercalares (por eso dije estimación ).

Si ESP8266 puede brindarle acceso a marcos de baliza sin procesar es otra cuestión.

la marca de tiempo está en el cuerpo del marco de la baliza: rfwireless-world.com/Terminology/WLAN-beacon-frame.html

Probablemente no. En primer lugar, la mayoría de las redes se cifrarán. Los que no están encriptados podrían, en teoría, ser escuchados, sin embargo, hay algunos problemas.

Implicaría escuchar muchos paquetes que potencialmente tenían información privada. En algunas áreas, esto podría verse como una actividad ilegal, es posible que desee verificar las leyes locales.

El modo promiscuo del ESP8266 es difícil de usar y solo tiene un efecto limitado. Se perderá la mayoría de los paquetes y los que atrape solo tendrán la primera parte del paquete.

En teoría, puede encontrar un paquete que tenga el tiempo, pero este paquete estará en el nivel de la aplicación y podría tomar varias formas diferentes. Lo peor es que no sabrías si es la hora correcta.

Una buena manera de obtener la hora de forma pasiva a través de la radio sería utilizar un módulo GPS que le indique la hora y la ubicación correctas.

La legalidad de "olfatear" el tráfico de red es interesante. Principalmente he estado pensando en esto desde una perspectiva similar a la mencionada. Observar la información de tiempo que podría ser parte del encabezado o de las comunicaciones de autenticación sin cifrar. En cuanto al GPS, estoy buscando un método que funcione bien dentro de una caja de concreto o digamos en el sótano de una casa moderna lejos de las ventanas. Esto podría ser un puente a un tema diferente, pero ¿hay antenas/receptores GPS de muy alta ganancia que funcionen en interiores/subterráneos?
@TGrandahl Ninguna cantidad de ganancia ayudará si la señal es un par de órdenes más débil que el ruido.
Los paquetes Sniffic no servirán para nada, ya que si el OP puede acceder a una red abierta, también puede conectarse pool.ntp.orgy obtener el tiempo desde allí.
No todas las redes están en internet
@HighInBC es cierto, pero las posibilidades de olfatear la información horaria correcta en redes WIFI aisladas son incluso escasas, no ninguna.