2010-07-01 7 views
0

Je veux filtrer certains en-têtes dans une capture wireshark (convertie en format texte) afin que je puisse analyser ces ensembles d'en-têtes. J'ai besoin d'un script python pour cela. toute aide serait appréciéeFiltrage d'en-tête en utilisant python

Répondre

1

Vous voudrez peut-être regarder dpkt. C'est une bibliothèque Python pour simplifier la lecture (ou la génération) de données réseau. Enregistrez simplement vos données Wireshark en tant que flux Pcap et vous pourrez facilement les ouvrir depuis Python.

Je ne sais pas exactement quels en-têtes que vous voulez ou comment vous en avez besoin filtré et mis en forme, mais voici un exemple de ce que vous pourriez écrire: (prise de a contributor's blog post)

import dpkt 
pcap = dpkt.pcap.Reader(open('test.pcap')) 
for timestamp, buf in pcap: 
    eth = dpkt.ethernet.Ethernet(buf) 
    ip = eth.data 
    tcp = ip.data 
    print 'Got data from port ' + str(tcp.port) 
+0

i sauvé la test.cap file dans le répertoire de python26 mais chaque fois que je lance ce script, il ne cesse de me dire qu'il n'y a pas de fichier de répertoire nommé "test.pcap". Y at-il un moyen particulier que je dois enregistrer le flux pcap? – hollandspur

+0

Eh bien, vous l'avez dit vous-même: vous avez enregistré "test.cap" et vous essayez d'ouvrir "test.pcap" (notez le "p" supplémentaire). – Karmastan