ESP32 Wi-Fi渗透工具使用指南
ESP32 Wi-Fi渗透工具是一个基于ESP32平台的通用Wi-Fi网络分析工具,提供了常见的Wi-Fi网络测试功能实现。该项目集成了多种Wi-Fi网络技术,包括PMKID捕获、WPA/WPA2握手包捕获、网络连接测试、服务压力测试等,并提供了PCAP和HCCAPX格式的输出功能。## 项目目录结构```esp32-wifi-penetration-tool/├── CMakeLis
项目概述
ESP32 Wi-Fi渗透工具是一个基于ESP32平台的通用Wi-Fi网络分析工具,提供了常见的Wi-Fi网络测试功能实现。该项目集成了多种Wi-Fi网络技术,包括PMKID捕获、WPA/WPA2握手包捕获、网络连接测试、服务压力测试等,并提供了PCAP和HCCAPX格式的输出功能。
项目目录结构
esp32-wifi-penetration-tool/
├── CMakeLists.txt # 项目构建配置文件
├── LICENSE # MIT许可证文件
├── README.md # 项目主说明文档
├── sdkconfig.defaults # 默认SDK配置
├── components/ # 项目组件目录
│ ├── frame_analyzer/ # 帧分析器组件
│ ├── hccapx_serializer/ # HCCAPX序列化组件
│ ├── pcap_serializer/ # PCAP序列化组件
│ ├── webserver/ # Web服务器组件
│ ├── wifi_controller/ # Wi-Fi控制器组件
│ └── wsl_bypasser/ # Wi-Fi堆栈库绕过组件
├── doc/ # 文档目录
│ ├── ATTACKS_THEORY.md # 网络技术理论文档
│ ├── drawio/ # 技术图解文件
│ └── images/ # 图片资源
└── main/ # 主程序目录
├── attack.c # 网络测试实现文件
├── attack_dos.c # 服务压力测试
├── attack_handshake.c # 握手包捕获测试
└── attack_pmkid.c # PMKID捕获测试
核心功能特性
测试功能
- PMKID捕获:从WPA/WPA2网络中获取PMKID信息用于分析
- 握手包捕获:捕获完整的WPA/WPA2四次握手过程
- 连接测试:测试网络连接稳定性
- 服务压力测试:对目标网络进行负载测试
- 被动嗅探:监听网络流量用于分析
数据格式支持
- PCAP格式:将捕获的流量转换为标准的PCAP文件格式
- HCCAPX格式:生成兼容分析工具的HCCAPX格式文件
- 实时解析:对捕获的帧进行实时分析和解析
管理功能
- 管理AP:自动启动管理接入点用于配置
- Web界面:通过Web客户端进行配置和控制
- 可扩展框架:支持新测试方法的快速实现
硬件要求
该项目主要基于ESP32-DEVKITC-32E开发板进行开发和测试,但也兼容任何采用ESP32-WROOM-32模块的设备。
典型硬件配置包括:
- ESP32-DEVKITC-32E开发板
- 220mAh 3.7V锂电池
- MCP1702-3302ET 3.3V降压稳压器
使用流程
1. 构建项目
使用ESP-IDF 4.1进行项目构建:
idf.py build
2. 烧录固件
使用esptool.py工具烧录:
esptool.py -p /dev/ttyS5 -b 115200 --after hard_reset write_flash \
--flash_mode dio --flash_freq 40m --flash_size detect \
0x8000 build/partition_table/partition-table.bin \
0x1000 build/bootloader/bootloader.bin \
0x10000 build/esp32-wifi-penetration-tool.bin
3. 启动使用
- 给ESP32上电
- 自动启动管理AP(默认SSID:
ManagementAP, 密码:mgmtadmin) - 连接到管理AP
- 在浏览器中打开
192.168.4.1
技术原理
WPA/WPA2握手过程
WPA/WPA2握手过程涉及四个EAPoL-Key消息的交换,用于协商PTK(Pairwise Transient Key)。通过捕获这些握手消息,可以获取分析网络参数所需的信息。
密钥层次结构
WPA/WPA2-PSK使用层次化的密钥结构,其中PSK(Pre-Shared Key)由网络密码(passphrase)和SSID通过PBKDF2算法生成。
网络连接测试
网络连接测试通过发送特定的网络帧来测试网络连接状态和稳定性。
MIC计算验证
MIC(Message Integrity Code)用于验证EAPoL消息的完整性,可以通过算法验证来确认网络参数的正确性。
组件架构
主要组件
- Main组件:项目入口点,负责初始化和启动管理AP
- Wifi Controller组件:封装所有Wi-Fi相关操作
- Webserver组件:提供Web配置界面
- Frame Analyzer组件:处理和分析捕获的帧
- PCAP Serializer组件:将帧序列化为PCAP格式
- HCCAPX Serializer组件:生成HCCAPX格式输出
功耗特性
根据实验测量,ESP32在执行测试时的功耗约为100mA,配合小型锂电池可以实现便携式部署。
安全声明
本项目主要用于教育目的,演示Wi-Fi网络和802.11标准中的技术原理。请在获得明确授权的情况下使用这些工具,仅对您拥有权限的网络进行测试。
许可证
本项目采用MIT许可证,鼓励分享和改进代码。详细许可证条款请参阅LICENSE文件。
更多推荐







所有评论(0)