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), 逆向工具