Puppy ESP Sniffer is a Wi-Fi packet sniffer built for ESP32 devices using the ESP-IDF framework. This project allows you to capture and monitor Wi-Fi packets in promiscuous mode, making it useful for learning about wireless communication or debugging network issues.
- Captures Wi-Fi packets in promiscuous mode.
- Displays packets-per-second (PPS) statistics.
- Configurable Wi-Fi channel selection.
- ESP32 development board.
- ESP-IDF version 5.5.0 or later.
- A computer with
idf.pyand Python installed.
You can configure the Wi-Fi channel through the menuconfig interface:
idf.py menuconfigNavigate to Sniffer Configuration to set the desired Wi-Fi channel.
-
Clone the repository:
git clone <repository-url> cd puppy-esp-sniffer
-
Initialize the ESP-IDF environment:
. $IDF_PATH/export.sh
-
Build the project:
idf.py build
-
Flash the firmware to your ESP32 device:
idf.py flash
-
Monitor the serial output:
idf.py monitor
Once flashed, the ESP32 will start capturing Wi-Fi packets and output the number of packets captured per second. You can view this information via the serial monitor.
puppy-esp-sniffer/
├── CMakeLists.txt # Project build configuration
├── main/
│ ├── Kconfig # Component configuration
│ ├── puppy-esp-sniffer.c # Main sniffer logic
│ ├── CMakeLists.txt # Component build configuration
├── sdkconfig # SDK configuration (auto-generated)
├── README.md # This file
└── LICENSE # License
This project is licensed under the MIT License. Please provide appropriate credit if you use this code.
Contributions are welcome! Feel free to open issues or submit pull requests.
This tool is intended for educational and debugging purposes only. Ensure you comply with your local regulations regarding Wi-Fi monitoring.