MQTT报文交互分析

本文通过实际操作介绍了如何使用Mosquitto实现MQTT协议的消息发布与订阅。具体步骤包括安装配置Mosquitto broker、手机端MQTT客户端工具的使用、Wireshark抓包等,深入解析MQTT的消息传递机制。

实验介绍

Mosquitto 是一个开源的轻量级的MQTT broker, 各种平台都支持, 本实验旨在熟悉MQTT客户端(发布者,订阅者)跟服务器(Broker)之间的交互,

以加深对MQTT 三个角色之间信息交互的理解

实验环境搭建

实验需要一台服务器和一部手机。 笔者使用的是MACbook pro 和一台苹果手机。 MAC需要安装最新版本的抓包软件Wireshark

实验步骤

  • 1 安装Mosquitto   使用brew 在MAC上安装 mosquitto

 安装命令为: 

 brew install mosquitto

启动:

brew services start mosquitto

 

  • 2  手机安装MQTT工具,推荐 MQTTool

 

  • 3  打开Wireshark , 过滤器使用 mqtt

 

  • 4  确保服务器MAC和电脑在同一个局域网内, 在MQTTool 输入正确的地址, 然后点击Connect , 抓取连接的过程报文

 

  • 5 抓取Disconnet 报文

Disconnect只有客户端发一个Disconnect Req 报文,无ACK

 

  • 6 抓取发布主题报文

从MQTTool 发布主题

 

  • 7  抓取订阅报文

 

 

  • 8  取消订阅报文

 

  • 9   Broker转发已订阅消息

 在MAC上用下面命令发布消息,然后抓包,可见Broker 是以单播的方式给订阅用户传送消息。

mosquitto_pub -t sensors/temperature -m 36

 

 

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值