Wie filtere ich den Inhalt eines Pakets in Wireshark?

8

Ich habe eine Anwendung, die mit einer Oracle-Datenbank kommuniziert. Die Protokollierung ist ziemlich beschissen. Ich kann also nur durch Paket-Sniffing für TNS.requests herausfinden, welches SQL an unsere Datenbank gesendet wird. Ich möchte diese Pakete nach solchen filtern, die den Namen eines bestimmten enthalten, dh nach dem Vorhandensein einer bestimmten Zeichenfolge im Paket. Wie kann ich das machen?

Vielen Dank.


quelle

Antworten:

13

Haben Sie die Operatoren "enthält" oder "Übereinstimmungen" ausprobiert? Zum Beispiel,

tns.request and tns contains "Marshmallows"

oder einfach

frame matches "(?i)marshmallows"

Das erste Beispiel sucht nach TNS-Anforderungen, die die Groß- und Kleinschreibung "Marshmallows" enthalten. Das zweite Beispiel sucht überall in einem Frame nach "Marshmallows", wobei Groß- und Kleinschreibung ignoriert wird. ("enthält" führt eine einfache Zeichenfolgenübereinstimmung durch; mit "Übereinstimmungen" können Sie PCRE-Modifikatoren verwenden).


Update: In Wireshark 2.6 und höher wird bei "Übereinstimmungen" standardmäßig die Groß- und Kleinschreibung nicht berücksichtigt. Sie können den PCRE-Modifikator "(? -I)" verwenden, um die Groß- und Kleinschreibung zu erzwingen.

Gerald Combs
quelle
Danke, ich dachte, es wäre etwas Einfaches, Prost, genau das wollte ich wissen.
0

Es gibt verschiedene Interpretationen Ihrer Frage:

  1. Sie verwenden WireShark und möchten eine ausgefeiltere Filterung durchführen, um die Daten besser analysieren zu können. Lesen Sie in diesem Fall die Dokumente . Sie können Filter auch in Lua programmieren , wenn Sie zusätzliche Ausdruckskraft benötigen.

  2. Sie möchten diese Pakete herausfiltern. dh eine Firewall auf Anwendungsebene oder NIDS . Überprüfen Sie den L7-Filter auf Firewall / Shaping oder Snort auf NIDS (letzterer kann, glaube ich, auch einige Lua-Skripte verwenden).

  3. Sie möchten Pakete erfassen, um sie zu protokollieren, Statistiken zu erstellen oder andere automatisierte Aufgaben zu erledigen. Überprüfen Sie tcpdump / libpcap und / oder meine eigene libpcap-Bindung auf Lua .

Javier
quelle
Ja, ich habe die Dokumente gelesen, aber ich konnte nicht finden, wonach ich gesucht habe. Ich möchte lediglich einen Filter hinzufügen, um einen Strind in den Rohpaketdaten zu finden. Ich suche nach den gefilterten TNS.request-Daten, aber das springt einfach durch jedes Paket, in dem die Zeichenfolge erscheint. Entschuldigung, ich dachte, das wäre ein bisschen Syntax.