作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
给定以下示例:
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 个原型(prototype)场:
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
最佳答案
事实证明,我可以重复使用相同的字段来构建树。
所以在伪代码中:
begin loop
subtree= mainsubtree:add(a,buffer())
subtree:add(f.name, buffer(x,y))
subtree:add(f.age, buffer(x+name.length,y))
end
所以 f.name
f.age
不会被更新的值覆盖。我猜它只是 ProtoField
关于lua - 如何为 Lua Wireshark Dissector 创建 Protofield 子阵列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20539474/
给出以下示例: local f= mycoolprotocol.fields f.Length = ProtoField.uint32("MCP.Length","Length",base.DEC)
给定以下示例: local f= mycoolprotocol.fields f.Length = ProtoField.uint32("MCP.Length","Length",base.DEC)
我是一名优秀的程序员,十分优秀!