This blog is to provide the procedure how to install the nRF Sniffer and run on the Window 10. Nordic provides the free to use Bluetooth LE sniffer and it can run with Nordic Development Board.
nRF Sniffer for Bluetooth LE
The nRF Sniffer for Bluetooth® LE is a useful tool for learning about and debugging Bluetooth Low Energy applications. It provides a near real-time display of Bluetooth packets that are sent between a selected Bluetooth Low Energy device and the device it is communicating with, even when the link is encrypted.
When developing a Bluetooth Low Energy product, knowing what happens over-the-air between devices can help you identify and fix issues quickly.
On startup, the Sniffer lists all nearby Bluetooth Low Energy devices that are advertising, providing the Bluetooth address and address type, complete or shortened name, and RSSI.
- nRF52 Development Kit (PCA10040)
- nRF52840 Development Kit (PCA10056)
- nRF51 Development Kit (PCA10028)
- nRF51 Dongle (PCA10031)
- nRF51822 Evaluation Kit (PCA10001)
- nRF51422 Evaluation Kit (PCA10003) v3.0.0 or later
- nRF51822 Development Kit dongle (PCA10000)
Supported operating systems
- Windows 7 or later
- 64-bit OS X/macOS 10.6 or later
- Linux (check the Wireshark prerequisites for version compatibility)
Data Length Extension (DLE)
Data Length Update procedure and 2Mbit PHY (PCA10040 only, requires Wireshark version 2.4.6 or
newer) since version 2.0.0-beta-3 or later.
Release note of the nRF Sniffer (3.0.0 129d2b3)
This release switches the required Python runtime from 2.7 to 3.5 and above.
Make sure you have installed Python 3 in order to use this release.
– All Python code has been ported to Python 3 and is no longer compatible
with Python 2
– Fix unstable behavior on Windows (coupled with Wireshark 3.0.7 and above)
– Fix incorrect session key calculated when ENC_RSP and START_ENC_REQ was sent in same connection event.
In this blog, I will use the nRF52832 DK (PCA10040) as the sniffer and run on the Windows 10 (64 bit).
The user guideline of sniffer can be found at http://infocenter.nordicsemi.com/pdf/nRF_Sniffer_BLE_UG_v3.1.pdf
Installing nRF Sniffer
Before you start setting up the nRF Sniffer, make sure that you have the following prerequisites installed on your computer:
- Wireshark v2.4.6 or later (v3.0.7 or later recommended on Windows). Wireshark is a free software tool that captures wireless traffic and reproduces it in a readable format.
- Python v3.6 or later
Installing the Wireshark
Select the windows installer for 64 bit version of wireshark
After clicking the installer,
Download the nRF Sniffer package
You can get the zip package from the Nordic Web page.
After unzip the package folder, it has multiple sub-folder as below.
Program the Sniffer Hex on the nRF52832 PCA10040 Board
Open the nRF Connect Desktop and then select the Programmer
Select the target board and add the hex file
Click the Erase & Write
After finish to program the sniffer hex,
Install the require Python module
Install the Python requirements:
a) Open a command window in the Sniffer_Software/extcap/ folder.
b) Type pip3 install -r requirements.txt to install the requirements.
c) Close the command window
Copy the Sniffer capture tool into Wireshark’s folder for external capture plugins:
Copy the contents of the Sniffer_Software/extcap/ folder into this folder
Make sure that the nRF Sniffer files can be run correctly:
Adding a Wireshark profile for nRF Sniffer
You can add a profile in Wireshark for displaying the data recorded by the nRF Sniffer for Bluetooth LE in a convenient way.
To add the nRF Sniffer profile in Wireshark, complete the following steps:
Go to Help > About Wireshark (on Windows or Linux) or Wireshark > About Wireshark (on macOS).
Copy the profile folder Sniffer_Software/Profile_nRF_Sniffer_Bluetooth_LE into the profiles subfolder of this folder.
In Wireshark, select Edit > Configuration Profiles.
Select Profile_nRF_Sniffer_Bluetooth_LE and click OK.
Running nRF Sniffer
To start sniffing, place the board or dongle that runs the nRF Sniffer for Bluetooth LE firmware between the two devices that are communicating. Then open Wireshark and start recording packets.
Connect the development board or dongle to your computer and turn it on. Then place it between the Central and Peripheral device that you want to sniff.
When you open Wireshark, the Wireshark capture screen is displayed. It includes the Wireshark interface for managing packets that are captured, the nRF Sniffer toolbar, and the hardware interfaces connected to the nRF Sniffer.
If the nRF Sniffer toolbar is not visible, select View > Interface Toolbars > nRF Sniffer for
In this case, I use the buttonless DFU firmware and put the device name inside the scan response.
All the details of the Sniffer options can be found inside the USER GUIDE of BLE Sniffer document.
Nordic has the Video on the BLE Sniffer (old version) that is running on the nRF51 DK board.