Как написать фильтр в Wireshark / Ethereal, который отображает только пакеты с определенной строкой?

10091
Jader Dias

Wireshark поддерживает такие фильтры:

ip.addr == 192.168.0.1 

Какой синтаксис для проверки содержимого пакета?

(C # эквивалент того, что я хочу)

content.Contains("whateverYouWant") 
6

2 ответа на вопрос

4
Gerald Combs

Попробуйте операторы «содержит» или «соответствует».

tcp contains "an aloof iguana" http matches "my pass.+ is(?i)" 

Contains выполняет простое сравнение строк с учетом регистра и гарантированно присутствует в каждом пакете Wireshark. Matches позволяет применять Perl-совместимые регулярные выражения. Его доступность зависит от вашей платформы. Вы также можете использовать содержит с байтовыми строками:

ip contains 01:ab:9c:45 
Он не работал на Wireshark 1.2.3 и не находится в документации Jader Dias 14 лет назад 0
Какую строку фильтра вы пытаетесь использовать? (... а вы не пытаетесь применить это как фильтр захвата, не так ли?) Похоже, нам нужно добавить "соответствия" и "содержит" в руководство пользователя, но примеры можно найти по адресу http: // wiki.wireshark.org/DisplayFilters Gerald Combs 14 лет назад 0
1
Ahe

Кажется, нет общего способа сделать это. Фильтр, который вам нужно применить, зависит от протокола, который вы слушаете. Попробуйте посмотреть список фильтров по адресу http://www.wireshark.org/docs/dfref/ .

Похожие вопросы