mathish06/Sentinel-IDS

GitHub: mathish06/Sentinel-IDS

基于 ESP32 的便携式被动 WiFi 入侵检测设备,实时嗅探 802.11 流量以发现 Deauth 泛洪等无线攻击。

Stars: 0 | Forks: 0

# SENTINEL 🛡️ ### 被动 WiFi 入侵检测系统 (P-IDS) ![Status](https://img.shields.io/badge/Status-Stable-brightgreen) ![Platform](https://img.shields.io/badge/Platform-ESP32-blue) ![Language](https://img.shields.io/badge/Language-C%2B%2B-orange) ![License](https://img.shields.io/badge/License-MIT-green) ![Framework](https://img.shields.io/badge/Framework-PlatformIO%20%2F%20Arduino-purple) **Sentinel** 是一款便携式独立硬件设备,旨在实时监控 802.11 WiFi 流量。它基于 ESP32 微控制器构建,在**混杂模式**下运行,以分析原始数据包并检测特定的攻击特征 —— 而无需连接到任何网络。 ## 🎯 项目目标 Sentinel 的主要目标是提供一个**低成本的蓝队工具**,用于检测** Deauth 泛洪攻击**(Deauthentication Flooding attacks)和潜在的**邪恶双子**(Evil Twin)攻击尝试。与需要笔记本电脑的基于软件的解决方案(如 Wireshark)不同,Sentinel 是您无线环境中的一个口袋大小的“看门狗”。 ## ⚙️ 功能 - **被动嗅探:** 透明运行,无需 IP 地址或网络关联。 - **信道跳频:** 循环扫描 2.4GHz WiFi 信道 (1–13) 以覆盖整个频段。 - **攻击检测:** 识别管理帧(Deauth/Disassoc 数据包)的异常突发。 - **模拟模式:** 区分真实攻击与实验室生成的测试帧(自定义 MAC 签名)。 - **视觉反馈:** - **OLED 显示屏:** 显示当前信道、数据包速率、真实威胁计数和模拟测试计数。 - **RGB LED:** 颜色编码警报系统 —— 🔵 蓝色 = 启动,🟢 绿色 = 遭受攻击,🔴 红色 = 安全(为了可见性而反转)。 - **便携:** 由任何通用的 5V USB 移动电源供电。 ## 🛠️ 硬件组成 | 组件 | 型号 | 备注 | | :--- | :--- | :--- | | **MCU** | ESP32-WROOM-32U (DevKit V1) | 外置天线,扩展接收范围 | | **显示屏** | 0.96" OLED SSD1306 | I2C 接口 | | **LED** | WS2812B 可寻址 RGB (NeoPixel) | 1 像素 | | **电源** | 5000mAh USB 移动电源 | 通用 5V | ## 🔌 接线 (Pinout) | 组件 | ESP32 引脚 | 描述 | | :--- | :--- | :--- | | **OLED SDA** | GPIO 21 | I2C 数据 | | **OLED SCL** | GPIO 22 | I2C 时钟 | | **NeoPixel 数据** | GPIO 15 | WS2812B 信号 | | **VCC** | VIN (5V) | 来自 USB 的电源 | | **GND** | GND | 接地 | ## 🚀 快速开始 ### 前置条件 - [Visual Studio Code](https://code.visualstudio.com/) - [PlatformIO](https://platformio.org/) IDE 扩展 ### 安装说明 1. 克隆仓库: git clone https://github.com/mathish06/Sentinel-IDS.git cd Sentinel-IDS 2. 在 VS Code 中打开该文件夹。 3. 通过 USB 连接您的 ESP32。 4. 使用 PlatformIO 上传固件: - 点击左侧边栏的 **PlatformIO logo**。 - 选择 **Pick a task… → General → Upload**。 PlatformIO 将自动下载所有必需的库(`Adafruit SSD1306`、`Adafruit GFX`、`Adafruit NeoPixel`)并对 ESP32 进行烧录。 ## 📦 依赖项 通过 PlatformIO 自动管理: ``` lib_deps = adafruit/Adafruit SSD1306 @ ^2.5.7 adafruit/Adafruit GFX Library @ ^1.11.5 adafruit/Adafruit NeoPixel ``` ## ⚠️ 法律免责声明 **本项目严格用于教育和防御(蓝队)目的。** 该设备旨在*检测*无线攻击,而不是发起攻击。未经网络所有者明确授权而监控无线网络在您所在的司法管辖区可能是非法的。作者对任何滥用此软件或硬件设计的行为不承担任何责任。 *本项目作为 Epitech 第一年 Hub 模块的一部分创建。*
标签:C++, ESP32, PlatformIO, WiFi流量嗅探, 入侵检测系统, 安全数据湖, 数据擦除, 物联网, 蓝牙蓝队工具