
Un'utilità TUI Bluetooth per analisi radar e war driving 🦉
Un semplice sniffer Bluetooth Low Energy (BLE) che utilizza Python e la libreria Bleak
Snoop temporizzato |
Snoop illimitato |
Se stai usando iTerm2, devi assicurarti che il terminale stesso abbia l'autorizzazione per il Bluetooth.
Apri Impostazioni di Sistema (o Preferenze di Sistema).
Vai su Privacy e Sicurezza > Bluetooth e Concedi l'accesso a iTerm2.
python -m venv .venv
source .venv/bin/activate
pip install asyncio bleak rich manuf bluetooth-numbers geocoder
python3 bluesnoop.py
bluesnoop è aperto a qualsiasi contributo. Effettua un fork del repository e crea una pull request con le funzionalità o le correzioni che desideri implementare.
An Organizationally Unique Identifier (OUI) is a 24-bit (three-byte) number, managed by the IEEE, that uniquely identifies a manufacturer or organization for network devices, forming the first half of a device's MAC address to ensure global uniqueness
La classe uuid.UUID in Python valida rigorosamente le stringhe secondo lo standard RFC 4122. In particolare, cerca una cifra 'versione' in una posizione specifica della stringa.
Perché fallisce In un UUID standard, la prima cifra del terzo gruppo (es. xxxx-xxxx-Nxxx-xxxx) deve essere un numero da 1 a 5 (che rappresenta la versione).
Osservando i tuoi dati:
D5D93B6E-C324-FD7B... -> La cifra versione è F.
6ADBBD89-CBFF-0FE8... -> La cifra versione è 0.
Poiché F e 0 non sono versioni RFC 4122 valide (1-5), Python lancia un ValueError: badly formed hexadecimal UUID string.
Esplora ulteriormente quanto segue:
discovered_devices_and_advertisement_data // https://bleak.readthedocs.io/en/latest/api/scanner.html#bleak.BleakScanner.discovered_devices // 16:20 @ 1/8/26 BW
Se ti è piaciuto bluesnoop, considera la possibilità di diventare uno sponsor per finanziare i miei progetti futuri.
Per vedere i miei altri lavori, visita il mio profilo GitHub.