Wireshark STOMP 协议解析器

Wireshark STOMP protocol dissector

我有一个与 rabbitmq 服务器通信的 spring 应用程序。 消息交换通过 STOMP 协议进行。 我的问题是为什么我的 STOMP 消息没有被解码。 我已经为它上传并安装了 STOMP 插件。 https://github.com/ficoos/wireshark-stomp-plugin (stomp.lua)

而且我仍然只看到我怀疑 UTF-8 编码的消息,它没有正确表示。 显示问题的图片

有什么方法可以 recode/discect 确切地知道邮件中的内容吗?

2015 年 6 月 25 日补充:我找到了我的答案,即网络套接字协议有一个叫做“屏蔽键”的东西,它基本上说从客户端到服务器的流量应该用那个随机屏蔽键值编码。据我所知,这样做是为了避免代理问题。现在我相信问题与 wireshark 实现有关,即 wireshark 正确解码有效载荷,即有效载荷字段的明文部分将在字段 Unmask Payload 中找到,但是当遵循 TCP Streap 时 UI 大多数可能不采用 Unmask Payload 值,而是采用“Payload”值,即应用屏蔽密钥的异或之前的值。 如果知道 wireshark 的人可以证实这一点,我将不胜感激。因此,这将意味着 Wireshark

中的错误或功能(我不确定)

https://www.rfc-editor.org/rfc/rfc6455#section-5.3

7 月加 J

已将 link 添加到示例跟踪文件 https://yadi.sk/d/E1a6bPhfhfUAf

查看 stomp.lua Lua 插件,你在 github 上给出了 link,看起来它只是为了处理 STOMP 消息而编写的 运行 本机在 TCP 上,甚至为此你必须设置 TCP 端口号才能解码,在 Edit->Preferences->Protocol->STOMP(或右键单击并执行 "Decode as...")。

但是您的屏幕截图是一个 websocket 连接,是的,它使用了一个屏蔽密钥...但是 Wireshark 可以 实际上取消屏蔽它。 Wireshark 将在数据包详细信息窗格中显示屏蔽和未屏蔽的有效负载。但是 stomp.lua 插件不会剖析其中的任何内容,原因我之前说过。

如果您需要帮助 stomp.lua 在 websocket 中使用,我建议您将问题发布到 ask.wireshark.org, or emailing wireshark-users@wireshark.org。在任何一种情况下,如果您可以将样本捕获文件(如屏幕截图中的文件)放在某处并为其提供 link,将会有很大帮助。