一、简介
使用nRF Sniffer在wireshark中抓包是经常使用的。但是每次抓包会获取到空气中所有的数据包,数据量非常大。而对于开发人员而言,只需要其中特定的信息。此时就需要掌握数据的过滤语句。
二、过滤
1.根据MAC地址进行过滤
btle.advertising_address == 3a:ea:87:e8:e6:68
2.过滤长度为0的包,即过滤掉空包
!(btle.length == 0)
3.只显示ATT数据包
btatt
4.只显示配对过程数据包
btsmp
5.只显示L2CAP层数据包,包括ATT、SMP、L2CAP 层数据包
btl2cap
6.显示特定数据帧长度的数据包
frame.len == 38
7.时间戳差值
设置后,后续数据的时间戳将会变成与设置的基点数据的时间差。
8.以信号强度过滤
nordic_ble.rssi > -50
三、作为过滤器应用
过滤的语句还有很多,不可能每条语句都记得。这里可以使用“作为过滤器应用”的功能。
1.信号强度过滤实例
比如我们需要过滤信号强度,那我们可以找到一条数据,然后右键其信号强度的数值。
此时,过滤器会把语句显示出来。
此时我们只需要修改一下就可以达到我们的需求。比如目前语句是==,那我们就需要为>。回车后,发现列表中只剩下信号强度>设定值数据。
2.地址实例
比如我们需要过滤非特定MAC的数据。此时我们点击一条我们需要的数据,找到其MAC,然后右键,选择“作为过滤器应用”。
此时,过滤器会显示过滤语句。且列表中数据的MAC都为我们的设定值。
这种方式是不是比记语句方便多了。