Я долго искал способ скомпилировать и запустить собственный диссектор Wireshark, без необходимости перекомпиляции всего проекта wireshark.
Во многих местах в Интернете разработчики требуют написания своих плагинов и ссылки на Wireshark.
Тем не менее, я обнаружил, что некоторые люди смогли написать диссектор и запустить его с помощью системы плагинов от Wireshark, пути которой можно найти в разделе «Справка / О программе».
Несмотря на то, что эти люди успешно пишут на Lua и C ++, я перепробовал много уроков, но я действительно потерян.
Может ли кто-нибудь помочь мне с шагами по созданию очень простого анализатора Wireshark на Ubuntu 16.04 64bit?
Существует три способа написания собственного диссектора для Wireshark:
Несколько лет назад мне нужно было написать диссектор для пользовательского протокола, который использует моя компания. Я сравнил три варианта и немного о них узнал. C ++ является самым быстрым исполнением, но самым сложным для изучения и использования. Lua и WSGD примерно одинаковы по скорости выполнения. Lua-диссектор встроен в Wireshark, однако я обнаружил, что его сложнее изучать, потому что вам нужно выучить язык (Lua), а затем как писать диссекторы на этом языке. WSGD — это язык, разработанный специально для написания диссекторов. Это больше похоже на определение структуры, чем на язык управления потоком. На сайте WSGD есть документация и примеры. Трудно найти документацию и примеры для Lua и как писать в нем диссекторов.
В 2015 году Грэм Биойс представил «Написание диссектора Wireshark с использованием WSGD, Lua и C» на Sharkfest. Это очень сквозная презентация на эту тему, хотя было слишком поздно, чтобы помочь мне. Вы можете получить слайд-колоду и посмотреть презентацию по адресу:
По причинам, которые я перечислил выше, я выбираю WSGD. Я написал несколько тысяч строк для создания диссекторов для трех пользовательских протоколов в WSGD. Я очень рекомендую это. Веб-сайт WSGD http://wsgd.free.fr
Других решений пока нет …