nRF Sniffer Setup
Der nRF Sniffer verwandelt deinen nRF52840 Dongle in ein professionelles BLE-Sniffing-Tool mit Wireshark-Integration.
Installationâ
1. nRF Util installierenâ
# nRF Util herunterladen (von https://www.nordicsemi.com/Products/Development-tools/nRF-Util)
# FĂŒr Linux:
wget https://developer.nordicsemi.com/.pc-tools/nrfutil/x64-linux/nrfutil
chmod +x nrfutil
sudo mv nrfutil /usr/local/bin/
# Sniffer-Kommando installieren
nrfutil install ble-sniffer
nrfutil install device
# Version prĂŒfen
nrfutil --version
2. Firmware flashenâ
# Dongle in Bootloader-Modus versetzen
# (Reset-Knopf beim Einstecken drĂŒcken - LED pulsiert rot)
# VerfĂŒgbare GerĂ€te anzeigen
nrfutil device list
# Firmware flashen (Pfad wird von bootstrap angezeigt)
nrfutil ble-sniffer bootstrap
# Der Output zeigt die Firmware-Pfade, z.B.:
# ~/.nrfutil/share/nrfutil-ble-sniffer/firmware/
# Dongle flashen (Seriennummer aus device list)
nrfutil device program --firmware ~/.nrfutil/share/nrfutil-ble-sniffer/firmware/sniffer_nrf52840dongle_nrf52840_X.X.X.zip --serial-number <SERIAL>
3. Wireshark-Plugin installierenâ
# Bootstrap installiert das extcap-Plugin fĂŒr Wireshark
# WICHTIG: Mit sudo/Admin-Rechten ausfĂŒhren!
sudo nrfutil ble-sniffer bootstrap
# Alternativ fĂŒr lokale Installation (ohne sudo):
nrfutil ble-sniffer bootstrap --extcap-dir ~/.local/lib/wireshark/extcap
Wireshark-Konfigurationâ
Sniffer-Interface aktivierenâ
- Wireshark öffnen
- Capture â Refresh Interfaces (F5)
- nRF Sniffer for Bluetooth LE sollte erscheinen
- View â Interface Toolbars â nRF Sniffer for Bluetooth LE aktivieren
Capture startenâ
- Doppelklick auf nRF Sniffer for Bluetooth LE
- In der Toolbar: GerÀt auswÀhlen oder "All advertising" lassen
- GrĂŒner Start-Button klicken
Display-Filter fĂŒr BLEâ
Grundlegende Filterâ
# Alle BLE-Pakete
btle
# Nur Advertising
btle.advertising_header
# ATT-Protokoll (GATT)
btatt
# L2CAP
btl2cap
ATT/GATT-spezifische Filterâ
# Write Requests
btatt.opcode == 0x12
# Write Commands (ohne Response)
btatt.opcode == 0x52
# Read Requests
btatt.opcode == 0x0a
# Notifications
btatt.opcode == 0x1b
GerĂ€tefilterâ
# Nach MAC-Adresse
btle.advertising_address == aa:bb:cc:dd:ee:ff
# Nach GerÀtenamen
btcommon.eir_ad.entry.device_name contains "LED"
Troubleshootingâ
"Interface not found"â
# PrĂŒfen ob Dongle erkannt wird
lsusb | grep Nordic
# Serielle Schnittstelle prĂŒfen
ls /dev/ttyACM*
# Berechtigungen setzen
sudo usermod -a -G dialout $USER
# -> Neuanmeldung erforderlich!
"No packets captured"â
- Ist das GerÀt in Reichweite (< 10m)?
- Sendet das GerÀt Advertising-Pakete?
- Toolbar: Alle Advertising-KanÀle aktiviert (37, 38, 39)?
Bootstrap-Fehlerâ
# extcap-Verzeichnis erstellen falls nicht vorhanden
mkdir -p ~/.local/lib/wireshark/extcap
# Nochmal versuchen
nrfutil ble-sniffer bootstrap --extcap-dir ~/.local/lib/wireshark/extcap
NĂ€chster Schritt
Weiter zum blatann Setup fĂŒr die aktive BLE-Interaktion.