Como filtrar um conteúdo de um pacote no Wireshark?

8

Eu tenho um aplicativo que está se comunicando com um banco de dados Oracle, o log é muito ruim, então a única maneira de treinar o SQL que está enviando para o nosso banco de dados é através da detecção de pacotes para TNS.requests; Eu quero filtrar esses pacotes por aqueles que contêm o nome de particular, isto é, na existência de uma string paricular no pacote. Como posso fazer isso?

Obrigado.


fonte

Respostas:

13

Você já tentou os operadores "contém" ou "corresponde"? Por exemplo,

tns.request and tns contains "Marshmallows"

ou simplesmente

frame matches "(?i)marshmallows"

O primeiro exemplo procura solicitações de TNS que contêm a sequência "Marshmallows" com distinção entre maiúsculas e minúsculas. O segundo exemplo procura "marshmallows" em qualquer lugar de qualquer quadro, ignorando maiúsculas e minúsculas. ("contém" faz uma correspondência simples de cadeias; "combina" permite usar modificadores PCRE).


Atualização: No Wireshark 2.6 e posterior, "correspondências" não diferenciam maiúsculas de minúsculas por padrão. Você pode usar o modificador PCRE "(? -I)" para forçar a distinção entre maiúsculas e minúsculas.

Gerald Combs
fonte
Obrigado, eu pensei que seria algo simples, alegria que era exatamente o que eu queria saber.
0

Existem várias interpretações da sua pergunta:

  1. Você está usando o WireShark e deseja fazer uma filtragem mais sofisticada para analisar melhor os dados. nesse caso, leia os documentos . Você também pode programar filtros em Lua , se precisar de energia expressiva extra.

  2. Você deseja filtrar esses pacotes; ou seja, um firewall no nível do aplicativo ou NIDS . Verifique o filtro L7 para firewall / shaping ou Snort para NIDS (este último também pode usar alguns scripts Lua, eu acho)

  3. Você deseja capturar pacotes para registrar, criar estatísticas ou qualquer outra tarefa automatizada. verifique tcpdump / libpcap e / ou minha própria ligação de libpcap para Lua .

Javier
fonte
Sim, eu li os documentos, mas não consegui encontrar o que estava procurando. Tudo o que eu quero fazer é adicionar um filtro para encontrar uma sequência nos dados brutos do pacote. Eu faço uma pesquisa nos dados filtrados do TNS.request, mas isso apenas salta por cada pacote em que a string aparece. Desculpe, eu pensei que isso seria realmente um pouco de sintaxe.