Pas besoin de se connecter lors de l'utilisation de btmgmt
$ sudo btmgmt find
Discovery started
hci0 type 7 discovering on
hci0 dev_found: 50:8C:FD:99:0A:EC type LE Random rssi -80 flags 0x0000
AD flags 0x06
eir_len 23
…
L'indicateur d'intensité relative du signal est rssi -80
, mais la liste est beaucoup plus longue et contient plus d'informations sur cet appareil et d'autres.
Pour espionner votre voisinage Bluetooth en affichant uniquement des adresses MAC uniques avec leur RSSI le plus puissant, exécutez la commande suivante :
$ sudo btmgmt find |grep rssi |sort -n |uniq -w 33
hci0 dev_found: 40:43:42:B3:71:11 type LE Random rssi -53 flags 0x0000
hci0 dev_found: 44:DA:5F:EA:C6:CF type LE Random rssi -78 flags 0x0000
hci0 dev_found: 7F:7D:08:6B:E0:37 type LE Random rssi -74 flags 0x0000
hci0 dev_found: A4:58:0F:21:A1:8C type BR/EDR rssi -79 flags 0x0000
Sous Linux, la méthode consiste à utiliser la commande hcitool. Cependant, vous devez être connecté pour obtenir le rssi d'un appareil. Si vous souhaitez y parvenir à partir de la ligne de commande, essayez :
#hcitool rssi AA:BB:CC:DD:EE:FF
Si vous voulez voir le code C réel pour y parvenir, jetez un œil au fichier bluez tools/hcitool.c, sous la fonction cmd_rssi.
static void cmd_rssi(int dev_id, int argc, char **argv)
{
...
}
Pour Bluetooth basse consommation , je ne connais qu'une seule façon de le faire, et c'est en utilisant la commande #btmon. Exécutez btmon en arrière-plan, puis recherchez les appareils Bluetooth Low Energy :
#./btmon &
# hcitool lescan
Les résultats affichés sur le moniteur devraient ressembler à ceci :
> HCI Event: LE Meta Event (0x3e) plen 12
LE Advertising Report (0x02)
Num reports: 1
Event type: Scan response - SCAN_RSP (0x04)
Address type: Public (0x00)
Address: AA:BB:CC:DD:EE:FF (<Vendor Name>)
Data length: 0
***RSSI: -34 dBm (0xde)***
AA:BB:CC:DD:EE:FF <Device Name>
Notez que lorsque vous utilisez btmon, vous n'avez pas besoin de vous connecter pour obtenir le rssi d'un appareil BLE.