Wireshark:Lua 中数据包的所有字段列表

发布于 2024-09-17 00:12:13 字数 169 浏览 5 评论 0 原文

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

Im trying to get a list of all protocol fields for a packet.
I tried all_field_infos, but it returns userdata and i couldnt figure the metatable to use to read it.
Does wireshark pass a protocol tree to a tap ? ( we accept (tvb,pinfo,tree) for dissectors so i figured that it might )
Is there some Proto.fields sorta property which returns all fields for a particular protocol ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

So要识趣 2024-09-24 00:12:47

我自己没有使用过 Wireshark,但是在网上浏览他们的用户手册会产生 这个Chapter 似乎记录了数据包的方法和字段列表。没有元方法允许 userdata 支持 pairs(),因此文档实际上就是您所获得的全部内容。

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

我认为 Lua-L 邮件列表 以及。它的档案可能会有所帮助。

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

I haven't used Wireshark myself, but poking around in their user manual online produces this chapter that appears to document a list of methods and fields of a packet. There isn't a metamethod that allows a userdata to support pairs(), so the documentation is really all you get.

Alternatively, you can try calling getmetatable() on the userdata and listing its content. Of course, it might use __index() to hide the real methods somewhere else...

I think there has been some discussion of Wireshark on the Lua-L mailing list as well. Its archives might be helpful.

As a low priority resort, Wireshark is open source, so it must be possible to find the code that implements the interface to the Lua side of things...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文