
Scanner Bluetooth Low Energy (BLE) avec résolution des adresses privées résolvables (RPA) à l'aide des clés de résolution d'identité (IRK)
Un scanner Bluetooth Low Energy (BLE) doté d'une résolution avancée des adresses privées résolubles (RPA). Découvrez les appareils BLE à proximité, suivez un appareil spécifique par adresse MAC ou résolvez les adresses randomisées pour la confidentialité à l'aide d'une clé de résolution d'identité (IRK).
Écrit par : David Kennedy (@HackingDave) Société : TrustedSec
-o -)L'horodatage de localisation GPS nécessite que le démon gpsd soit en cours d'exécution avec un récepteur GPS connecté. Si gpsd ne fonctionne pas, btrpa-scan continue normalement sans GPS.
| Plateforme | Installation | Démarrage |
|---|---|---|
| macOS | brew install gpsd | gpsd -n /dev/tty.usbserial-* |
| Debian/Ubuntu | sudo apt install gpsd gpsd-clients | sudo systemctl start gpsd |
| Fedora/RHEL | sudo dnf install gpsd gpsd-clients | sudo systemctl start gpsd |
| Arch | sudo pacman -S gpsd | sudo systemctl start gpsd |
| Windows | Utilisez gpsd via WSL ou MSYS2 | Voir les instructions WSL ci-dessus |
Pour vérifier que gpsd fonctionne :
# Vérifie que gpsd écoute
gpspipe -w -n 5
# Ou utilise le moniteur curses
cgps
| Plateforme | Remarques |
|---|---|
| macOS | Utilise CoreBluetooth. Le mode IRK exploite une API non documentée pour récupérer les véritables adresses Bluetooth au lieu des UUID. --active n'a aucun effet — CoreBluetooth analyse toujours activement. |
| Linux | Peut nécessiter les droits root ou la capacité CAP_NET_ADMIN pour l'analyse. |
| Windows | API Bluetooth WinRT native — les véritables adresses MAC sont disponibles nativement. La TUI nécessite pip install windows-curses. |
Ce projet utilise pyproject.toml (PEP 621), la norme moderne d'empaquetage Python. Il définit le projet comme un paquet installable doté d'une commande CLI enregistrée — nul besoin d'exécuter les fichiers .py directement.
uvx btrpa-scan --all
uvx --from git+https://github.com/hackingdave/btrpa-scan.git btrpa-scan --all
uv tool install btrpa-scan
Ou directement depuis GitHub :
uv tool install git+https://github.com/hackingdave/btrpa-scan.git
pip install btrpa-scan
Pour la prise en charge de l'interface graphique (interface radar basée sur Flask) :
pip install btrpa-scan[gui]
git clone https://github.com/hackingdave/btrpa-scan.git
cd btrpa-scan
pip install .
utilisation : btrpa-scan [-h] [-a] [--irk HEX] [--irk-file PATH] [-t TIMEOUT]
[--output {csv,json,jsonl}] [-o FILE] [--log FILE]
[-v | -q] [--min-rssi DBM] [--rssi-window N] [--active]
[--environment {free_space,indoor,outdoor}]
[--ref-rssi DBM] [--name-filter PATTERN]
[--alert-within METERS] [--tui] [--gui] [--gui-port PORT]
[--no-gps] [--adapters LIST] [mac]
BLE Scanner — découvrez tous les appareils ou traquez un appareil spécifique
arguments positionnels :
mac Adresse MAC cible à rechercher (omettre pour analyser tout)