1
考虑下面的例子:如何创建Protofield子阵列的Lua Wireshark的剥离
local f= mycoolprotocol.fields
f.Length = ProtoField.uint32("MCP.Length","Length",base.DEC)
f.MsgType = ProtoField.uint16("MCP.MsgType","MsgType",base.DEC)
我宣布2个Protofields。但是想象一下,我有一个重复的组或项目的数组:
和消息体看起来像这样:
struct person
{
int16 age;
string name;
}
person[] p = new person[2];
理想情况下,我想创造Wireshark的一个子树为该组
+ Persons
+ Person1
name
age
+ Person2
name
age
问题是我不知道如何在Lua中构造这个。这声明2个protofields:
f.name = Protofield.string("MCP.name","name","Text")
f.age = ProtoField.uint16("MCP.age","age",base.DEC)
但我想创建组的动态数组,而不是,所以我可以做:
subtree:add_le(f[0].name, buffer(x,y))
那么,有没有一个Protofield.ProtoFieldArray
? 这可能吗?欢迎任何其他想法。
谢谢。
此外,作为参考: http://ask.wireshark.org/questions/28038/how-to-create-a-protofield-sub-array-in-lua