问题标签 [protofield]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
lua - 如何为 Lua Wireshark Dissector 创建 Protofield 子数组
给定以下示例:
我已经宣布了 2 个 Protofields。但是想象一下我有一个重复的组或一组项目:
消息正文如下所示:
理想情况下,我想在 Wireshark 中为该组创建一个子树
问题是我不知道如何在 Lua 中构造它。这声明了 2 个原型域:
但我想创建一个组的动态数组,所以我可以这样做:
那么,有没有Protofield.ProtoFieldArray
?可能吗?欢迎任何其他想法。
谢谢。
另外,作为参考: http ://ask.wireshark.org/questions/28038/how-to-create-a-protofield-sub-array-in-lua
lua - 如何在 lua dissactor 的 Protofield.string() 函数中将表数据作为参数传递?
我在 lua 脚本中为协议编写了一个 dissactor。Dissactor 工作正常。但我想知道 dissactor 文件中的一个更新。
我为不同类型的消息创建了一个表。下面是表格——
下面是一个 protofield,我为此协议创建了它并将其注册为一个字段。
如果我将在wireshark 中对任何消息字段应用过滤器,它将显示“abcd.message_type = some_valve”作为所有消息类型的过滤器值。
我想根据不同的消息类型显示此过滤器值,例如 MAC ID 的“abcd.mac_id = some_value”,而不为每种消息类型创建单独的原型字段。
是否可以在 message_types 表的帮助下做到这一点?
filter - Lua - 显示字段 ASCII Dissector
我目前正在研究我的第一个 Protocol Dissector。我面临一个我无法解决的问题。基本上我有一个 8 字节长的字段(但定义超过 9 个字节),所以我创建了一个位域来定义这个原型域。
以下是我迄今为止测试过的领域的定义:
然后我通过以下方式将它添加到解剖树中:
最终给出以下错误:
如果你们中的任何人有任何建议,我将不胜感激。
先感谢您,
马丁
编辑1:
我编写了这段代码,它将从字段值的每个字节中获取 ASCII 表值:
我不知道如何使它工作,以便它在数据包视图上显示 ASCII 值。
lua - 什么是 VoidString 对象?
我正在为 Wireshark 编写一个 LUA Dissector,并且已经阅读了一个在创建 ProtoField 对象时可以传递的 VoidString 对象。有关更多信息,请参阅https://wiki.wireshark.org/LuaAPI/Proto#ProtoField。我不想再谈论这个对象以及使用它的目的是什么。如果我单击链接“VoidString”,则会不幸显示一个空白页面,因为似乎错过了该对象的文档。我用谷歌搜索了它,但一无所获。有任何想法吗?
提前致谢!
reflection - 声明后如何访问 ProtoField 的名称?
声明后如何访问 ProtoField 的 name 属性?
例如,类似于以下内容:
myproto = Proto("myproto", "我的原型")
myproto.fields.foo = ProtoField.int8("myproto.foo", "Foo", base.DEC)
打印(myproto.fields.foo.name)
我在哪里得到输出:
富
lua - Wireshark Lua Dissector 响应请求
有人知道如何将 Protofield.framenu 用于 frametype.RESPONSE 和 frametype.REQUEST 用于wireshark 中的箭头,并标记ACK 和DATA 之间的Sequencenumber?
非常感谢!