# 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