
Una utilidad TUI de bluetooth para análisis de radar y wardriving 🦉
Un sniffer simple de Bluetooth Low Energy (BLE) usando Python y la librería Bleak
Snoop cronometrado |
Snoop ilimitado |
Si usas iTerm2, debes asegurarte de que el terminal tenga permiso para Bluetooth. Abre Configuración del Sistema (o Preferencias del Sistema). Ve a Privacidad y Seguridad > Bluetooth y Concede Acceso a iTerm2.
python -m venv .venv
source .venv/bin/activate
pip install asyncio bleak rich manuf bluetooth-numbers geocoder
python3 bluesnoop.py
bluesnoop está abierto a cualquier contribución. Por favor, bifurca el repositorio y haz una solicitud de extracción con las características o correcciones que quieras implementar.
Un Identificador Único de Organización (OUI) es un número de 24 bits (tres bytes), gestionado por el IEEE, que identifica únicamente a un fabricante u organización para dispositivos de red, formando la primera mitad de la dirección MAC de un dispositivo para garantizar la unicidad global
La clase uuid.UUID en Python valida estrictamente las cadenas según el estándar RFC 4122. Específicamente, busca un dígito de "versión" en una posición específica de la cadena.
Por qué falla En un UUID estándar, el primer dígito del tercer grupo (p. ej., xxxx-xxxx-Nxxx-xxxx) debe ser un número del 1 al 5 (que representa la versión).
Mirando tus datos:
D5D93B6E-C324-FD7B... -> El dígito de versión es F.
6ADBBD89-CBFF-0FE8... -> El dígito de versión es 0.
Dado que F y 0 no son versiones válidas de RFC 4122 (1-5), Python lanza un ValueError: badly formed hexadecimal UUID string.
Explora más en lo siguiente:
discovered_devices_and_advertisement_data // https://bleak.readthedocs.io/en/latest/api/scanner.html#bleak.BleakScanner.discovered_devices // 16:20 @ 1/8/26 BW
Si disfrutaste bluesnoop, considera convertirte en patrocinador para financiar mis futuros proyectos.
Para ver mis otros trabajos, visita mi perfil de GitHub.