NSM-Barii/Bluehound

GitHub: NSM-Barii/Bluehound

Bluehound 是一个兼具 BLE 设备发现与环境异常检测功能的低功耗蓝牙侦察框架,支持实时可视化与跨会话数据持久化。

Stars: 29 | Forks: 3

# Bluehound 一个具有实时可视化功能的低功耗蓝牙(BLE)侦察与异常检测框架。 最初为 BLE wardriving 打造,现已扩展为**用于设备发现和环境分析的双模式系统**。 ## 功能 ### Sniffer 模式 - 实时发现附近的 BLE 设备 - 跨会话的持久化 JSON 数据库 - 基于 RSSI 的距离估算 - 基于 Web 的雷达可视化 - 快速连续扫描 ### Monitor 模式(异常检测引擎) 实时分析 BLE 活动,以检测跨设备和环境的异常行为。 #### 设备级检测 - RSSI 激增检测(信号不稳定) - 错过的扫描周期(间歇性出现) - 基于时间的消失追踪 设备会被动态分类为: - `stable` - `unstable` #### 环境级检测 - 不稳定设备比例 - 设备数量下降评分 - 实时会话分析 检测以下状况: - BLE flooding - RF 干扰 - 突发信号中断 - 可疑的设备行为 ## 安装 ### 安装 BlueZ (Linux Bluetooth Stack) **Debian / Ubuntu** ``` sudo apt-get update && sudo apt-get install -y bluez ``` **Arch Linux** ``` sudo pacman -S bluez bluez-utils sudo systemctl enable --now bluetooth ``` ### 安装 Bluehound ``` git clone https://github.com/nsm-barii/bluehound.git cd bluehound/src python3 -m venv venv source venv/bin/activate pip install -r ../requirements.txt ``` ## 使用方法 ### Sniffer 模式 ``` sudo venv/bin/python main.py --sniffer ``` ### Monitor 模式 ``` sudo venv/bin/python main.py --monitor ``` ### 实时 Web Dashboard 在任一模式下添加 `--web` 即可在 `http://localhost:8000` 启动实时 dashboard(雷达 + 设备表格): ``` sudo venv/bin/python main.py --monitor --web sudo venv/bin/python main.py --sniffer --web ``` ### 可选参数 ``` --save # Save scan results -s # Send data to external server (ESP32 / LED system) --web # Launch live web dashboard at http://localhost:8000 --window # How long each scan listens for advertisements (default: 5) --interval # Wait time between scans; 0 = continuous (default: 0) ``` 示例 — 8 秒扫描窗口,扫描间隔 3 秒,并附带 dashboard: ``` sudo venv/bin/python main.py --monitor --web --window 8 --interval 3 ``` ## 工作原理 ### Sniffer 模式 - 扫描 BLE 广播包 - 提取设备元数据(MAC、供应商、RSSI、UUID) - 持久化存储结果 - 在实时 Web UI 中展示设备 ### Monitor 模式 - 跨扫描周期追踪设备 - 构建 BLE 活动的实时模型 - 采用加权异常检测: ``` RSSI instability + missed cycles + signal loss → unstable device ``` ### 实时指标 - 设备总数 - 不稳定设备数 - 不稳定比例 (%) - 下降评分 示例: ``` Session Devices: 42 Unstable Devices: 8 Unstable Ratio: 19.04% Drop Score: 0.27 ``` ## 项目结构 ``` src/ ├── main.py ├── scanner/ │ └── BLE_Sniffer.py ├── monitor/ │ └── Monitor_Bluetooth.py ├── web/ ├── database/ │ └── database.json ``` ## 使用场景 - BLE wardriving 与测绘 - IoT 设备发现 - RF 环境监控 - BLE 异常检测 - 早期 BLE 入侵检测研究 ## 路线图 - BLE 干扰检测 - 设备指纹识别(行为 + 供应商) - 多适配器支持 - ESP32 实时告警集成 - 数据导出 / 分析 pipeline ## 环境要求 - Linux(需要 BlueZ) - Python 3.7+ - 兼容 BLE 的适配器 ## 免责声明 本工具仅供**授权的安全研究与教育用途**使用。 未经许可,请勿扫描或分析设备。 ## 作者 开发者 https://github.com/nsm-barii
标签:Homebrew安装, Python, 主机安全, 密码管理, 异常检测, 无后门, 无线通信, 物联网安全, 蓝牙低功耗(BLE), 逆向工具