📡 MQTT 在线调试工具

WebSocket 连接 · 订阅发布 · QoS/Retain · 实时消息日志

MQTT 在线调试工具通过 WebSocket 连接 MQTT Broker,在浏览器中完成 MQTT 3.1.1 的连接、订阅、发布与消息接收测试。支持 QoS 0/1/2、Retain、通配符订阅、心跳保活和 HEX 视图,适合物联网设备联调、消息队列排障以及 EMQX、Mosquitto、HiveMQ 等 Broker 的快速验证。

🔌 Broker 连接
未连接

必须使用 ws:// 或 wss:// 地址;HTTPS 页面请使用 wss://。

修改端口会自动同步到上方地址;常见端口:8084 / 8884 / 8081 / 8083。

⚠️如果使用公共Broker测试,请勿发送账号、密码、密钥等。

未连接 WebSocket
📤 发布消息
0 条

发布主题不能包含 + 或 # 通配符。

按 UTF-8 编码发送,支持文本、JSON、XML 等内容。

等待发送 PUBLISH
📋 消息与事件
📡
连接 Broker 并订阅主题后,收发消息会显示在这里
暂无消息 0 条
ℹ️ MQTT 调试知识参考

什么是 MQTT 在线调试工具?

MQTT(Message Queuing Telemetry Transport)是一种轻量级发布/订阅消息协议,广泛用于物联网、车联网、工业设备和移动应用。MQTT 在线调试工具通过 WebSocket 在浏览器中直接连接 MQTT Broker,帮助开发者验证连接参数、订阅主题、发布消息、检查 QoS 与 Retain 行为,并实时查看消息收发情况。

支持的功能

  • WebSocket 连接:支持 ws:// 与 wss:// 地址,兼容 EMQX、Mosquitto、HiveMQ 等常见 Broker。
  • 自定义端口:可单独指定 WebSocket 端口,修改后自动同步到 Broker 地址。
  • MQTT 3.1.1:支持 CONNECT、SUBSCRIBE、UNSUBSCRIBE、PUBLISH、PINGREQ 等报文。
  • 主题订阅:支持 + 和 # 通配符,QoS 0/1/2,可随时取消订阅。
  • 消息发布:支持 QoS 0/1/2 与 Retain 标记,消息按 UTF-8 编码发送。
  • 实时日志:展示收发方向、主题、时间、QoS、Retain、消息大小和事件记录。
  • HEX 视图:二进制消息可切换为十六进制显示,方便排查协议数据。
  • 心跳保活:按设定间隔发送 PINGREQ,并检测 PINGRESP 是否正常。

如何使用本工具

  1. 填写 Broker 的 WebSocket 地址,默认使用 HiveMQ 公共 Broker 进行测试;如需改端口,可直接修改“端口”输入框。
  2. 填写 Client ID;如 Broker 需要认证,再填写用户名和密码。
  3. 点击“连接 Broker”,等待状态变为“已连接”。
  4. 在“订阅主题”中输入主题过滤器,选择 QoS 后点击“订阅”。
  5. 在“发布消息”中输入主题和消息内容,选择 QoS 与 Retain 后点击“发送消息”。
  6. 在“消息与事件”面板查看连接、订阅、收发消息与 QoS 握手过程。

常见 MQTT WebSocket 地址

  • HiveMQ 公共 Broker:wss://broker.hivemq.com:8884/mqtt
  • EMQX 公共 Broker:wss://broker.emqx.io:8084/mqtt
  • Mosquitto 测试 Broker:wss://test.mosquitto.org:8081/mqtt
  • 本地 Broker 示例:ws://localhost:8083/mqtt

不同 Broker 的 WebSocket 端口和路径可能不同,请以实际部署配置为准。若页面通过 HTTPS 访问,只能使用 wss:// 地址。

常见问题

MQTT 在线调试工具支持哪个 MQTT 协议版本?

本工具使用 MQTT 3.1.1 over WebSocket 连接 Broker,支持 CONNECT、SUBSCRIBE、UNSUBSCRIBE、PUBLISH、QoS 0/1/2 握手、Retain 标记和 PINGREQ 心跳。

为什么连接 MQTT Broker 失败?

请检查 Broker 是否开启 WebSocket 端口、地址路径是否正确(例如 EMQX 通常为 /mqtt)、是否需要在 HTTPS 页面使用 wss://、Client ID 是否重复、用户名密码是否正确,以及当前网络是否允许 WebSocket 连接。

可以使用公共 MQTT Broker 吗?

可以,公共 Broker 适合临时测试。但公共 Broker 上的消息可能被其他人订阅,请勿发送账号、密码、密钥或生产数据。正式环境请使用自己的 Broker 并启用认证与 TLS。

HTTPS 页面为什么不能连接 ws:// 地址?

浏览器会阻止 HTTPS 页面中的不安全 WebSocket 连接(混合内容)。如果页面通过 HTTPS 访问,请把 Broker 地址改为 wss:// 加密 WebSocket 地址。

订阅 QoS 2 时工具会处理完整握手吗?

会。工具在收到 QoS 2 消息时自动回复 PUBREC,并在收到 PUBREL 后回复 PUBCOMP;发布 QoS 2 消息时也会处理 PUBREC、PUBREL 与 PUBCOMP 流程。

安全提示

  • 公共 Broker 不适合传输敏感数据,请使用自建 Broker 并配置认证、ACL 与 TLS。
  • 不要把生产环境密钥、令牌或用户隐私数据粘贴到公共 Broker 的测试主题中。
  • 调试完成后请及时断开连接,并清理不再使用的测试主题和保留消息。

相关工具