Как найти TCP-пакеты с конкретными данными в захвате Wireshark?

Вопрос или проблема

Я пытаюсь найти определенные данные в захвате Wireshark.
Прежде всего, мне нужно убедиться, что данные действительно там, и это уже было подтверждено в моем предыдущем посте.

Теперь я хотел бы сделать шаг дальше и действительно отфильтровать упомянутые данные.

На данный момент я способен создать следующий фильтр:

ip.dst == 10.1.0.160 && tcp.port == 12714 && data.len >=1

Как видите, этот фильтр захватывает Wireshark на определенный IP-адрес и соответствующий порт TCP, содержащий непустые данные, но я хотел бы углубиться в фильтрацию “данных”:

Мои “данные” всегда содержат фиксированные буквы “MFS1”, есть ли способ фильтровать по этому?

Я знаю, что “MFS1” это 4D 46 53 31 в шестнадцатеричном формате, могу ли я фильтровать по data.like('%4D465331%'), что-то вроде этого?

Вы можете использовать ключевое слово contains, вот так:

ip.dst == ... && tcp.port == ... && data.len >=1 && 
frame contains "MSF1"

Ответ или решение

Для нахождения TCP-пакетов с определенными данными в Wireshark вам потребуется использовать специальные фильтры, которые помогут сужать результаты просмотра сетевого трафика. Из предоставленной информации ясно, что вы уже знаете, как отфильтровать пакеты по IP-адресу, TCP-порту и минимальной длине данных. Теперь вам нужно расширить этот фильтр, чтобы находить только те пакеты, которые содержат указанные вами данные "MFS1" в их полезной нагрузке.

  1. Использование фильтров: Wireshark позволяет фильтровать пакеты по множеству критериев, включая содержимое данных. Для фильтрации данных пакетов на уровень содержимого существует оператор contains. Примеры использования включают формулировки такие как frame contains "MFS1", где frame представляет собой весь пакет.

  2. Гексадецимальный поиск: Если вы хотите искать по гексадецимальным значениям, проще всего использовать ключевое слово contains в сочетании с текстовым выражением. Гексадецимальные байты в Wireshark нельзя напрямую указать в фильтре отображения, однако вы можете использовать строковые представления вашего шаблона данных.

  3. Композитные фильтры: Помочь могут более сложные композитные фильтры:

    ip.dst == 10.1.0.160 && tcp.port == 12714 && frame contains "MFS1"

    Это указание даст вам возможность найти пакеты, которые удовлетворяют всем критериям: указанное направление пакета, порт, и наличие шаблона "MFS1" в данных.

  4. Оптимизация поиска: Чтобы облегчить процесс, вы можете также воспользоваться функцией фильтрации столбцов, сохранив интересующие вас комбинации фильтров для повторного использования. Это ускорит работу с большими дампами трафика.

  5. Проверка результата: Всегда проверяйте результаты ваших фильтров, чтобы гарантировать, что они соответствуют ожидаемым результатам. Можно использовать дополнительные фильтры для проверки содержимого определённого пакета.

Убедитесь, что вы используете последние версии Wireshark для обеспечения лучшей совместимости и максимального набора функций. Правильная фильтрация данных позволит вам анализировать сетевой трафик эффективно и целенаправленно, избегая излишней информации.

Оцените материал
Добавить комментарий

Капча загружается...