【问题标题】:All fields list for packets in Wireshark:LuaWireshark:Lua 中数据包的所有字段列表
【发布时间】:2010-09-02 05:21:55
【问题描述】:

我正在尝试获取数据包的所有协议字段的列表。 我尝试了 all_field_infos,但它返回了用户数据,我无法确定要用来读取它的元表。 wireshark 是否将协议树传递给水龙头? (我们接受 (tvb,pinfo,tree) 用于解剖器,所以我认为它可能) 是否有一些 Proto.fields 排序属性返回特定协议的所有字段?

【问题讨论】:

    标签: lua wireshark taps


    【解决方案1】:

    我自己没有使用过 Wireshark,但是在他们的在线用户手册中四处寻找会产生this chapter,它似乎记录了数据包的方法和字段列表。没有允许userdata 支持pairs() 的元方法,所以文档真的是你得到的全部。

    或者,您可以尝试在userdata 上调用getmetatable() 并列出其内容。当然,它可能会使用__index() 将真正的方法隐藏在其他地方......

    我认为Lua-L mailing list 上也有一些关于 Wireshark 的讨论。它的档案可能会有所帮助。

    作为一个低优先级的手段,Wireshark 是开源的,所以必须有可能找到实现 Lua 端接口的代码......

    【讨论】:

    • 感谢您的回复。 .我尝试了 getmetable 和对结果,给了我函数 addrs 。 .我宁愿知道这些函数正在实际访问我的问题基本上归结为这个 - 用户数据有一些 userdata.somethings - 我需要弄清楚所有的东西,然后才能列出所有东西,或执行任何类型的操作跨度>
    • userdata 是 Lua 保存任意数据块的方式,以及描述从 Lua 端可以用它做什么的元表。除了将其传回具有struct 定义可用的C 端的某些东西之外,您没有义务对其进行更多操作。
    猜你喜欢
    • 2018-02-06
    • 2020-06-30
    • 2013-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多