2017-09-21 3 views
1

Lors de la capture de paquets sous Windows 7 x64, les horodatages ne semblent pas avoir une précision flottante. le code est donné ci-dessous.scapy: Les horodatages manquent de précision flottante sur les paquets reniflés

from scapy.all import sniff 
pkts = sniff(count=10) 
pkts[0].time 
-> for higher precision output 
print('%.6f'%pkts[0].time) 

sortie

1506009934 
1506009934.000000 

des idées sur la façon d'obtenir des valeurs précises pour horodatages?

+0

Si vous imprimez (tapez (pkts [0] .time)) 'qu'est-ce que vous obtenez? –

+0

vous avez raison sur le fait qu'il me donne en réponse. Mais comment corriger cela? –

+0

Je ne connais pas scapy et je ne trouve pas l'attribut 'time' dans la documentation, donc je ne sais pas quelles unités il utilise. Désolé je ne peux pas aider. –

Répondre

1

Ceci a été corrigé dans la version de développement de Scapy. Obtenez-le à partir du official repository et votre code devrait donner les résultats que vous attendez.

+0

J'ai essayé la version corrigée. Malheureusement, cela conduit à de nombreux autres problèmes. comme la sortie n'est pas lisible alors que pyreadline est déjà installé. Par conséquent revenir à la version 2.3.3 sans dernière mise à jour. La version mise à jour renvoie une erreur lors du démarrage.TypeError: tous les arguments ne sont pas convertis lors de la mise en forme Consigné à partir du fichier error.py, ligne 76' –

+0

Ensuite, vous avez un problème qui n'a aucun rapport avec votre question et qui peut probablement être corrigé. Ouvrez un problème sur le GitHub du projet! (et publiez la trace complète de la pile). – Pierre

+0

Je l'ai déjà fait. Merci pour la recommandation. –