MQTT从入门到编程
MQTT服务器安装与配置
1、安装
使用apt包管理工具安装
sudo apt install mosquitto
2、修改配置
切换到/etc/mosquitto/目录下修改配置
cd /etc/mosquitto/
sudo gedit mosquitto.conf
添加两个配置
allow_anonymous false
password_file /etc/mosquitto/pwfile.txt
紧接着,按照上面的配置添加/etc/mosquitto/pwfile.txt文件并写上用户名和密码
3、熟悉软件管理命令
sudo service mosquitto status #查看运行状态
sudo service mosquitto start #启动服务
sudo service mosquitto stop #停止服务
软件启动后,可通过端口查看命令,查看到MQTT服务器默认监听1883端口
netstat -antp|grep mosq
MQTT可视化测试
1、下载测试软件
从网站http://www.jensd.de/apps/mqttfx/1.7.1/ 下载MQTT.FX并安装
其次搜索wireshark软件,并安装
2、配置MQTT客户端
首先在服务器内打上ifconfig查看IP地址
接着进行服务器的配置
地址为MQTT服务器地址,端口为1883,用户名和密码为我们一开始配置的用户名,完成后点击ok
第三步,我们先以管理员身份打开wireshark,并监听网卡
点击connect可以看到有connect的包信息
接着,订阅topic,也能抓到包
紧接着发布消息
最后,断开连接
通过上述过程我们了解到了 MQTT发布消息的一般流程
建立连接 --》订阅topic–》发布消息–》断开连接
具体每个包的内容到底是什么 接着往下看
MQTT数据格式分析
我们上一步已经抓取了MQTT协议相关的数据,接下来可以利用wireshark来分析下包的内容分别代表什么意思。由于内容比较多,我们只以connect为例来看看。其余的格式请对照官方格式一一分析
可参考这篇文章(MQTT格式分析)
大家可以看下下面的数据报,里面就有我们设置的用户名和密码,因此