Ошибка таблицы плагинов Wireshark Lua - PullRequest
0 голосов
/ 31 марта 2019

У меня есть пакет с данными трейлера после пакета, как в трейлере метки времени ixia.Я пытаюсь написать диссектор для Wireshark, который полностью совпадает с плагином ixia-packet_trailer.https://raw.githubusercontent.com/boundary/wireshark/master/epan/dissectors/packet-ixiatrailer.c

Но я хотел написать на Lua, так что это легче всего изменить.Поэтому я заменяю строку C

heur_dissector_add("eth.trailer", dissect_ixiatrailer, proto_ixiatrailer);

на следующую в Lua

eth_table = DissectorTable.get("eth.trailer")

Но я получил сообщение от Wireshark «неверный аргумент для получения (DissectorTable_get нет такой таблицы анализатора)»

1 Ответ

1 голос
/ 31 марта 2019

Поскольку "eth.trailer" зарегистрирован как эвристический список (см. packet-eth.c ), я думаю, вам, вероятно, придется следовать примеру, приведенному здесь: https://mika -s.github.io / wireshark / lua / абстрактный / 2018/12/30 / создание независимого порта-wireshark-disctors-in-lua.html

По сути, я думаю, что вы собираетесьнужно сделать что-то вроде этого:

your_protocol:register_heuristic("eth.trailer", heuristic_checker)

... где heuristic_checker - это функция, которая проверяет, действительно ли трейлер для вашего диссектора.

...