当你进行 IoT 物联网开发过程中,终端-MQTT 服务器-业务系统-App 全链路联调时往往难以快速定位问题:终端可能未正常发出消息报文,也可能在网络传输中丢失,也可能被 MQTT 服务器限流丢弃,或者业务系统处理异常而丢失。此时,你就需要借助网络抓包工具 Wireshark 来分析终端网络通信行为,高效定位问题所在。
01
Wireshark 抓包工具
Wireshark 是使用最广泛的一款开源抓包软件,提供直观的图形界面,并支持多种协议的解析,如 Ethernet、TCP、UDP、HTTP、MQTT等协议,常用来检测网络问题、攻击溯源、或者分析底层通信机制。
Wireshark使用 WinPCAP 作为接口,直接与网卡进行数据报文交换,用于捕获和分析计算机网络中传输的数据包,帮助用户深入了解网络通信和故障排除。
02
MQTT 协议抓包分析
你只需要配置如下过滤规则即可抓取终端设备 MQTT 网络通信报文
tcp and port 1883
传输层TCP协议的几个标识
为了方便查看,你可以把终端设备IP标记成了 device,MQTT 服务端的 IP 保持不变。