Python Forensics - Protocole de temps réseau

Le protocole le plus largement utilisé pour la synchronisation de l'heure et qui a été largement accepté comme pratique se fait via le protocole NTP (Network Time Protocol).

NTP utilise le protocole UDP (User Datagram Protocol) qui utilise un temps minimum pour communiquer les paquets entre le serveur et le client qui souhaitent se synchroniser avec la source de temps donnée.

Les caractéristiques du protocole de temps réseau sont les suivantes -

  • Le port du serveur par défaut est 123.

  • Ce protocole se compose de nombreux serveurs de temps accessibles synchronisés avec les laboratoires nationaux.

  • La norme de protocole NTP est régie par l'IETF et la norme proposée est la RFC 5905, intitulée «Network Time Protocol Version 4: Protocol and Algorithms Specification» [NTP RFC]

  • Les systèmes d'exploitation, les programmes et les applications utilisent NTP pour synchroniser l'heure de manière appropriée.

Dans ce chapitre, nous nous concentrerons sur l'utilisation de NTP avec Python, qui est réalisable à partir de la bibliothèque Python tierce ntplib. Cette bibliothèque gère efficacement le gros du travail, qui compare les résultats à mon horloge système locale.

Installation de la bibliothèque NTP

le ntplib est disponible pour téléchargement sur https://pypi.python.org/pypi/ntplib/ comme indiqué dans la figure suivante.

La bibliothèque fournit une interface simple aux serveurs NTP à l'aide de méthodes capables de traduire les champs de protocole NTP. Cela permet d'accéder à d'autres valeurs clés telles que les secondes intercalaires.

Le programme Python suivant aide à comprendre l'utilisation de NTP.

import ntplib
import time

NIST = 'nist1-macon.macon.ga.us'
ntp = ntplib.NTPClient()
ntpResponse = ntp.request(NIST)

if (ntpResponse):
   now = time.time()
   diff = now-ntpResponse.tx_time
   print diff;

Le programme ci-dessus produira la sortie suivante.

La différence de temps est calculée dans le programme ci-dessus. Ces calculs aident dans les enquêtes médico-légales. Les données réseau obtenues sont fondamentalement différentes de l'analyse des données trouvées sur le disque dur.

La différence de fuseaux horaires ou l'obtention de fuseaux horaires précis peuvent aider à recueillir des preuves pour capturer les messages via ce protocole.