WiFi Packet Monitor & Deauth Detector
LilyGO T-Dongle S3 · ESP32-S3 · v6
Choose your board:
No install, no toolchain — plug the device in and click.
| T-Dongle S3 | ESP32-S3 · logs to a microSD card · read the card as a USB drive · full serial console |
| M5StickC Plus2 | ESP32 · logs to internal flash (LittleFS) · read them over a built-in Web UI (the device hosts its own WiFi hotspot) · same capture formats |
The M5 has no SD slot and no USB Mass Storage, so on it you press Btn B to start a hotspot
(packmon-XXXX, password packmon123), join it, and open
192.168.4.1 to see live stats and download the CSVs and capture.pcapng.
Sniffing pauses while the Web UI is on.
packmon-logs/, building one combined dataset..pcapng (radiotap, hcxpcapngtool-ready) in packmon-logs/.Logging is opt-in by hardware: it turns on only if a microSD card is detected during the boot animation, and stays off for that whole run otherwise. The splash tells you which — SD OK or no SD.
Fixed filenames, appended to on every boot — one growing dataset, not a
new file each time. A session column (and more packets after the pcap's single header) keeps the
runs separable; the viewer combines them automatically.
packmon-logs/events.csv | every deauth / disassoc: session, time, channel, RSSI, MACs |
packmon-logs/networks.csv | each network first seen: session, SSID, BSSID, channel, security |
packmon-logs/stats.csv | a snapshot every 5 s: session, frame counts, rate, per-channel totals |
packmon-logs/capture.pcap | captured EAPOL handshakes (+ a beacon per network) |
→ Open the log viewer
— drop in the CSVs and the .pcap files: it draws spider charts, timelines and a
network table, and decodes each handshake (SSID, AP/client, which of M1–M4 landed, whether it is
crackable) — all in your browser, nothing uploaded. Session chips let you isolate one boot or
join any subset.
| Tap the button | next page |
| Hold ~0.6 s | lock the current channel (stop hopping) |
| Keep holding to 2.5 s | clear all counters |
| Hold on the USB page | mount / eject the SD card as a USB drive |
No need to pop the microSD out. Open the USB page and hold the button:
the card mounts on your computer or phone as a normal USB drive, so you can copy off
packmon-logs/ (and drop the CSVs straight into the
viewer). Hold again to eject.
Logging pauses while mounted — the host owns the card, so packmon stops writing until you eject. The dongle also always appears as a small serial device; that's the debug console, not the drive.
| Board | LilyGO T-Dongle S3 (ESP32-S3) |
| Display | ST7735 160×80, SPI @ 27 MHz |
| Rendering | 25 KB framebuffer, ~30 fps |
| Channel hop | 500 ms, channels 1–13 |
| Graph window | 152 samples @ 200 ms ≈ 30 s |
| Network table | 24 APs, aged out after 2 min |
| Alert hold | 5 s after last deauth frame |
| Serial log | 115200 baud, USB CDC |
| Flash image | merged, 8 MB layout, offset 0x0 |
Receive-only. packmon listens; it never transmits deauth frames or any other attack traffic. Passively monitoring radio spectrum is still regulated in some jurisdictions — check your local law before running it, and only monitor networks you own or are authorised to test.