Skip to content

indoor-analytics/esp_wifi_sniffer

Repository files navigation

ESP32 Wi-Fi sniffer

This project aims at listening to Wi-Fi packets traffic.

Prerequisites

Run project

## Build
idf.py build

## Flash 
idf.py -p PORT flash

## Monitor
idf.py -p PORT monitor

You can also execute all above commands at once: idf.py build flash monitor

Miscs

## Clean build folder
idf.py fullclean

## Set target
idf.py set-target esp32s3

## Configure board features
idf.py menuconfig

How to use

The esp32 can be set in 2 modes: wifi sniffer or FTP server. The mode can be switched using GPIO9. Moreover, the blinking led color depends on the current mode, see :

GPIO state ESP32 mode led blink color
High (default) FTP server red
GND Wifi sniffer green
High or GND boot / setup blue

Note that GPIO9 is defined as a PULL_UP. Therefore, undefined state will be a HIGH state. Therefore, you can plug a toggle button bridging GPIO 9 and GND to easily switch between modes.

Wifi sniffer

Wifi sniffer mode will log the rssi values of any AP point which ssid is formatted as ESP32_AP%d. Be aware that flashing code to the esp32 will erase all your logs. However, powering down the chip is safe.

FTP server

The ftp server mode will allow you to retrieve your logs. The esp32 will therefore be visible as an AP in this mode. To connect to the FTP server, use the following credentials:

AP ssid: ESP_FTP_SERVER
AP password: ftp_server_ap_password_esp32_
FTP user: ftp_user
FTP password: ftp_server_password_esp32_

These credentials can be defined in main/ftp_server_config.h

Locally, you can retrieve your logs using the ftp_client.sh script. Note that it requires you to be connected to the ESP AP point. You may also have to change the IP address set in the script.

About

This project aims at listening to Wi-Fi packets traffic.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages