Ubertooth One on OSX 19 May 2014
I’ve been using the TI CC2540 USB dongle and their SmartRF Packet Sniffer to sniff Bluetooth packets. There are two huge problems with it: it’s Windows only and it’s pretty crappy.

I ordered an Ubertooth One from Sparkfun last week as it looks like a nice cross-platform, open source (software and hardware) solution.

Tonight it finally came out of the box and was ready for tinkering.

Hardware Installation

Hardware installation was very straight forward. There was a fully assemlbed board and an antennae. Screw the antenna on to the board and plug it in to a USB port.

Software Installation (OSX)

The README was helpful for installation. Essentially, install libbtbb:

brew install libbtbb libpcap homebrew/dupes/libpcap

Then go ahead and compile the uberblooth:

git clone https://github.com/greatscottgadgets/ubertooth &&
    cd ubertooth/build && 
    cd build && 
    cmake .. && 
    make &&
    make install

You’ll have several binaries now available:

ubertooth-btle
ubertooth-debug
ubertooth-dfu
ubertooth-dump
ubertooth-rx
ubertooth-specan-ui
ubertooth-util

Sniffing your first BLE Packet

./ubertooth-btle -f

This will start sniffing the radio frequencies for BLE packets. It will also tell ubertooth to follow connections. It will however ignore active connections that existed before we started scanning for BLE packets. If you want to do that there’s an -a option.

If you don’t see anything pop up immediately you may not any BLE devices advertising or actively scanning. You can force a scan request by download any BLE scanner on your phone or computer. I use LightBlue on my iPhone and on my Mac. Issuing a refresh scan will result in your ubertooth picking it up:

systime=1400548717 freq=2402 addr=8e89bed6 delta_t=105.634 ms
00 1b 3e ec 9e 39 cd 20 02 01 06 11 06 1e 94 8d f1 48 31 94 ba 75 4c 3e 50 00 00 3d 71 26 95 e0
Advertising / AA 8e89bed6 / 27 bytes
    Channel Index: 37
    Type:  ADV_IND
    AdvA:  20:cd:39:9e:ec:3e (public)
    AdvData: 02 01 06 11 06 1e 94 8d f1 48 31 94 ba 75 4c 3e 50 00 00 3d 71
        Type 01 (Flags)
           00000110
        Type 06 (128-bit Service UUIDs, more available)
           713d0000-503e-4c75-ba94-3148f18d941e

    Data:  3e ec 9e 39 cd 20 02 01 06 11 06 1e 94 8d f1 48 31 94 ba 75 4c 3e 50 00 00 3d 71
    CRC:   26 95 e0

blog comments powered by Disqus