Вивисекция пакетов
Описание протокола заключено в двух файлах, которые мы создадим с нуля:
protocol_name.wsgd - здесь указывается, какие порты нам нужны, название вивисектора, имя второго файла со структурой и т.д;
protocol_name.fdesc - здесь уже разбирается протокол, производится выбор типа пакетов и вывод в wireshark.
Первым делом надо бы создать фильтр и название нашего протокола, который будем разбирать. Создадим пустой файл nyaproto.wsgd и поместим его в ту же папку, куда зашвырнули плагин.
читать дальшеТам его и будем редактировать. Напишем описание согласно документации:
Как-то так, есть ещё ряд украшательств, но фиг с ними.
Теперь напишем минимально допустимое описание протокола. Что же минимально необходимо?
1. Описание кодов, по которым определяется тип сообщения;
2. Структура-определятор значения этого поля в пакете;
3. Описание полей для их показа для всех необходимых нам сообщений;
4. Выбиратор типа сообщения в зависимости от значения этого поля для его показа.
Не надо удивляться, что код здесь пишется не только в функциях, но и в структурах.
Итак, nyaproto.fdesc:
Если эти файлы поместить к плагину под бочок, то после запуска (если не выскочит никаких ошибок интерпретации) в Internals->Supported protocols появится и наш Nya protocol.
Дальше подробнее посмотрим, что и как надо ему писать, чтобы он всё понял, как украсить вывод и проверить в деле.
Для копипасты:
nyaproto.wsgd
nyaproto.fdesc1.
Введение;
2. Пример;
3.
Типы данных и выбиратор.
...