Я начинаю создавать Дисплей для пакета IEEE 802.15.4. Я использую ключ TI cc2531 и скрипт python ccsniffpip для получения данных в Wireshark. Пока что так хорошо, что я вижу пакеты как сырые пакеты 802.15.4. Моя проблема заключается в анализе полезной нагрузки с помощью моего собственного протокола. Похоже, что Wireshark спроектирован в предположении, что адресат 802.15.4 имеет смысл в том смысле, что порты предназначены для намека на то, что тип пакета. Для 15.4 это часто бывает не так. Для 15.4 место назначения больше похоже на IP-адрес. Я хочу декодировать каждый пакет 15.4, который я вижу. В моем случае у меня есть протокол, скрывающийся внутри раздела «данные» из 15.4 пакетов с первым байтом данных, указывающих тип пакета. У меня нет проблем с созданием простого рассеивателя Lua, чтобы проходить через вещи и создавать некоторые простые деревья, но, как я могу судить, мне нужно идти вручную в графическом интерфейсе и сообщать программе «Декодировать как« MyProtocol »для каждого новый адрес назначения, который становится выделенным главным устройством 15.4. Моя потребность сделать мой диссексуал беспорядочным для всех 15.4 адресов назначения. Мне понравились примечания, где disector_add for_decode_as был выставлен Lua ("Wireshark-commits: [Wireshark-commits] master 016769d: Expose dissector_add_for_decode_as() to Lua"), но я не могу найти примеров того, как использовать его в Lua для 15.4.Wireshark 802.15.4 Диссектор для всех пунктов назначения в Lua
Также будут оценены любые предложения архитектуры высокого уровня. Мой простой диссектор, который я написал, кажется, не сможет выделить конкретные данные в нижней панели данных, поэтому я предполагаю, что я не правильно использую Wireshark.
FYI Я начал с использованием этого связанным SO внимания: Wireshark Lua Dissector for IEEE 802.15.4 - DissectorTable name?