
레이더 분석과 워 드라이빙을 위한 TUI 블루투스 유틸리티 🦉
Python과 Bleak 라이브러리를 사용한 간단한 Bluetooth Low Energy (BLE) 스니퍼
Timed Snoop |
Limitless Snoop |
iTerm2를 사용하는 경우, 터미널 자체에 Bluetooth 권한이 있는지 확인해야 합니다.
시스템 설정(또는 시스템 환경설정)을 엽니다.
개인정보 보호 및 보안 > Bluetooth로 이동하여 iTerm2에 액세스 권한 부여를 클릭합니다.
python -m venv .venv
source .venv/bin/activate
pip install asyncio bleak rich manuf bluetooth-numbers geocoder
python3 bluesnoop.py
bluesnoop은 모든 기여를 환영합니다. 저장소를 포크하고 구현하려는 기능 또는 수정 사항이 포함된 풀 리퀘스트를 제출해 주세요.
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
Python의 uuid.UUID 클래스는 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 프로필을 방문해 주세요.