Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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

a proof of concept ESP32C6 sniffer
https://github.com/dj1ch/esp32c6-sniffer

esp-idf esp32c6 packetsniffing sniffer sniffing-devices

Last synced: 21 days ago
JSON representation

a proof of concept ESP32C6 sniffer

Awesome Lists containing this project

README

        

![GitHub contributors](https://img.shields.io/github/contributors/dj1ch/esp32c6-sniffer)
![GitHub forks](https://img.shields.io/github/forks/dj1ch/esp32c6-sniffer)
![GitHub Repo stars](https://img.shields.io/github/stars/dj1ch/esp32c6-sniffer)
![GitHub Repo stars](https://img.shields.io/github/stars/dj1ch/esp32c6-sniffer)
![GitHub Issues](https://img.shields.io/github/issues/dj1ch/esp32c6-sniffer)
![GitHub License](https://img.shields.io/github/license/dj1ch/esp32c6-sniffer)





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](#about-the-project)
* [Built With](#built-with)
* [Getting Started](#getting-started)
* [Prerequisites](#prerequisites)
* [Installation](#installation)
* [Usage](#usage)
* [Roadmap](#roadmap)
* [Contributing](#contributing)
* [License](#license)
* [Contact](#contact)
* [Acknowledgements](#acknowledgements)

## 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

* [[email protected]](https://github.com/espressif/esp-idf/tree/v5.3)
* [M5NanoC6](https://shop.m5stack.com/products/m5stack-nanoc6-dev-kit) or any other ESP32

## Getting Started

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

### Prerequisites

### Installation

1. Clone the repo

```sh
git clone https://github.com/dj1ch/esp32c6-sniffer.git
```

2. Install `esp-idf`: Follow [documentation](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/#installation) and install version 5.3.

3. Set board target

```sh
idf.py set-target
```

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

4. Build the project

```sh
idf.py build
```

5. Flash to your ESP32(replace `PORT` with the port connected to your ESP32)

```sh
idf.py -p PORT flash
```

or you can run

```sh
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](https://github.com/dj1ch/esp32c6-sniffer/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](https://github.com/dj1ch/esp32c6-sniffer)

## Acknowledgements

* [Espressif](https://github.com/espressif/)
* [ESP32 WiFi Sniffing example](https://github.com/lpodkalicki/blog/blob/master/esp32/016_wifi_sniffer/main/main.c)
* [ESP32 Advanced Console example](https://github.com/espressif/esp-idf/tree/v5.3/examples/system/console/advanced)
* [ESP32 Basic Console example](https://github.com/espressif/esp-idf/tree/v5.3/examples/system/console/basic)
* And many more...!