ESP8266 Deauther自制指南
为避免手头上的NodeMCU(ESP8266)和128x64 OLED吃灰,找了个适合的项目——WiFi Deauther。
很多人将其称为WiFi干扰器,这是不准确的。
ESP8266 Deauther可用于扫描WiFi设备,阻止选定的连接,创建多个热点反制WiFi扫描器。
原理
伪造路由器向客户端发送取消认证报文,使客户端主动断开WiFi连接。属于DoS(拒绝服务式攻击)。
即便目标处于加密网络中也有效,因为取消认证报文无需加密。
此漏洞在802.11w-2009中有提议解决,但几乎所有厂商的默认设置都将其禁用。
硬件准备
Parts | # | 备注 |
---|---|---|
NodeMCU | 1 | |
0.96寸128*64黄蓝双色OLED | 1 | |
按钮 | 3 | |
万能板 | 1 | 可用面包板代替 |
飞线 | 若干 | 可用跳线代替 |
NodeMCU简介
NodeMCU Pin | GPIO | Note |
---|---|---|
D0 | GPIO 16 | 无I2C或PWM,有时用作芯片LED |
D1 | GPIO 5 | |
D2 | GPIO 4 | |
D3 | GPIO 0 | Flash按钮 |
D4 | GPIO 2 | 需上拉电阻, 板载LED |
D5 | GPIO 14 | |
D6 | GPIO 12 | |
D7 | GPIO 13 | |
D8 | GPIO 15 | 需下拉电阻 |
D9 | GPIO 3 | 串口RX (Serial) |
D10 | GPIO 1 | 串口(Serial) |
SD2 | GPIO 9 | Flash |
SD3 | GPIO 10 | Flash |
- D0不可用作PWM调光的RGB灯或I2C显示屏
- D4和D8需要电阻,通常板子已带,用作Boot。
- D9和D10用作串口调试和上传代码,勿用。
- D3接按钮用于进入Flash模式。
- SD2和SD3用于板载SPI闪存。
综上,总共有11个GPIO可用,其中4个慎用。
推荐I2C显示屏+3按钮+ws2812灯,这样比较省端口。最简方案单个NodeMCU开发板即可,连上板子AP通过网页配置和执行攻击,但攻击时会很卡甚至连不上界面,不推荐。
我这边是按手头有的配件搭配,所以是SPI显示屏+3按钮,不用LED。显示屏界面有后退选项,故3按钮(上、下、确认)足够了。
如果是用面包板,推荐用NodeMCU V2,V3太宽不适合。
接线
NodeMCU | Parts |
---|---|
D5 | OLED_SCL |
D7 | OLED_SDA |
D1 | OLED_RST |
D2 | OLED_D/C |
D3 | 按钮_上 |
D6 | 按钮_下 |
D4 | 按钮_A |
编译代码
参考作者的Compiling using Arduino IDE的步骤即可。
注意用Arduino IDE打开源码前,先用VS Code
之类的编辑A_config.h
文件。需修改处如下:
1 | ... |
默认AP名为pwned
,密码deauther
,手机连上AP后浏览器访问http://192.168.4.1进入管理员界面。这些可以在A_config.h
中配置,跳过也无所谓,可以在网页界面更改。
然后打开Arduino IDE,先选好板子NodeMCU
和端口。再打开esp8266_deauther.ino
。IDE的界面可能会比较卡,这也是为何先编辑好配置文件的原因,然后直接点Upload。
参考资料
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 名实合为!
评论