Skip to content

Latest commit

 

History

History
158 lines (109 loc) · 5.13 KB

README.md

File metadata and controls

158 lines (109 loc) · 5.13 KB

GitHub contributors GitHub forks GitHub Repo stars GitHub Repo stars GitHub Issues GitHub License


Logo

esp32c6-sniffer

A proof of concept ESP32C6 sniffer.
Explore the docs »

View Demo(TBA) · Report Bug · Request Feature

Table of Contents

About The Project

This POC (Proof of concept) tool showcases an ESP32C6 with the ESP-IDF framework, to be a WiFi sniffer with the capabilities of looking for user-specified settings. I don't intend for this to be anymore than a miniature version of Wireshark.

As of now, the firmware is very minimal and is only capable of sniffing for packets on a user-set channel. Everything else from the CLI to the user-defined settings are still a work in progress.

Originally, this was meant to be firmware for the M5NanoC6, but it is likely that this can compile on other ESP32 boards if you delete the sdkconfig, reset the settings, then compile for the board of your choice.

As a developer, I do not endorse the illegal use of this firmware. Any sort of trouble you get into I am not responsible for!!!

Built With

Getting Started

To get a local copy up and running follow these simple steps.

Prerequisites

Installation

  1. Clone the repo
git clone https://github.com/dj1ch/esp32c6-sniffer.git
  1. Install esp-idf: Follow documentation and install version 5.3.

  2. Set board target

idf.py set-target <your_esp32*_board>

If it asks that you delete the build directory or sdkconfig, you will need to do that to compile for that board.

  1. Build the project
idf.py build
  1. Flash to your ESP32(replace PORT with the port connected to your ESP32)
idf.py -p PORT flash

or you can run

idf.py flash

Usage

In terms of features I didn't add that many. The software itself is very minimal.

Sniffer command list:

  • switchchannel: Switches channel. Use the --channel flag to set the channel you're switching to.
  • start: Starts the sniffer. Use the --type flag to set the packet type you're searching for (management, data, or misc), which is optional. Use the --mac flag to specify a mac address to search for, which is also optional.
  • currentchannel: Returns your current channel.

Roadmap

As of now I would like to implement/am in the progress of implementing:

  • Video demo

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Contact

dj1ch - [email protected]

Project Link: https://github.com/dj1ch/esp32c6-sniffer

Acknowledgements