November 9, 2025

Monere

Caca

🛰️ Explorando y comprendiendo tu red local desde el navegador

Monere es una aplicación web desarrollada en Python y FastAPI que permite analizar, visualizar y comprender el tráfico de tu red local (LAN) de manera sencilla e interactiva.

Desde una interfaz moderna y ligera, podrás descubrir todos los dispositivos conectados a tu red, analizar sus puertos abiertos mediante Nmap y hasta sniffar tráfico en tiempo real con Tcpdump.
Todo esto, ejecutándose dentro de un contenedor Docker perfectamente aislado y listo para desplegarse en cualquier equipo conectado a tu red.

Monere está diseñado para administradores, estudiantes o entusiastas de la ciberseguridad que deseen explorar su red sin complicadas configuraciones de terminal.


⚙️ Creación y modificación de redes

El primer paso de Monere es crear la red que se va a escanear. Esto es tan simple como introducir un nombre para la red y el rango CIDR de la misma.

Una vez creado tu objetivo, puedes modificar los datos introducidos o borrar la red misma.

ATENCION: borrar la red implica perder toda la información de los hosts asociados a ella.

Captura de la vista de escaneo de red


🧭 Descubriendo dispositivos en la red

Una vez tienes tu red configurada, es hora de identificar qué dispositivos están activos en tu red. Para ello, Monere realiza un escaneo ARP en el background sobre la interfaz de red activa, almacenando cada dispositivo descubierto junto a su dirección IP, fecha del escaneo y, si es posible, su dirección MAC.

Adicionalmente, Monere permite la posibilidad de realizar un barrido ICMP (ping sweep) sobre red, permitiendo obtener información sobre hosts que no contestan a las peticiones ARP. Los hosts detectados mediante este método son almacenados de la misma manera que los descubiertos con ARP.

Captura de la vista de escaneo de red


🔍 Identificación por MAC y base de datos OUI

Una de las funcionalidades más interesantes es la identificación del fabricante de cada dispositivo.
Monere utiliza un archivo local oui.json (derivado de la base de datos IEEE OUI) para traducir los primeros bytes de la MAC en el nombre del proveedor o fabricante.

Así, por ejemplo:

Dirección MACFabricante
44:65:0D:3A:91:FETP-Link Technologies
E4:5F:01:8A:72:11Apple, Inc.
A8:BB:CF:00:14:7CXiaomi Communications

Esto te permite identificar rápidamente qué tipo de dispositivos hay conectados: routers, cámaras IP, móviles, portátiles, etc.


⚡ Escaneo de puertos con Nmap

Una vez identificados los dispositivos, Monere permite lanzar un escaneo de puertos sobre cualquier host seleccionado.
Este proceso se ejecuta de forma asíncrona, utilizando Nmap para detectar los servicios activos y su estado.

Captura del escaneo de puertos en host.html

Durante el escaneo, se consulta el estado de cada puerto y se muestra en la interfaz de detalle del host.
Los resultados pueden incluir, por ejemplo:

PuertoServicioEstado
22SSHAbierto
80HTTPAbierto
139NetBIOSCerrado
445SMBCerrado

Esta información es extremadamente útil para auditar dispositivos domésticos o comprobar la exposición de servicios internos.


📡 Sniffing de tráfico en tiempo real

Otra de las funcionalidades más potentes es la capacidad de sniffar paquetes en tiempo real.
A través del famoso paquete Tcpdump, Monere puede capturar y analizar el tráfico que circula por la interfaz de red del contenedor.

Captura del sniffer en ejecución

Este sistema permite observar:

  • Conexiones TCP y UDP
  • Orígenes y destinos de los paquetes
  • Protocolos utilizados

Los resultados pueden visualizarse desde la propia interfaz web, mostrando en tiempo real los paquetes detectados.

🧠 Importante: para capturar tráfico, el contenedor de Docker debe estar configurado en modo host, permitiendo el acceso directo a la interfaz de red del sistema.


💾 Persistencia de datos

Monere guarda toda la información en formato JSON dentro del directorio /data.
Esto incluye:

  • Redes escaneadas (networks.json)
  • Dispositivos detectados con su información personal (devices_[NETWORK_ID].json)

Gracias a esto, al reiniciar el contenedor o la aplicación, tus datos no se pierden y puedes continuar desde donde lo dejaste.


🖥️ Interfaz web moderna

Toda la aplicación se ejecuta a través de una interfaz construida con Jinja2 y TailwindCSS, diseñada para ser rápida, clara y usable.
El flujo de navegación se organiza en tres vistas principales:

  1. Index — Vista general y escaneo principal de red
  2. Networks — Listado y creación de redes escaneadas
  3. Host — Detalle de cada dispositivo y acciones realizables

Cada acción se realiza sin necesidad de recargar la página completa, gracias a las peticiones asíncronas al backend FastAPI.


🐳 Ejecución en Docker

Monere se distribuye mediante Docker, lo que permite ejecutarla en cualquier sistema compatible sin necesidad de instalar dependencias manualmente.

Para desplegarla, basta con clonar el repositorio y ejecutar:

sudo docker compose up -d

Una vez iniciado, podrás acceder desde tu navegador a:

http://localhost:8000

O bien, desde otro dispositivo de la red local:

http://<IP-de-tu-equipo>:8000


🔒 Consideraciones de seguridad

  • Monere no envía datos fuera de tu red, todo el procesamiento ocurre localmente.
  • Requiere privilegios elevados (root) únicamente para ejecutar operaciones de red avanzadas (ping, ARP, sniffing).
  • Se recomienda usarla exclusivamente en entornos bajo tu control.

⚙️ Tecnologías utilizadas

ComponenteTecnología
BackendFastAPI
FrontendJinja2 + Tailwind CSS
NetworkingScapy, Nmap (python-nmap), netifaces
SniffingTcpdump
AlmacenamientoJSON files (networks.json, devices_[ID].json)
DespliegueDocker & Docker Compose
LenguajePython 3.11+

🧩 Conclusión

Monere combina la potencia de las herramientas de análisis de red clásicas con la comodidad de una interfaz web moderna y portable. Su arquitectura modular y contenedorizada permite ejecutar auditorías de red locales de forma rápida, visual y sin complejas configuraciones.

🚀 En pocas palabras, Monere convierte la exploración de tu red en una experiencia accesible, educativa y visualmente atractiva.