Jak filtrować zawartość pakietu w Wireshark?

8

Mam aplikację, która komunikuje się z bazą danych Oracle, jej rejestrowanie jest dość kiepskie, więc jedynym sposobem na ćwiczenie tego, co SQL wysyła do naszej bazy danych, jest sniffowanie pakietów dla TNS.requests; Chcę filtrować te pakiety według tych, które zawierają nazwę konkretnej, tj. Na istnieniu określonego ciągu w pakiecie. Jak mogę to zrobić?

Dzięki.


źródło

Odpowiedzi:

13

Czy próbowałeś już operatorów „zawiera” lub „dopasowuje”? Na przykład,

tns.request and tns contains "Marshmallows"

lub po prostu

frame matches "(?i)marshmallows"

Pierwszy przykład szuka żądań TNS zawierających rozróżnianą wielkość liter „Marshmallows”. Drugi przykład szuka „pianek” w dowolnym miejscu w dowolnej ramce, ignorując wielkość liter. („zawiera” wykonuje proste dopasowywanie ciągów; „dopasowania” pozwala używać modyfikatorów PCRE).


Aktualizacja: W Wireshark 2.6 i nowszych „dopasowanie” domyślnie nie rozróżnia wielkości liter. Możesz użyć modyfikatora PCRE „(? -I)”, aby wymusić rozróżnianie wielkości liter.

Gerald Combs
źródło
Dzięki, myślałem, że to będzie coś prostego, wiwaty, to było dokładnie to, co chciałem wiedzieć.
0

Istnieje kilka interpretacji twojego pytania:

  1. Używasz WireShark i chcesz przeprowadzić bardziej zaawansowane filtrowanie, aby lepiej analizować dane. w takim przypadku przeczytaj dokumenty . Możesz także zaprogramować filtry w Lua , jeśli potrzebujesz dodatkowej mocy ekspresji.

  2. Chcesz odfiltrować te pakiety; tzn. zapora ogniowa na poziomie aplikacji lub NIDS . Sprawdź filtr L7 pod kątem zapory ogniowej / kształtowania lub Snort dla NIDS (myślę, że ten ostatni może również używać niektórych skryptów Lua)

  3. Chcesz przechwytywać pakiety do logowania, tworzenia statystyk lub innych automatycznych zadań. sprawdź tcpdump / libpcap i / lub moje własne powiązanie libpcap dla Lua .

Javier
źródło
Tak, czytałem dokumenty, ale nie mogłem znaleźć tego, czego szukałem. Wszystko, co chcę zrobić, to dodać filtr, aby znaleźć ciąg w surowych danych pakietu. Przeszukuję przefiltrowane dane TNS.request, ale to po prostu przeskakuje przez każdy pakiet, w którym pojawia się ciąg. Przepraszam, myślałem, że to naprawdę trochę składnia.