我试图获取数据包的所有协议字段列表。 我尝试了all_field_infos,但是它返回了userdata,我无法想象用于读取它的metatable。 wireshark是否将协议树传递给tap? (我们接受(tvb,pinfo,树)解剖器所以我认为它可能) 是否有一些Proto.fields sorta属性返回特定协议的所有字段?
答案 0 :(得分:1)
我自己没有使用过Wireshark,但是在他们的用户手册中搜索产生this chapter,它似乎记录了数据包的方法和字段列表。没有一种允许userdata
支持pairs()
的元方法,所以文档就是你所能得到的。
或者,您可以尝试在getmetatable()
上调用userdata
并列出其内容。当然,它可能会使用__index()
来隐藏其他地方的真实方法......
我认为在Lua-L mailing list上也有一些关于Wireshark的讨论。它的档案可能会有所帮助。
作为一个低优先级的度假胜地,Wireshark是开源的,所以必须能够找到实现Lua方面接口的代码......