Miller – приложение, предназначенное для визуального представления, анализа и обработки бинарных данных. Он будет очень полезен тем, кто занимается разработкой или анализом различных протоколов от канального до прикладного уровней.
За время своего существования Miller претерпел значительные изменения и оброс широким набором плагинов. Изначально он писался для себя, но к настоящему времени получился продукт, который можно представить широкой аудитории.
Главное окно программы выглядит так:
Основное преимущество Miller – это представление «сырых» и пакетных данных одновременно в бинарном и графическом виде.
Программа позволяет открывать файлы и сохранять данные в форматах: «сырой», IP_STREAM, CAP, RWS.
Основные возможности:
- представление данных в бинарном, шестнадцатиричном, десятичном и текстовом видах.
- изменение основных параметров представления данных: периода, интервала, смещения
- навигация по данным с помощью горячих клавиш и «перетаскиваемого» окна;
- выделение данных в трех режимах:
- вертикальном
- горизонтальном
- блочном (при нажатии Shift+Alt)
- вертикальном
- представление процесса обработки данных в виде простой древовидной структуры, каждый узел (набор узлов) — результат очередной обработки данных.
- настройка всей графической палитры и горячих клавиш, существует две предустановленных цветовых схемы «черно-белая» и «желто-синяя».
Miller построен по принципу открытой архитектуры и имеет API для подключения плагинов (модулей обработки). Интерфейс модуля обработки спроектирован таким образом, что модуль способен выполнить практически любые операции по обработке данных (получение данных от какого-либо устройства, преобразование данных, оценку их статистических свойств и т.д).
Переходя к описанию модулей обработки, необходимо сказать, что модули писали разные люди для своих конкретных задач, поэтому к настоящему времени в Miller имеется широкий диапазон возможностей от обработки протокола HDLC до декодирования аудио и видео кодеков.
Модули обработки разделены на следующие группы:
- HDLC: обработка биториентированной процедуры HDLC
- ODLC: обработка процедуры ODLC
- SDLC: обработка биториентированной процедуры SDLC
- SYN: cинхронизация в последовательности по заданному битовому шаблону
- SBL: группировка данных по заданному битовому шаблону
- CRC16, CRC32: проверка контрольных сумм пакетов
- A, 2A: группировка по одному и двум байтам
- IPaddr, TCPport: группировка по IP адресам и портам
- 01h...80h: группировка по одному биту
- INV: битовая инверсия
- DeSkr: определение полинома самосинхронизирующегося скремлера и дескремблирование.
- RWT: разворот групп
- считывание групп в обратном порядке
- перестановка пар групп местами
- RWT-SBL: разворот данных по битовому шаблону
- поиск битовых строк
- xor строк
- принудительное дескремблирование
- поиск периода
- инвертирование данных по шаблону
- транспонирование битовых матриц любой ширины и высоты
- VOC: декодирование, визуализация и прослушивание вокодерных сигналов
- АТМ: синхронизация в потоке АТМ424
- АТMgr: группировка по составному адресу VPI-VCI
- AAL: определение уровня адаптации
- ATMDMX: демультиплексор потоков ATM424
- Снифер данных с сетевой карты
- разбиение входного файла на части
- вырезание байт из пакетов
- вставка нулевой группы
- RFC3544: декомпрессия заголовков IP/TCP (по Якобсону), IP/UDP, IP/UDP/RTP по рекомендации RFC3544 в потоках PPP
- выполнение дефрагментации по заданному закону
- обработка паровоза пакетов
- C-Check: проверка последовательности пакетов по счетчику
- C-Correct: восстановление последовательности пакетов по счетчику
- IP-Check: проверка контрольных сумм IP-TCP-UDP
- SТМ: модуль предназначен для анализа и идентификации потоков SDH
- GPF: обработка служебных и информационных пакетов протокола GFP
- BHDLC: обработка байториентированного потока HDLC
- EOL: Синхронизация по EOL
- статистика групп бит
- CSG: статистика групп символов
- построение полиномиального спектра
- ScanVoIP: сбор статистики о сигнализации VoIP
- VIDEO-DEC: декодирование видеофремов с помощью системных VFW видео-кодеков
- VIDEO-DS: декодирование видеофремов с помощью видео-фильтров DirectShow
Более подробное описание возможностей модулей обработки можно найти в файле помощи.
Также в файле помощи имеется описание API и примеры разработки плагинов. Для тех, кто знаком с программированием написать плагин под свои задачи не составит большого труда, Исходя из личного опыта, это может сэкономить большое количество времени.
Дистрибутив программы можно взять здесь.
Хотелось бы услышать отзывы или предложения по дальнейшей работе над Miller-ом.
P.S.: В Total Commander можно настроить открытие файла сразу в Miller, при нажатии на значок программы в панели инструментов.
Автор: lerom