2017-07-06 3 views
0

J'ai un fichier pcap et je veux filtrer certains paquets en fonction de leur horodatage de l'époque avec tshark.erreur tshark à l'époque de filtrage

J'ai un horodatage t1. J'ai besoin des paquets, dont l'horodatage de l'époque est "plus tard" que t1. L'horodatage t1 est extrait d'un autre fichier pcap. Jusqu'ici tout va bien. Dans les lignes suivantes, je convertis l'horodatage t1 (1499351908.01) au format datetime p (2017-07-06 10:38:28). Je fais cela parce que tshark a besoin d'une telle notation pour le filtrage. Sinon, une erreur se produit.

t1_c = DT.datetime.fromtimestamp(t1) 
p = t1_c.strftime('%Y-%m-%d %H:%M:%S') 

Dans la ligne suivante, je spécifions le fichier d'entrée et de sortie et le filtre tshark:

os.system('tshark -r test_in.pcap -w test_out.pcap -Y "frame.time >= p"') 

Donc, si je lance mon code, cette erreur de tshark se produit:

tshark: "p" is not a valid absolute time. Example: "Nov 12, 1999 08:55:44.123" or "2011-07-04 12:34:56" 

Qu'est-ce que est faux? La notation de filtrage est-elle incorrecte?

Merci d'avance! Il suffit de réécrire p dans votre chaîne pour la remplacer par

Répondre

2

Voici à quoi devrait ressembler votre ligne:

os.system('tshark -r test_in.pcap -w test_out.pcap -Y "frame.time >= {}"'.format(p)) 
+0

Merci! Maintenant ça marche :) – crappidy