
Um utilitário Bluetooth TUI para análise de radar e war driving 🦉
Um sniffer simples de Bluetooth Low Energy (BLE) usando Python e a biblioteca Bleak
Snoop Temporizado |
Snoop Ilimitado |
Se você estiver usando o iTerm2, é necessário garantir que o próprio terminal tenha permissão para acessar o Bluetooth.
Abra as Configurações do Sistema (ou Preferências do Sistema).
Vá para Privacy & Security > Bluetooth e Conceda Acesso ao iTerm2.
python -m venv .venv
source .venv/bin/activate
pip install asyncio bleak rich manuf bluetooth-numbers geocoder
python3 bluesnoop.py
O bluesnoop está aberto a qualquer contribuição. Por favor, faça um fork do repositório e envie um pull request com os recursos ou correções que você deseja que sejam implementados.
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
A classe uuid.UUID do Python valida rigorosamente strings de acordo com o padrão RFC 4122. Especificamente, ela procura um dígito de "versão" em uma posição específica da string.
Por que está falhando Em um UUID padrão, o primeiro dígito do terceiro grupo (por exemplo, xxxx-xxxx-Nxxx-xxxx) deve ser um número de 1 a 5 (representando a versão).
Observando seus dados:
D5D93B6E-C324-FD7B... -> O dígito da versão é F.
6ADBBD89-CBFF-0FE8... -> O dígito da versão é 0.
Como F e 0 não são versões RFC 4122 válidas (1-5), o Python lança um ValueError: badly formed hexadecimal UUID string.
Explore mais sobre o seguinte:
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 você gostou do bluesnoop, considere se tornar um patrocinador para financiar meus projetos futuros.
Para conhecer meus outros trabalhos, visite meu perfil no GitHub.