nccgroup / Sniffle

A sniffer for Bluetooth 5 and 4.x LE
https://www.nccgroup.trust/us/our-research/sniffle-a-sniffer-for-bluetooth-5/?research=Public+tools
GNU General Public License v3.0
870 stars 130 forks source link

Sniffing all advertisements on all channels #57

Closed jsmif closed 1 year ago

jsmif commented 1 year ago

The -H option to hop all advertisement channels requires the -m option to filter by MAC (BDADDR). So am I understanding correctly that if I don't want to filter by BDADDR, and want to sniff all advertisements on all channels, I'll need to buy 3 pieces of hardware, and use -c to specify a channel per device, and -s to specify a device per channel? (Basically, does it require 3x hardware like btlejack to get full advertisement sniffing?)

sultanqasim commented 1 year ago

If you want to sniff all three channels simultaneously, you need three sniffer devices, since they can only tune to one channel at a time. The MAC address is needed with a single sniffer since it tries to channel hop with the advertising of the specified target.

You could manually run three instances of sniff_receiver.py, or if you want something more elegant, you could make a script using the Sniffle Python API to configure and pull data from all three sniffers from a single script.