Список всех полей для пакетов в Wireshark: Lua - PullRequest
0 голосов
/ 01 сентября 2010

Я пытаюсь получить список всех полей протокола для пакета.Я попытался all_field_infos, но он возвращает userdata, и я не мог понять, что metatable использовать, чтобы прочитать его.Wireshark передает дерево протокола к крану?(мы принимаем (tvb, pinfo, tree) для диссекторов, поэтому я подумал, что это возможно) Есть ли какое-то свойство сорта Proto.fields, которое возвращает все поля для определенного протокола?

1 Ответ

1 голос
/ 02 сентября 2010

Я сам не использовал Wireshark, но поиск в их онлайн-руководстве пользователя приводит к этой главе , которая, кажется, документирует список методов и полей пакета. Нет метаметода, позволяющего userdata поддерживать pairs(), поэтому документация - это все, что вы получите.

Кроме того, вы можете попробовать позвонить getmetatable() на userdata и перечислить его содержимое. Конечно, он может использовать __index(), чтобы скрыть реальные методы где-то еще ...

Я думаю, что Wireshark также обсуждал список рассылки Lua-L . Его архивы могут быть полезны.

В качестве низкоприоритетного курорта Wireshark имеет открытый исходный код, поэтому должна быть возможность найти код, который реализует интерфейс для Lua ...

...