Вопрос или проблема
Я пытаюсь сделать реверс-инжиниринг протокола в Wireshark, и не так хорошо знаком с Wireshark. Я нашел некоторые пакеты, которые мне нужны, и вижу данные XML в области просмотра данных. Я хотел бы извлечь их оттуда, чтобы очистить и прочитать, а также начать разбираться, что требуется для использования этих данных в другом месте.
Являются ли точки после каждого символа частью Wireshark или частью протокола, который я изучаю? Я предполагаю, что это часть Wireshark, поэтому одной из причин, по которой я хочу извлечь данные из Wireshark, является необходимость их очистки.
Что я могу сделать, чтобы достичь этой цели?
Я наконец-то понял, как множественно выделять пакеты (CTRL + M), что довольно утомительно, но сработало, потому что у меня есть небольшой набор пакетов для работы.
Печать не дает мне того, что я хочу, а экспорт, похоже, не выполняет то, что мне нужно. Конечно, возможно, я неправильно выполняю эти действия из-за неопытности.
Обновление
Я нашел эту статью, в которой объясняется, как функция была намеренно затруднена. Что ж, я все равно нашел её, но теперь я просто получаю представление того, что я видел в области данных. Я хотел бы получить просто ASCII-данные, которые там есть. Есть ли способ в Wireshark вывести это? Было бы здорово собрать некоторые пакеты и получить их восстановленный полезный груз, так как это сделал бы получатель, отправляя на приложение серверу.
Смотрите ниже графику (благодаря этому вопросу на Stack Overflow):
Поле data.text будет отображать данные в ASCII.
Вы также можете выбрать любое поле в окне деталей пакета, щелкнуть правой кнопкой мыши и выбрать “Применить как колонку”.
Я знаю, что это старая тема, но мне нужно было сделать именно это только что, и Google привел меня сюда. В любом случае, ответ, по крайней мере в более современных версиях Wireshark (версия 4.4.1).
Для любых общих ASCII-данных убедитесь, что информация о данных в разделе деталей пакета отображает как “Данные” в шестнадцатеричном формате, так и “Текст” в ASCII. Если нет, щелкните правой кнопкой мыши заголовок раздела Данные, перейдите в Предпочтения протокола и выберите Показать данные как текст.
После этого вы можете щелкнуть правой кнопкой мыши по строке Текст и выбрать Применить как колонку. В качестве альтернативы вы можете отредактировать предпочтения столбца, добавить новую строку и создать пользовательский фильтр для “data.text”.
Теперь вы можете экспортировать разбор пакетов из меню Файл в формате CSV, например, и легко получить ваш текст для дальнейшей обработки. В моем примере мои данные создаются отправляющим приложением в формате CSV, поэтому я могу открыть в Excel и выполнить преобразование “Текст по столбцам” для дальнейшей обработки.
Ответ или решение
Wireshark — это мощный инструмент для анализа сетевого трафика, и извлечение ASCII-контента из полезной нагрузки пакета — важный шаг для обратного проектирования протоколов. Рассмотрим, как осуществить эту задачу с помощью Wireshark, используя детальный и структурированный подход.
1. Понимание формата вывода данных
Как вы уже заметили, в Wireshark пакеты можно просматривать в различных форматах, включая шестнадцатеричный (hex) и ASCII. Символы в пунктирных линиях, которые вы видите, скорее всего, не являются частью исходного протокола, а представляют собой способ отображения данных в Wireshark.
2. Настройка отображения данных
-
Настройка представления:
- Для того чтобы увидеть ASCII-действительные данные, в разделе "Packet Details" (детали пакета), найдите секцию с данными. Если вы не видите раздел для отображения данных как текст, щелкните правой кнопкой мыши на заголовке "Data" и выберите "Protocol Preferences" (предпочтения протокола), а затем включите опцию "Show Data As Text" (отображать данные как текст).
-
Добавление в колонки:
- После этого вы сможете правой кнопкой мыши щелкнуть на строку с текстом и выбрать "Apply as Column" (применить как колонку). Это добавит колонку с текстовыми данными в ваш рабочий интерфейс, что значительно упрощает просмотр.
- Если вам нужно более сложное представление, вы можете настроить свои колонки через "Edit Column Preferences" (Редактировать параметры колонок) и создать пользовательский фильтр для "data.text".
3. Экспорт данных
Теперь, когда вы видите текстовые данные в колонках, вы можете экспортировать пакеты для дальнейшего анализа:
-
Экспорт разобранных данных:
- Перейдите в меню "File" (Файл) и выберите «Export Packet Dissections» (Экспорт разбора пакетов). Выберите формат CSV для упрощенного анализа в таких программах как Excel. Таким образом, вы сможете извлечь интересующую вас информацию и при необходимости выполнить тонкую настройку в Excel, используя функции "Text to Columns" (Текст в столбцы).
-
Объединение данных:
- Для последующей работы вы можете комбинировать данные из нескольких пакетов, а затем передать их в нужном формате, как это делается на стороне получателя.
Заключение
Извлечение ASCII из пакетов в Wireshark — это вполне выполнимая задача, если следовать указанным шагам. Оптимизация представления данных и использование функций экспорта позволят вам эффективно обрабатывать информацию для обратного проектирования протоколов. Помните, что Wireshark — это мощный инструмент, и с его помощью вы можете не только наблюдать за трафиком, но и извлекать и анализировать данные, обеспечивая тем самым полное понимание исследуемых протоколов.
Если у вас возникнут дополнительные вопросы или потребуется помощь на следующих этапах анализа, не стесняйтесь обращаться за поддержкой. Удачи в вашем проекте!