如何用Wireshark查看XMPP未加密报文内容并关闭Openfire与Spark的加密
解决XMPP加密取消与Wireshark明文报文查看问题
针对你用Openfire+Spark学习XMPP、需要取消加密抓明文报文的问题,我来一步步帮你解决——你之前碰到的SSL Enabled设置无效,大概率是漏了STARTTLS的配置,而且Spark客户端也得同步调整:
一、用Wireshark查看未加密XMPP的核心前提
要在Wireshark里看到明文XMPP内容,必须让客户端和服务器全程用明文协议通信,不能有SSL/TLS或STARTTLS的加密升级。所以先搞定加密取消的配置,再抓包就简单了。
二、彻底取消Openfire+Spark的XMPP加密
1. 调整Openfire服务器的加密设置(关键是禁用STARTTLS)
你只改SSL Enabled是不够的,XMPP还有个STARTTLS机制,能在普通连接上临时升级加密,必须一起关掉:
- 登录Openfire后台,进入「Server > Server Settings > Security Settings」
- 在「SSL/TLS Certificate & Settings」里,把
SSL Enabled设为Disabled(你已经做了这步) - 找到「STARTTLS Policy」,直接设为
Disabled——这是你之前可能漏掉的关键项,不关掉的话,客户端还是会触发加密 - 保存后重启Openfire,确保设置生效
- 在「SSL/TLS Certificate & Settings」里,把
- 顺便确认明文端口正常:进入「Server > Server Settings > Client Connections」,检查
Plaintext Port是5222且状态为Enabled(默认就是这个,一般不用改)
2. 配置Spark客户端强制用明文连接
Spark默认会优先尝试加密连接,所以得手动指定明文模式:
- 打开Spark登录窗口,点击「Advanced」(高级)按钮
- 在「Connection」标签页里:
- 把端口改成
5222(对应Openfire的明文端口) - 取消勾选「Use SSL」和「Use STARTTLS」两个选项
- 保存设置后重新登录客户端,现在通信就是纯明文了
- 把端口改成
三、用Wireshark抓取明文XMPP报文
配置完两边后,抓包就很简单:
- 打开Wireshark,选择你当前用的网络网卡(比如Wi-Fi或以太网)
- 设置过滤规则:输入
xmpp或者tcp.port == 5222,这样就能只显示XMPP相关的报文 - 启动抓包后,在Spark里做登录、发消息等操作,就能看到明文的XMPP XML内容了
提醒一下:这个配置只适合学习测试用,生产环境绝对不能这么做,明文传输会导致账号、消息内容泄露。
内容的提问来源于stack exchange,提问作者user1726366
相关产品推荐
相关产品推荐

