1、参考EMQTT2-wireshark抓取本地MQTT协议包 - Qsunshine8 - 博客园
wireshark 实用过滤表达式(针对ip、协议、端口、长度和内容) - 沧海一滴 - 博客园
https://www.netresec.com/?page=RawCap
2、下载RawCap
3、使用该命令
RawCap.exe -q 127.0.0.1 - | Wireshark.exe -i - -k
4、或者
RawCap.exe 127.0.0.1 \\.\pipe\RawCap
5、如下设置
6、设置显示过滤器
7、结果如下所示:
8、或者如下,然后加显示过滤器mqtt(注:需要安装npcap,高版的ws带有,安装时默认安上)
9、数据过滤
参考:干货:Wireshark使用技巧-显示规则 - 云+社区 - 腾讯云
data.data[0:2]==1a:1c
这条规则,则是一种进阶使用方法,深入到报文的二进制层内,
对所有的Wireshark初步解析后带data的内容的数据前两个字节的值进行过滤。
0:2表示从0位置开始的2个字节长度的数据,当然,可以以任意需要的位置开始,
任意长度的数据。
过滤器:过滤二进制数据,主要是用冒号分隔二进制字节数据
data.data[0:2]==1a:1c
data.data != 0A:01:1C:01:00:00:1d
只看MQTT的PUSH:mqtt.hdrflags == 0x30
排除MQTT心跳:mqtt.hdrflags != 0xd0 and mqtt.hdrflags != 0xc0
MESSAGE包含:mqtt.msg contains 71:23:40:52
10、显示过滤RST