【问题标题】:Wireshark STOMP protocol dissectorWireshark STOMP 协议解析器
【发布时间】:2015-07-04 21:59:11
【问题描述】:

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

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

有没有一种方法可以让我准确地重新编码/剖析消息中的内容?

添加 2015 年 6 月 25 日:我发现我的答案,即 Web 套接字协议有一个称为“屏蔽密钥”的东西,它基本上表示从客户端到服务器的流量应该使用该随机屏蔽密钥值进行编码。据我了解,这样做是为了避免代理出现问题。现在我认为问题与wireshark实现有关,即wireshark正确解码了有效载荷,即有效载荷字段的明文部分可以在Unmask Payload字段中找到,但是当遵循TCP Streap时,UI很可能不需要取消屏蔽有效负载值但“有效负载”值,即应用屏蔽键的异或之前的值。 如果知道wireshark的人能证实这一点,我将不胜感激。因此,这意味着这是 Wireshark 中的错误或功能(我不确定)

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

加法 J 七月

添加到示例跟踪文件的链接 https://yadi.sk/d/E1a6bPhfhfUAf

【问题讨论】:

  • 根据规范,Stomp CONNECTED 框架没有消息体。您可以尝试在 Wireshark 中捕获 SEND 或 MESSAGE 帧(带有文本负载)吗?
  • 我做了我正在将wireshark图片上传到上面的问题
  • 在上图中是 MESSAGE 框架,我确实看到客户端发送到服务器的内容是乱码。有什么办法可以解码吗?我的意思是回复是可读的,我的意思是 {"content: "Hello, aaaaaaaasssss!"}
  • @mjn 任何想法为什么这不起作用?或者这可能已经按设计运行,即它应该是二进制的,尽管我认为 STOMP 是基于文本的协议
  • 我是否正确理解粉红色的文本是您想要“解密”的内容?其实我只能猜测这是不属于STOMP会话的数据,而是属于WebSocket协议的数据。会不会是 Websocket 用前导/尾随信息包装了 STOMP 数据? (在这种情况下,我还会将 websocket 标签添加到问题中)

标签: wireshark stomp wireshark-dissector


【解决方案1】:

查看您在 github 上提供的链接的 stomp.lua Lua 插件,看起来它只是为了处理在 TCP 上本地运行的 STOMP 消息而编写的,即使这样您也必须设置 TCP 端口号它在 Edit->Preferences->Protocol->STOMP 中进行解码(或右键单击并执行“Decode as...”)。

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

如果您需要帮助让 stomp.lua 在 websocket 中可用,我建议将问题发布到 ask.wireshark.org,或发送电子邮件至 wireshark-users@wireshark.org。无论哪种情况,如果您可以将示例捕获文件(如屏幕截图中的文件)放在某处并提供指向它的链接,将会有很大帮助。

【讨论】:

  • 我按照您的建议在ask.wireshark.org/questions/43861/… 中创建了问题。我不确定我是否理解在 TCP 上运行的 stomp 背后的逻辑,因为我确实看到在 UI 中解码了从服务器到客户端的流量。很可能这确实是掩蔽关键问题,但让我们等到 ask.wireshark.org 上的某个人解决这个问题
  • 我刚刚添加了一个示例跟踪文件
  • 该插件仅在本地 TCP 上剖析 STOMP 的逻辑是 STOMP 协议规范所说的 STOMP 应该运行。 STOMP 本身是一个类似 HTTP 的协议,可以像 HTTP 和其他协议一样在 TCP 上原生运行。有关详细信息,请参阅stomp.github.io。在 websocket 上运行它不遵循 STOMP 的规范,如jmesnil.net/stomp-websocket/doc 所述
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-25
  • 1970-01-01
  • 2014-05-21
相关资源
最近更新 更多