MasonNagel5/SentinelMap
GitHub: MasonNagel5/SentinelMap
SentinelMap 是一款本地网络扫描与威胁监控工具,用于发现设备和警报网络变化以增强安全性。
Stars: 0 | Forks: 0
# SentinelMap
一款扫描您家庭或办公室网络的工具,能显示连接至网络的每个设备,并在有新设备出现或发生变化时发出警报。
## 截图

*每个点代表网络中的一台设备。路由器位于中心(粉色),您的电脑为黄色,其他设备为绿色。您可以拖动节点并悬停在上面查看更多信息。*

*悬停在设备上会显示它是什么、可能运行什么操作系统,以及开放了哪些服务。*

*警报选项卡显示自上次扫描以来新出现的设备,包括其硬件 ID(MAC 地址)。*

*图表中显示的设备类型颜色图例。*
## 功能
- 发现网络中的所有设备(手机、笔记本电脑、路由器、智能设备等)
- 检查每台设备运行的网络服务,如网页服务器或远程桌面
- 将每次扫描与前次进行比对,并标记任何变化
- 保留每次扫描的历史记录,以便查看设备首次出现的时间
- 在浏览器中通过交互式图表展示所有信息
## 安装
您需要先安装 Python。然后执行:
```
git clone https://github.com/yourname/sentinelmap
cd sentinelmap
pip install -r requirements.txt
```
**Linux / macOS:**
```
sudo python server.py --scan-on-start
```
**Windows**(以管理员身份打开 PowerShell,然后运行):
```
python server.py --scan-on-start
```
打开浏览器并访问 `http://localhost:5000`。
## 选项
```
python server.py # just start the dashboard, scan manually from the UI
python server.py --scan-on-start # scan automatically when the server starts
python server.py --watch 10 # re-scan every 10 minutes automatically
python server.py --subnet 10.0.1.0/24 # scan a specific network range
```
## 技术栈
- Python 和 Flask(运行后端服务器)
- SQLite(在本地数据库文件中存储扫描历史)
- Scapy(执行实际的网络扫描)
- D3.js(在浏览器中绘制交互式图表)
- 纯 HTML、CSS 和 JavaScript 构建前端
## 备注
该项目在 2026 年 3 月至 5 月期间完成。大部分开发工作在本地进行,最后才将所有内容推送到 GitHub,因此提交历史并不能反映实际的开发时间。
## 已知局限
- 操作系统猜测(如 Windows、Linux 等)基于粗略的网络信号判断,并不总是准确
- 仅扫描 TCP 服务,不包含 UDP
- 硬件供应商查询(如“Samsung”或“Apple”)仅在安装了 nmap 时才有效
- 在较小型网络上效果最佳,未在非常大型的网络上进行测试
标签:AMSI绕过, D3.js可视化, Flask应用, Qt框架, 交互式仪表盘, 办公室网络, 多模态安全, 威胁检测, 安全运营中心, 家庭网络, 插件系统, 数据可视化, 数据统计, 无线安全, 服务识别, 本地网络扫描, 端口扫描, 系统分析, 网络分析, 网络安全, 网络映射, 自动扫描, 警报系统, 设备发现, 设备指纹, 逆向工具, 隐私保护