Ich habe eine Reihe von PCAP-Dateien, die ich mit tcpdump bekommen habe. Ich muss alle nach bestimmten Schlüsselwörtern durchsuchen und aufzeichnen, welche Dateien diese Zeichenfolgen enthalten. Gibt es eine Möglichkeit, die Suche nach diesen Schlüsselwörtern mit einem tcpdump-Befehl zu automatisieren?Suche durch viele pcap-Dateien mit tcpdump
Antwort
Es gibt eine leistungsfähigere Version von tcpdump, tshark (es ist das Kommandozeilenwerkzeug von wireshark package). Sie könnten tshark -T Felder | pdml | ps | psm | | text verwenden, um Pakete in einem Format abzulegen, das Sie mögen, und einfach grep. tshark konnte tcpdump dumps lesen.
Ich bin mir nicht ganz sicher, wie ich das verwenden würde. Sagen wir, ich habe eine Capture-Datei (capture.pcap) und ich möchte suchen, ob die Datei die Schlüsselwörter "example1" und "example2" enthält. Wie würde ich Ihre Lösung verwenden? –
Wahrscheinlich die generische Lösung tshark
verwenden wäre, etwas zu laufen wie:
tshark -r file.pcap -Y "frame contains foo"
... wo foo
ist die Zeichenfolge, die Sie für die Suche sind. Weitere Informationen zum Filtern mit dem Operator contains
und anderen Operatoren, z. B. dem Operator matches
, der Perl-kompatible reguläre Ausdrücke unterstützt, finden Sie unter wireshark-filter man page.
Mit diesem Befehl wird die Ausgabe, die Sie sehen, eine 1-zeilige Zusammenfassung jedes Pakets sein, das dem Filter entspricht. Sie könnten den Ausgang zuzuschneiden eine Reihe von Methoden verwenden, aber zum Beispiel an, dass Sie nur die Rahmennummer des entsprechenden Pakets wissen wollten, könnten Sie laufen:
tshark -r file.pcap -Y "frame contains foo" -T fields -e frame.number
zum tshark
man page auf die für weitere Informationen siehe -T
und -e
Optionen, sowie andere Optionen, die für Sie von Nutzen sein können.
vielleicht ein Python-Skript mit '' 'dpkt'' Modul kann Ihnen helfen, das zu erreichen –