¿Cómo filtrar en un contenido de un paquete en Wireshark?

8

Tengo una aplicación que se está comunicando con una base de datos Oracle, su registro es bastante malo, por lo que la única forma en que puedo entrenar qué SQL está enviando a nuestra base de datos es mediante la búsqueda de paquetes para solicitudes TNS. Quiero filtrar estos paquetes por aquellos que contienen el nombre de particular, es decir, sobre la existencia de una cadena particular en el paquete. ¿Cómo puedo hacer esto?

Gracias.


fuente

Respuestas:

13

¿Has probado los operadores "contiene" o "coincide"? Por ejemplo,

tns.request and tns contains "Marshmallows"

o simplemente

frame matches "(?i)marshmallows"

El primer ejemplo busca solicitudes TNS que contienen la cadena de caracteres "Marshmallows". El segundo ejemplo busca "malvaviscos" en cualquier lugar de cualquier marco, ignorando el caso. ("contiene" hace una simple coincidencia de cadenas; "coincide" le permite usar modificadores PCRE).


Actualización: en Wireshark 2.6 y versiones posteriores, "coincide" no distingue entre mayúsculas y minúsculas de forma predeterminada. Puede utilizar el modificador PCRE "(? -I)" para forzar mayúsculas y minúsculas.

Gerald Peines
fuente
Gracias, pensé que sería algo simple, saludos, eso era exactamente lo que quería saber.
0

Hay varias interpretaciones de su pregunta:

  1. Está utilizando WireShark y desea realizar un filtrado más sofisticado para analizar mejor los datos. en ese caso, lea los documentos . También puede programar filtros en Lua , si necesita un poder expresivo adicional.

  2. Desea filtrar esos paquetes; es decir, un firewall de nivel de aplicación o NIDS . Verifique el filtro L7 para firewall / modelado, o Snort para NIDS (este último también puede usar algunos scripts Lua, creo)

  3. Desea capturar paquetes para iniciar sesión, crear estadísticas o cualquier otra tarea automatizada. compruebe tcpdump / libpcap y / o mi propio enlace libpcap para Lua .

Javier
fuente
Sí, he leído los documentos, pero no pude encontrar lo que estaba buscando. Todo lo que quiero hacer es agregar un filtro para encontrar una cadena en los datos del paquete sin procesar. Hago una búsqueda en los datos filtrados de TNS.request, pero eso solo salta a través de cada paquete donde aparece la cadena. Lo siento, pensé que esto sería realmente un poco de sintaxis.