Make Every Week: Bluetooth Device Sniffer

This week became “Tinker Every Week” more than “Make Every Week,” as I tried to make a new device-sniffing device.

Previously, I managed to detect wifi signals around me, and I wanted to do the same for Bluetooth devices, including gadgets using new “Bluetooth Low Energy,” or BLE, signals. These include iBeacons and other tracking systems being deployed more and more around us.

I got myself a Bluefruit LE Sniffer from Adafruit ...

... and rigged it up to my Raspberry Pi.

After an afternoon of tinkering, I was able to see some devices around my apartment, including the remote-controlled Easter Egg I made a few weeks back. (It’s listed below as “MetaWare,” the name of the board inside.) But that’s about it.

And when I put the egg into “iBeacon” mode, an option the MetaWare board has to simulate one of these devices, it disappeared.

Also, my iPhone, which was clearly talking to the egg over BLE, never appeared in the list.

So I don’t think this is my solution for detecting the iBeacons and other devices around me. But it was an interesting adventure.

Going Further

I'm most interested in detecting the devices people carry, as a proxy for detecting people (more on that soon), so I’ll probably use the "regular" Bluetooth board I used for this project.

If you’re interested in wiring up the Adafruit sniffer with a Raspberry Pi, here are my notes.

Note that I wasn’t interested in using one of the advertised features of the board — actual “sniffing” of the data packets being transmitted through the air. It's good that I wasn't interested in that, because you clearly need Windows, which I don’t have.

#MakeEveryWeek is a challenge to myself to do just that for all of 2015. The original post on the idea is here, and the running list of projects so far is here.

1 response
Hi John, nice article about BLE sniffer. To be honest, I am using this sniffer for a long time and I found it very interesting. I also wrote a paper about sniffing iBeacon advertisements. I was wondering about your research and why you didn't find it useful for sniffing iBeacon. Basically, you don't need this sniffer to detect BLE advertisements, you could also use BLE CSR 4.0 dongle and connect it to your raspberry, after that with TCPDUMP you can sniff everything. Later, you can import the "dumb" to the Wireshark and make a lot of conclusions and statistics. Keep up with the good work, cheers.