Я пытаюсь найти способ написать диссектор Wireshark. Проблема в том, что я не нашел много документации о том, как это сделать, что для меня очень странно.
Я установил Lua54 и пишу его в коде Visual Studio с основным расширением Lua. Базовый Lua работает хорошо (например, создание функции или добавление двух чисел).
Однако, когда я следую определенной документации о том, как создать диссектор Wireshark, я не могу ни протестировать, ни запустить его локально, и, более того, нет автозаполнения, поэтому я понятия не имею, к какому атрибуту я могу получить доступ или какие функции я могу запустить... ( Например, для Proto
класса)
Я где-то читал, что вам нужно запустить команду script sith tshark -X
, однако она инициализирует анализ, и я не хочу тестировать ее таким образом, я хочу протестировать ее, передав ей байты и посмотрев, обнаружит ли она протокол с помощью заходим внутрь атрибута data
TCP-пакета и соответствующим образом анализируем его (вроде того, как struct
или construct
работают в Python)
Документация, которой я следую:
Проблема в том, что когда я запускаю класс «Прото», он не обнаруживает его и извлекает исключение некоторого типа «Глобальный «Прото» не определен»
Каковы этапы написания, выполнения и тестирования диссектора Lua для Wireshark? Я не могу найти ни базового руководства, ни руководства по настройке всех необходимых программ.
Ищу в Гугле Я ожидал гораздо больших объяснений
Запускаю это сам Я ожидал, что это сработает, но выдало исключение
Следуя руководству, которое я добавил в основной вопрос Я ожидал, что он будет работать правильно, но это не так...
Возможно, вы захотите начать с чтения/ссылки на разделы 10 (Поддержка Lua в Wireshark) и 11 (Справочное руководство по Lua API Wireshark) в Руководстве разработчика Wireshark . После этого вы можете обратиться к Wiki-странице Wireshark Lua для получения дополнительной помощи и ресурсов, включая Примеры и пользовательские Contribучения.
Вы также можете найти пример foo.lua
диссектора, который я написал и поделился в списке рассылки Wireshark-dev несколько лет назад, чтобы получить некоторую помощь. Я также включил образец файла foo.pcap
для его тестирования.