Skip to content

dj1ch/esp32c6-sniffer

Repository files navigation

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 thesdkconfig,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. Installesp-idf:Followdocumentationand install version 5.3.

  2. Set board target

idf.py set-target<your_esp32*_board>

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

  1. Build the project
idf.py build
  1. Flash to your ESP32(replacePORTwith 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--channelflag to set the channel you're switching to.
  • start:Starts the sniffer. Use the--typeflag to set the packet type you're searching for (management,data,ormisc), which is optional. Use the--macflag 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 theopen issuesfor 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 aregreatly 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. SeeLICENSEfor more information.

Contact

dj1ch -[email protected]

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

Acknowledgements