Skip to content

Aplicación para comprobar servidores NTP

Publicado el: at 19:00

Contenido

Mostrar

Motivación

Hace unos días tuve problemas con algunos de mis dispositivos, no sé por qué me habían generado archivos con fechas extrañas. Fechas de hace siglos y otras del futuro. Sospeché del servidor NTP que estaba usando, un servidor propio que me estuvo dando bastantes problemas.

El problema es que dicho servidor parecía funcionar correctamente, al menos cuando lo supervisaba con el comando de Windows win32time, así que debía tratarse de una fallo esporádico.

Cree CheckNTPServer para supervisar de manera continua dicho servidor y así “cazar” cuando fallaba y sobre todo verificar que estaba en lo cierto, que estaba fallando esporádicamente.

Pero… ¿Que es un servidor NTP?

Un servidor NTP es un servidor que supuestamente tiene una fecha y hora fiable, una fecha y hora que está sincronizada correctamente con la fecha y hora actual y real.

Estos servidores sirven la hora a aquellos equipos que se la soliciten, desde dispositivos IoT, ordenadores de sobremesa, televisores inteligentes, etc.. básicamente cualquier equipo digital.

Son super importantes para que los datos que generan dichos equipos tengan consistencia. Imaginemos un equipo de videovigilancia que graba imágenes con una fecha y hora incorrectas, sería muy dificil hacer una búsqueda en las grabaciones o utilizar dichas grabaciones como prueba en un jucio.

NTP significa Network Time Protocol.. facilito, como debe ser.

Vale, entonces, un servidor NTP ¿Donde sincroniza su hora?

Un servidor NTP puede sincronizar su hora a traves de otro servidor NTP, pero también existen otros medios:

Servidores de hora conocidos

Estos son algunos de los servidores de hora más conocidos y utilziados:

CheckNTPServer

CheckNTPServer es una aplicación de consola y puedes descargar el código fuente y compilarla tu mismx desde aquí.

Puedes ver en la propia página de Github como funciona, pero verás que el funcionamiento es muy sencillo.

La aplicación genera un archivo de registro que anota cuando hay un fallo y cuando se recupera de este.

En consola se muestra la respuesta del servidor con la diferencia en milisegundos local con tu equipo:

Watchdog para la supervision de servicios NTP by Aimarmun 2024.
[01/11/2024 18:55:30] Inicio de la aplicación.
       Configuración:
          Servidor: time.windows.com
          Umbral aceptable: 3000ms
Local: 01/11/2024 18:55:30, Remota: 01/11/2024 18:55:27 OK. 2833ms.
Local: 01/11/2024 18:55:31, Remota: 01/11/2024 18:55:28 OK. 2841ms.
Local: 01/11/2024 18:55:32, Remota: 01/11/2024 18:55:29 OK. 2832ms.
Local: 01/11/2024 18:55:33, Remota: 01/11/2024 18:55:30 OK. 2831ms.
Local: 01/11/2024 18:55:34, Remota: 01/11/2024 18:55:31 OK. 2831ms.
Local: 01/11/2024 18:55:35, Remota: 01/11/2024 18:55:32 OK. 2844ms.
[01/11/2024 18:55:36] Error en la recuperación de hora: Host desconocido.
[01/11/2024 18:55:37] Error en la recuperación de hora: Host desconocido.
[01/11/2024 18:55:38] Error en la recuperación de hora: Host desconocido.
[01/11/2024 18:55:39] Error en la recuperación de hora: Host desconocido.
[01/11/2024 18:55:40] Error en la recuperación de hora: Host desconocido.
[01/11/2024 18:55:41] Error en la recuperación de hora: Host desconocido.
[01/11/2024 18:55:42] Error en la recuperación de hora: Host desconocido.
[01/11/2024 18:55:43] Error en la recuperación de hora: Host desconocido.
Local: 01/11/2024 18:55:44, Remota: 01/11/2024 18:55:42 OK. 2832ms.
[01/11/2024 18:55:44] Se ha recuperado de errores previos
Local: 01/11/2024 18:55:46, Remota: 01/11/2024 18:55:43 OK. 2832ms.
Local: 01/11/2024 18:55:47, Remota: 01/11/2024 18:55:44 OK. 2858ms.
Local: 01/11/2024 18:55:48, Remota: 01/11/2024 18:55:45 OK. 2838ms.
Local: 01/11/2024 18:55:49, Remota: 01/11/2024 18:55:46 OK. 2833ms.

El archivo de registro puede mostrar lo siguiente:

[01/11/2024 18:55:30] Inicio de la aplicación.
       Configuración:
          Servidor: time.windows.com
          Umbral aceptable: 3000ms
[01/11/2024 18:55:36] Error en la recuperación de hora: Host desconocido.
[01/11/2024 18:55:37] Error en la recuperación de hora: Host desconocido.
[01/11/2024 18:55:38] Error en la recuperación de hora: Host desconocido.
[01/11/2024 18:55:39] Error en la recuperación de hora: Host desconocido.
[01/11/2024 18:55:40] Error en la recuperación de hora: Host desconocido.
[01/11/2024 18:55:41] Error en la recuperación de hora: Host desconocido.
[01/11/2024 18:55:42] Error en la recuperación de hora: Host desconocido.
[01/11/2024 18:55:43] Error en la recuperación de hora: Host desconocido.
[01/11/2024 18:55:44] Se ha recuperado de errores previos

Y sí, estaba en lo cierto. Gracias a CheckNTPServer pude comprobar que el servidor de hora fallaba cuando le daba la gana.. cositas..