ESP8266_Deauth_All
Arduino code for your ESP8266. Deauthenticate all clients from all access points
ESP8266 Deauth All: a pocket-sized deauthentication demo
This is Arduino code for the ESP8266 that scans for access points and sends deauthentication frames to everything on them. The README explains the technique and warns plainly that it is illegal without permission in most countries.
What the project is
The repository is Arduino code for the ESP8266 that deauthenticates all clients from all access points it can see. The README notes support for the Wemos D1 Mini OLED Shield and links to an Instagram page, a YouTube channel, and a website. It is presented as a demonstration of a technique on a small embedded board.
How the attack works
A WiFi deauthentication attack is a form of denial of service. The attacker crafts 802.11 frames meant to sever the connection between a client and an access point. The frames are unencrypted because most devices do not support the 802.11w standard, so there is no way to block them as long as they appear to come from a legitimate source. An attacker can scan for access points, clone each BSSID, and spoof the source MAC address, without even needing to be on the target network.
The run cycle
The loop is four steps. Scan all channels twice, clean out any access points from the last scan that did not reappear, then deauthenticate all devices for one minute by sending broadcast frames from every access point, and repeat. The author's stated goal was a device small enough to carry anywhere that keeps a current list of nearby access points, dropping ones no longer in the area.
Flashing and using it
Uploading goes through the Arduino IDE. That means adding board manager URLs for the ESP8266 boards and the deauther package, installing the ESP8266 boards and the Adafruit SSD1306 library for the Wemos Mini OLED, then selecting the WeMos D1 Mini board and uploading. Usage is plug it into any USB power source and let the run cycle take over. The README also notes some devices ignore broadcast deauth frames, so it will not work against everything.
The warning, in the author's own words
The README carries a blunt line: do not be a dumbass and get yourself in trouble. Deauthentication is a denial of service, and in most countries it is illegal without the explicit consent of the target network's owner. The author also calls the code complete garbage but working, pointing out repeated blocks that could have been functions. This summary reports what the README states and nothing more.
Community notes