btscanner

Scanner Bluetooth et extracteur d'informations d'appareils. Découvre les appareils Bluetooth proches en mode détectable et récupère nom, classe, version LMP, constructeur et fonctionnalités supportées. Bluetooth scanner and device information extractor. Discovers nearby Bluetooth devices in discoverable mode and retrieves device names, class, LMP version, manufacturer, and supported features.

↗ https://github.com/espressif/esp-idf

Overview

btscanner is a ncurses-based Bluetooth scanning tool that discovers devices in discoverable mode and extracts detailed device information including device name, class, manufacturer, clock offset, and LMP (Link Manager Protocol) version — providing more detail than basic hcitool scans.

Basic Usage

Launch btscanner (ncurses interface)

sudo btscanner

Command-line scan

btscanner -s 00:11:22:33:44:55

Scan all discoverable devices

btscanner -d

Interface Usage

# btscanner uses a curses interface:
# - Top panel: discovered devices list
# - Bottom panel: device details

# Key bindings:
# q     — quit
# i     — inquiry (scan for new devices)
# s     — select device
# Enter — view detailed info

What btscanner Reveals

# For each discovered device:
# BD Address (MAC)
# Device Name ("John's iPhone", "Samsung Galaxy S24")
# Device Class (phone, laptop, headset, car, etc.)
# LMP Version (Bluetooth protocol version)
# Manufacturer (chip manufacturer: Broadcom, Qualcomm, etc.)
# Clock Offset (timing information)
# Supported Features (encryption, EDR, etc.)

Manual Scanning with hcitool

Setup Bluetooth interface

sudo hciconfig hci0 up

Standard inquiry scan (discovers visible devices)

hcitool scan

Get device info for a specific MAC

hcitool info 00:11:22:33:44:55

BLE scan (Bluetooth Low Energy)

hcitool lescan

Get BLE device info

hcitool leinfo 00:11:22:33:44:55

Device Class Codes

# btscanner shows device class meaning:
# 0x5A0204 → Smartphone
# 0x7A020C → Desktop Computer
# 0x240404 → Headset/Headphones
# 0x200500 → Keyboard
# 0x5A020C → Laptop

# Device class helps determine what to attack:
# Phones → Bluebugging, OBEX attacks
# Computers → Service exploitation
# Headsets → KNOB attack (Key Negotiation of Bluetooth)

Tips

  • Only finds devices with Bluetooth discoverable mode ON — use redfang for hidden devices
  • Device names often reveal the owner’s name (personal devices)
  • LMP version reveals Bluetooth version and potential vulnerability surface
  • BLE devices (modern phones, fitness trackers) use hcitool lescan
  • Most modern devices only appear as discoverable briefly when in pairing mode
Help / Man page
btscanner [options]

-s MAC      Scan specific device by MAC
-d          Discover all devices
-n          Number of inquiry attempts

Interactive mode (default):
  Launch ncurses interface
  Press 'i' to start inquiry
  Navigate with arrow keys
  Enter for device details

Vue d’ensemble

btscanner est un outil de scan Bluetooth basé sur ncurses qui découvre les appareils en mode détectable et extrait des informations détaillées : nom d’appareil, classe, constructeur, décalage d’horloge, et version LMP (Link Manager Protocol), fournissant plus de détails qu’un simple scan hcitool.

Utilisation de base

# Lancer btscanner (interface ncurses)
sudo btscanner

# Scan en ligne de commande
btscanner -s 00:11:22:33:44:55

# Scanner tous les appareils détectables
btscanner -d

Utilisation de l’interface

# btscanner utilise une interface curses :
# - Panneau du haut : liste des appareils découverts
# - Panneau du bas : détails de l'appareil

# Raccourcis clavier :
# q     : quitter
# i     : inquiry (scanner de nouveaux appareils)
# s     : sélectionner un appareil
# Enter : voir les infos détaillées

Ce que btscanner révèle

# Pour chaque appareil découvert :
# BD Address (MAC)
# Nom de l'appareil ("John's iPhone", "Samsung Galaxy S24")
# Classe de l'appareil (téléphone, laptop, casque, voiture, etc.)
# Version LMP (version du protocole Bluetooth)
# Constructeur (fabricant de la puce : Broadcom, Qualcomm, etc.)
# Décalage d'horloge (information de timing)
# Fonctionnalités supportées (chiffrement, EDR, etc.)

Scan manuel avec hcitool

# Activer l'interface Bluetooth
sudo hciconfig hci0 up

# Scan inquiry standard (découvre les appareils visibles)
hcitool scan

# Récupérer les infos d'un appareil pour une MAC précise
hcitool info 00:11:22:33:44:55

# Scan BLE (Bluetooth Low Energy)
hcitool lescan

# Récupérer les infos d'un appareil BLE
hcitool leinfo 00:11:22:33:44:55

Codes de classe d’appareil

# btscanner affiche la signification de la classe d'appareil :
# 0x5A0204 → Smartphone
# 0x7A020C → Ordinateur de bureau
# 0x240404 → Casque/Écouteurs
# 0x200500 → Clavier
# 0x5A020C → Laptop

# La classe d'appareil aide à déterminer quoi attaquer :
# Téléphones → Bluebugging, attaques OBEX
# Ordinateurs → exploitation de services
# Casques → attaque KNOB (Key Negotiation of Bluetooth)

Conseils

  • Ne trouve que les appareils dont le mode détectable Bluetooth est activé : utilisez redfang pour les appareils cachés
  • Les noms d’appareils révèlent souvent le nom du propriétaire (appareils personnels)
  • La version LMP révèle la version Bluetooth et la surface de vulnérabilité potentielle
  • Les appareils BLE (téléphones modernes, trackers de fitness) utilisent hcitool lescan
  • La plupart des appareils modernes n’apparaissent comme détectables que brièvement en mode appairage
Aide / Page de manuel
btscanner [options]

-s MAC      Scan specific device by MAC
-d          Discover all devices
-n          Number of inquiry attempts

Interactive mode (default):
  Launch ncurses interface
  Press 'i' to start inquiry
  Navigate with arrow keys
  Enter for device details