
Bluetooth-утилита с TUI-интерфейсом для радарного анализа и вардрайвинга 🦉
Простой сниффер Bluetooth Low Energy (BLE) на Python с использованием библиотеки Bleak
Перехват по таймеру |
Безлимитный перехват |
Если вы используете iTerm2, убедитесь, что у самого терминала есть разрешение на доступ к Bluetooth.
Откройте «Системные настройки» (System Settings или System Preferences).
Перейдите в раздел Privacy & Security > Bluetooth и предоставьте доступ приложению iTerm2.
python -m venv .venv
source .venv/bin/activate
pip install asyncio bleak rich manuf bluetooth-numbers geocoder
python3 bluesnoop.py
bluesnoop открыт для любых улучшений. Пожалуйста, сделайте форк репозитория и создайте pull request с функциями или исправлениями, которые вы хотите добавить.
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
Класс uuid.UUID в Python строго проверяет строки на соответствие стандарту RFC 4122. В частности, он ищет цифру «версии» в определённой позиции строки.
Почему возникает ошибка В стандартном UUID первая цифра третьей группы (например, xxxx-xxxx-Nxxx-xxxx) должна быть числом от 1 до 5 (обозначающим версию).
Посмотрим на ваши данные:
D5D93B6E-C324-FD7B... -> Цифра версии — F.
6ADBBD89-CBFF-0FE8... -> Цифра версии — 0.
Поскольку F и 0 не являются допустимыми версиями RFC 4122 (1–5), Python выбрасывает ValueError: badly formed hexadecimal UUID string.
Изучите дополнительно следующее:
discovered_devices_and_advertisement_data // https://bleak.readthedocs.io/en/latest/api/scanner.html#bleak.BleakScanner.discovered_devices // 16:20 @ 1/8/26 BW
Если вам понравился bluesnoop, пожалуйста, рассмотрите возможность стать спонсором, чтобы поддержать мои будущие проекты.
Чтобы ознакомиться с другими моими работами, посетите мой профиль GitHub.