Перейти к содержимому

Просмотр и декодирование

Захват — это только первый шаг; главное — понимание. Обычные инструменты часто выдают вам кучу сжатых байтов или нечитаемую абракадабру. Trace Eagle автоматически распаковывает, определяет формат и форматирует, а также умеет показывать медиа прямо в интерфейсе и разбирать приватные протоколы, так что каждый фрагмент данных представлен в наиболее читаемой форме.


1. Один и тот же фрагмент данных, пять способов просмотра

Заголовок раздела «1. Один и тот же фрагмент данных, пять способов просмотра»

Стороны запроса и ответа независимо переключаются между режимами просмотра:

  • Структурированный: стартовая строка + таблица заголовков запроса + умное тело, режим по умолчанию.
  • Текст · форматированный: автоматические отступы в зависимости от типа содержимого, с форматированием в один клик для JSON, XML и форм (x-www-form-urlencoded) для лёгкого чтения.
  • Текст · сырой: показывает полное сообщение как сырой текст.
  • Hex: hex-просмотрщик, где можно кликнуть по байту для связанной подсветки hex↔ASCII, показать смещения и сохранить в бинарный файл в одно касание; даже очень крупные тела данных прокручиваются плавно, без задержек.
  • Автоопределение: передаёт данные движку для глубокого декодирования, отображается в виде дерева декодирования, которое можно раскрывать слой за слоем; вложенное сжатие и вложенные кадры можно раскрывать уровень за уровнем.

Переключение режимов просмотра: структурированный / текст · форматированный / текст · сырой / hex / автоопределение, с независимым переключением запроса и ответа

«Просмотреть как» переключает только уровень отображения (структурированный / текст / hex / автоопределение); JSON, XML и формы — это стили форматирования текста, обрабатываемые автоматически режимом «текст · форматированный», а не выделены отдельным списком.

Hex-просмотрщик: показывает смещения, hex и ASCII рядом со связанной подсветкой, и умеет сохранять в бинарный файл в одно касание


  • Автоматическая распаковка: gzip, brotli (br), deflate, zstd, с поддержкой многослойных вложенных кодировок (например, gzip, br декодируется слой за слоем от внешнего к внутреннему), тогда как обычные инструменты часто декодируют только самый внешний слой.
  • Автоматическое определение и форматирование: JSON, XML, формы, Apple plist (бинарный / XML / восстановление архива NSKeyedArchiver), protobuf / gRPC.
  • Определение бинарных форматов: встроенный движок определения данных автоматически распознаёт изображения, шрифты, PDF, архивы и многое другое, и может показать список файлов внутри архива.
  • Предпросмотр медиа прямо в интерфейсе: изображения, видео и аудио предпросматриваются / воспроизводятся прямо в панели деталей.
  • Умное снятие обёртки: распознаёт обёртку «пользовательский заголовок плюс сжатый поток», характерную для отчётов телеметрии (которая часто не несёт стандартного маркера кодировки), автоматически снимает заголовок обёртки и восстанавливает реальные данные, тогда как обычные инструменты выдают лишь нечитаемую абракадабру.
  • Честные уведомления о неудаче: когда встречаются приватные зашифрованные данные, которые действительно нельзя восстановить, инструмент чётко об этом сообщает, а не сваливает на вас кучу нечитаемой абракадабры.
  • Единый UTF-8: кодировки символов единообразно обрабатываются в валидный UTF-8.

Предпросмотр медиа прямо в интерфейсе: изображение отрисовывается прямо в панели деталей ответа, с пометкой его типа и размера


Тип данных Режим просмотра
WebSocket Показывается покадрово (текст / бинарные данные / ping / pong), с пометкой направления отправки/приёма
Server-Sent Events (SSE) Поток событий показывается по одному событию
gRPC / protobuf Номера полей / типы / значения декодируются без .proto
Сырой TCP / UDP Нерасшифрованные или не-HTTP сырые байты отправки/приёма, переключаемые между hex / текст

4. Приватные протоколы тоже можно разобрать

Заголовок раздела «4. Приватные протоколы тоже можно разобрать»

Для не-HTTP приватных / бинарных протоколов:

  • Многие приватные кадры разбираются автоматически без настройки: движок пробует распространённые границы с фиксированным префиксом длины и разворачивает кадр за кадром, так что даже сырой поток разбивается на отдельные сообщения без написания какого-либо скрипта.
  • Встроенные шаблоны разбиения на кадры: распространённые структуры приватных кадров, такие как префикс длины, границы по магической сигнатуре, разделители (которые могут содержать hex) и фиксированная длина, — для всех есть готовые шаблоны из коробки; измените несколько значений, и они разберутся. Для более сложных структур обратитесь к JS-скрипту ниже.
  • Декодирование JS-скриптом: напишите небольшой объём JavaScript, чтобы настроить логику разбиения на кадры и декодирования, со встроенными вспомогательными возможностями вроде получения байтов, перевода систем счисления и распаковки, готовыми из коробки.
  • Ручное «Декодировать как»: вручную выберите метод разбиения на кадры для любого соединения, чтобы просмотреть полную запись отправки/приёма этого соединения, и каждое сообщение можно дополнительно переключать между автоопределением / текстом / hex. См. Декодирование пользовательских протоколов.

Назад к Захвату через прокси