m5stick-wireless-viewer
Pipeline de datos y dashboard para firmwares de hardware hacking WiFi en ESP32.
Fusiona wifi-marauder-viewer y Visualizacion_extendida_M5StickPlus2 sobre una
arquitectura modular: parsers por firmware, fuentes serial/file, store con
historico (SQLite), API web (FastAPI + SSE) y exporter a Splunk HEC.
Estado
v3.0.0 funcional: modelos, parsers, stores, fuentes, colector, dashboard web en
vivo (SSE), export CSV/JSON, CLI unificada y Docker. Seguimiento de fases en
SEGUIMIENTO.md.
Instalacion
pip install . # core + CLI (export offline, sin dependencias web)
pip install .[serial,web,splunk] # completo: serial en vivo + dashboard + Splunk HEC
El paquete crea el comando m5wireless (m5wireless --version).
Uso rapido
# Captura serial en vivo + dashboard web (http://localhost:8000)
m5wireless run
# Leer un log existente (modo offline/file), dashboard en :8000
m5wireless run --source file --log-path scan.log
# Export offline de un log a CSV/JSON
m5wireless export csv --input scan.log --firmware evil_m5project --output out.csv
m5wireless export json --input scan.log --firmware marauder --output out.json
# Guardar el dashboard HTML periodicamente (legacy auto_save_html)
m5wireless snapshot --url http://localhost:8000 --interval 60 --dir snapshots
Configuracion: CLI > variables de entorno M5W_* > fichero m5wireless.toml
(./ o ~/.config/m5wireless/). Ejemplo de toml:
[run]
source = "file"
log_path = "scan.log"
firmware = "auto"
web_port = 8000
[splunk]
url = "https://splunk:8088/services/collector/event"
token = "..."
verify_ssl = true
Splunk HEC
Se activa automaticamente cuando hay URL y token configurados (M5W_SPLUNK_HEC_URL
y M5W_SPLUNK_HEC_TOKEN, o la seccion [splunk] del toml); el colector reenvia
cada evento sin accion manual. Robustez: envio por lotes, cola en memoria con
spool a disco opcional (max_queue_size/spool_path) y circuit breaker tras fallos
consecutivos. verify=True por defecto; desactivar la verificacion TLS es solo
vía configuracion explicita (verify_ssl = false).
Docker (modo file por defecto)
docker compose up -d m5wireless # dashboard en http://localhost:8000
docker compose --profile splunk up -d # con Splunk para pruebas HEC
La captura serial en vivo se recomienda como host nativo (USB); el log lo aporta
el volumen ./data (/data/scan.log).
Firmwares soportados
| Firmware | Estado |
|---|---|
| WiFi Marauder (M5StickC/ESP32) | Implementado |
| Evil-M5Project (M5Stick Plus 2) | Implementado |
| WiFi Duck, Hash Monster, PacketMonitor | Stubs documentados, pendiente de fixtures reales |
Desarrollo
python -m venv .venv
.venv/Scripts/python -m pip install -e ".[dev]" # Windows
# o: source .venv/bin/activate && pip install -e ".[dev]" # Linux/macOS
.venv/Scripts/python -m pytest
.venv/Scripts/python -m ruff check src tests
.venv/Scripts/python -m mypy src/m5wireless --strict
Licencia
MIT. Ver AUTHORS.md para creditos de los proyectos originales.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file m5stick_wireless_viewer-3.0.0.tar.gz.
File metadata
- Download URL: m5stick_wireless_viewer-3.0.0.tar.gz
- Upload date:
- Size: 59.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.12.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0a66a8a04f4975b8fd408b8dc3e2d600f5abea25846890fc1406075b8f5c02a0
|
|
| MD5 |
db62d76b45c3b121710f2446e374aedd
|
|
| BLAKE2b-256 |
88fc8fdcd9084d77b2de88410c4f7e59a7b679ffb5cd0187b114c50d14bd53a4
|
File details
Details for the file m5stick_wireless_viewer-3.0.0-py3-none-any.whl.
File metadata
- Download URL: m5stick_wireless_viewer-3.0.0-py3-none-any.whl
- Upload date:
- Size: 47.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.12.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
948736a5aaf0ff620eaa68e8d859d9064fc91c4499ca4f0a6a0f99bf4053816a
|
|
| MD5 |
f7699085b604bfcf8c8d050aae63d0f2
|
|
| BLAKE2b-256 |
04118670a7c46db598bfc8636ffb05cdeb9465c89404ba8e192c7a32bbb2bc13
|