48 lines
1.3 KiB
Markdown
48 lines
1.3 KiB
Markdown
# Handshake Capture - ESP32-C6 1.47" LCD
|
|
|
|
Automatic WiFi 4-way handshake capture for Waveshare ESP32-C6-LCD-1.47.
|
|
|
|
## Features
|
|
|
|
- **SD card storage**: Saves `.pcap` files to TF card (not SPIFFS)
|
|
- **Auto-deauth**: Aggressive 150ms deauth interval to force handshakes
|
|
- **Display**: Networks in **green** = not captured, **red** = captured
|
|
- **No web interface**: Capture-only device
|
|
- **WPA/WPA2 only**: Skips Open/WEP networks
|
|
- **BSSID cache**: Captured networks stay red across rescans
|
|
|
|
## Hardware
|
|
|
|
- Waveshare ESP32-C6-LCD-1.47 (non-touch, ST7789)
|
|
- TF card in onboard slot
|
|
|
|
## Build & Flash
|
|
|
|
Requires LVGL and lv_conf from the ESP32-C6-LCD-1.47-Demo:
|
|
|
|
```bash
|
|
cd "/path/to/4 way handshake"
|
|
arduino-cli compile \
|
|
-b 'esp32:esp32:esp32c6:PartitionScheme=huge_app' \
|
|
--build-path /tmp/arduino-build-handshake-c6 \
|
|
--libraries "ESP32-C6-LCD-1.47-Demo/Arduino/libraries" \
|
|
handshake-capture-c6
|
|
```
|
|
|
|
```bash
|
|
arduino-cli upload \
|
|
-p /dev/cu.usbmodem* \
|
|
-b 'esp32:esp32:esp32c6:PartitionScheme=huge_app' \
|
|
--input-dir /tmp/arduino-build-handshake-c6
|
|
```
|
|
|
|
Use `arduino-cli board list` to find the correct port.
|
|
|
|
## Flow
|
|
|
|
1. Boot → scan → display networks (green)
|
|
2. Pick first uncaptured WPA/WPA2 network
|
|
3. Set channel, deauth every 150ms, capture EAPOL
|
|
4. On full handshake → save to SD, mark red, next network
|
|
5. When all done → rescan, repeat
|