Comment filtrer sur le contenu d'un paquet dans Wireshark?

8

J'ai une application qui communique avec une base de données Oracle, sa journalisation est assez merdique, donc la seule façon de déterminer le SQL qu'elle envoie à notre base de données est de renifler les paquets pour TNS.requests; Je veux filtrer ces paquets par ceux qui contiennent le nom de particulier c'est-à-dire sur l'existence d'une chaîne particulière dans le paquet. Comment puis-je faire ceci?

Merci.


la source

Réponses:

13

Avez-vous essayé les opérateurs "contient" ou "correspond"? Par exemple,

tns.request and tns contains "Marshmallows"

ou simplement

frame matches "(?i)marshmallows"

Le premier exemple recherche les requêtes TNS qui contiennent la chaîne sensible à la casse "Marshmallows". Le deuxième exemple recherche les "guimauves" n'importe où dans n'importe quel cadre, en ignorant la casse. ("contient" fait une simple correspondance de chaîne; "correspond" vous permet d'utiliser les modificateurs PCRE).


Mise à jour: dans Wireshark 2.6 et versions ultérieures, "correspond" n'est pas sensible à la casse par défaut. Vous pouvez utiliser le modificateur PCRE "(? -I)" pour forcer la sensibilité à la casse.

Gerald Combs
la source
Merci, je pensais que ce serait quelque chose de simple, des acclamations qui étaient exactement ce que je voulais savoir.
0

Il existe plusieurs interprétations de votre question:

  1. Vous utilisez WireShark et souhaitez effectuer un filtrage plus sophistiqué pour mieux analyser les données. dans ce cas, lisez les documents . Vous pouvez également programmer des filtres en Lua , si vous avez besoin d'une puissance expressive supplémentaire.

  2. Vous voulez filtrer ces paquets; c'est-à-dire un pare-feu au niveau de l'application ou NIDS . Vérifiez le filtre L7 pour le pare-feu / la mise en forme, ou Snort pour NIDS (ce dernier peut également utiliser certains scripts Lua, je pense)

  3. Vous souhaitez capturer des paquets pour vous connecter, créer des statistiques ou toute autre tâche automatisée. vérifiez tcpdump / libpcap et / ou ma propre liaison libpcap pour Lua .

Javier
la source
Oui, j'ai lu les documents, mais je n'ai pas trouvé ce que je cherchais. Tout ce que je veux faire, c'est ajouter un filtre pour trouver une séquence dans les données brutes des paquets. Je fais une recherche sur les données filtrées TNS.request, mais cela saute juste à travers chaque paquet où la chaîne apparaît. Désolé, je pensais que ce serait vraiment un peu de syntaxe.