如何使用Wireshark查看XMPP未加密的数据包内容?

How to see the un-encrypted packet content of XMPP using Wireshark?

我想通过分析网络数据包流来了解 XMPP 协议的工作原理,但所有 XMPP 内容都是加密的。有没有办法让它们不加密?

我使用 Openfire 作为 XMPP 服务器,使用 Spark 作为客户端。我尝试将 Server 属性 "SSL Enabled" 设置为 Disabled,但没有成功。我也尝试过 SSLKEYLOGFILE + Wireshark 方式,但这只适用于浏览器而不适用于 XMPP 服务器。

XMPP 客户端将更愿意使用加密(如果可用)。这妨碍了数据包检查(出于所有充分的理由)。为了能够检查 XMPP 流量,您必须禁用客户端连接加密 server-sided。这将防止客户端在与服务器通信时使用加密连接。请注意,客户仍然可以选择通过使用 OMEMO 或 OTR-like end-to-end 加密策略来加密其通信内容。

要在 Openfire 中禁用客户端连接加密,请打开管理控制台,然后导航至“服务器”>“服务器设置”>“客户端连接”。

在那里,打开第一个块的'advanced settings'选项,"STARTTLS policy"选项select'disabled'

如果您的目标是了解 XMPP,则有其他可能更简单的方法。 XMPP 是一个开放标准并且有详细的文档记录。了解 XMPP 的一个很好的方法是在 https://xmpp.org/extensions/ 阅读它的规范(从 RFC6120 和 RFC6121 开始)。