Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
esp32-sniffer — Firmware para ESP32 que captura paquetes PROBE REQUEST enviados por teléfonos inteligentes en busca de conexión Wi-Fi para extraer distintos tipos de información | Kitploit
Herramientas/GitHubGitHub/ets-polito/esp32-sniffer
Seguridad de Sistemas EmbebidosSniffing y Análisis de PaquetesReconocimientoAuditoría Wi-FiSeguridad IoTRecopilación de InformaciónSeguridad InalámbricaSeguridad de Hardware e IoT
GitHubets-polito/esp32-sniffer

esp32-sniffer

Firmware para ESP32 que captura paquetes PROBE REQUEST enviados por teléfonos inteligentes en busca de conexión Wi-Fi para extraer distintos tipos de información

3284054hace 2 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Ver RepositorioSitio web

ESP32 Sniffer

ETS

Software License Demo Twitter

Este proyecto utiliza Espressif IoT Development Framework (ESP-IDF) y ha sido probado en el módulo ESP-WROOM-32 y esp-idf v3.2.

Puede encontrar una descripción general del proyecto completo (es decir, el firmware del ESP32, el servidor y la GUI) aquí.

Este firmware está escrito con el propósito de capturar paquetes Probe Request enviados por teléfonos inteligentes que buscan una conexión Wi-Fi. Cuando la conexión Wi-Fi está activa en un teléfono inteligente, este enviará en difusión (en todas las frecuencias de canales) un mensaje probe request preguntando si hay alguna Wi-Fi libre o alguna conocida (es decir, el teléfono inteligente conoce la contraseña de esa Wi-Fi). El ESP32 lo capturará y extraerá diferentes tipos de información.

La siguiente información se obtiene de cada paquete capturado:

  • MAC del teléfono inteligente que ha enviado la solicitud
  • SSID de la wifi a la que se envía la solicitud
  • La marca de tiempo de cuándo se envió la solicitud
  • Indicador de intensidad de señal recibida (RSSI)
  • Número de secuencia (SN)
  • Información de capacidades HT

Después de cada minuto, esta información se envía a un servidor y se procesa. Finalmente, es posible ver la información procesada (ubicación en tiempo real del teléfono inteligente, frecuencia del teléfono inteligente, etc.) a través de una GUI.

Demo

Watch the video

Tabla de contenidos

  • Descripción general del firmware
  • Configuración del entorno ESP-IDF
  • Uso
  • Configuración de archivos
    • Configuración de variables
    • Añadir menú personalizado
  • Componentes
  • Recursos

Descripción general del firmware

El firmware consta de dos hilos/tareas principales:

  • Tarea Sniffer

    • Captura el paquete Probe Request y guarda la información descrita anteriormente en un archivo.
  • Tarea Wi-Fi

    • Cada minuto, toma la información guardada por la Tarea Sniffer y la envía al servidor.
    • Se utiliza un lock para gestionar la sección crítica de las operaciones de E/S en el archivo.

El ESP32 está configurado en modo WIFI_MODE_APSTA: es decir, crea "soft-AP and station control block" e inicia "soft-AP and station". Gracias a esto, el ESP32 es capaz de capturar y enviar información al servidor al mismo tiempo, evitando perder información de paquetes mientras envía datos.

Aquí está la lista completa de campos de información que pueden estar en un Probe Request (fuente IEEE 802.11-2012):

cwap-probe-10

Y a continuación un paquete capturado con Wireshark en el que puede ver, para cada campo, el número de bits y su posición dentro del paquete:

cwap-probe-03

Configuración del entorno ESP-IDF

Esta sección puede estar desactualizada; consulte el sitio oficial para obtener más información y la guía más reciente sobre cómo empezar con ESP-IDF.

  1. Configurar el Toolchain

    • Windows
    • Linux
    • Mac OS
  2. Obtener ESP-IDF

    Además del toolchain (que contiene los programas para compilar y construir la aplicación), también necesitas las API / librerías específicas de ESP32.

    cd ~/esp
    git clone --recursive https://github.com/espressif/esp-idf.git
     
    
  3. Cambiar a la versión v3.x

    cd esp-idf
    git checkout release/v3.2
     
    
  4. Configurar la ruta a ESP-IDF

    Los programas del toolchain acceden a ESP-IDF mediante la variable de entorno IDF_PATH. Esta variable debe configurarse en tu PC; de lo contrario, los proyectos no se compilarán.

    • Windows
    • Linux & Mac OS
  5. Instalar los paquetes de Python necesarios

    python -m pip install --user -r $IDF_PATH/requirements.txt
    

Uso

  1. Asegúrate de haber exportado la ruta

    export IDF_PATH=~/esp/esp-idf
    export PATH=$PATH:$HOME/esp/xtensa-esp32-elf/bin
    
  2. Clonar el repositorio

    git clone https://github.com/ETS-PoliTO/esp32-sniffer.git
    cd esp32-sniffer
    
  3. Establecer la conexión serie entre el ESP32 y tu PC

    make menuconfig
    

    Ve a Serial flasher config, luego a Default serial port y establece el puerto en el que está conectado el ESP32

    Ten en cuenta que, si estás usando un puente, probablemente necesites descargar algún controlador:

    • CP210x
    • FTDI

    Esto proporciona una guía sobre cómo establecer la conexión serie entre el ESP32 y el PC.

  4. Compilar el código y flashear el ESP32

    make all && make flash
    
  5. Ver los registros

    make monitor
    

Configuración de archivos

El archivo /main/Kconfig.projbuild contiene dos menús diferentes:

  • SPIFFS (SPI Flash File System)

    Contiene información importante sobre la partición SPIFFS:

    • Dirección base de SPIFFS
    • Tamaño de SPIFFS
    • Tamaño de bloque lógico de SPIFFS
    • Tamaño de página lógico de SPIFFS

    SPIFFS es un sistema de archivos que admite wear leveling, comprobaciones de consistencia del sistema de archivos y más.

  • Configuraciones

    Contiene diferentes variables:

    • ESP32_ID: ID del ESP32
    • WIFI_SSID: SSID del WiFi (nombre de la red)
    • WIFI_PASS: contraseña del WiFi (WPA o WPA2)
    • BROKER_ADDR: IP del broker MQTT
    • BROKER_PSW: contraseña del broker MQTT
    • BROKER_PORT: puerto del broker MQTT
    • CHANNEL: canal en el que el ESP32 capturará PROBE REQUEST
    • SNIFFING_TIME: tiempo de captura
    • etc...

Configuración de variables

Para configurar las variables anteriores:

Descargar herramienta