Sistema de descubrimiento, inventariado y análisis de redes locales
Django • MongoDB Atlas • Scapy • Python 3.13
NetScanner es una aplicación web desarrollada para el descubrimiento, clasificación e inventariado de dispositivos conectados a una red local.
La plataforma permite ejecutar escaneos de red, identificar dispositivos activos, registrar información histórica, calcular niveles de riesgo y confianza, visualizar una topología activa de la red y generar exportaciones en distintos formatos.
El proyecto combina capacidades de monitorización, documentación e inventariado dentro de una única interfaz web moderna basada en Django y MongoDB.
| Funcionalidad | Estado |
|---|---|
| Descubrimiento de dispositivos | ✅ |
| Inventario de activos | ✅ |
| Topología Activa | ✅ |
| Historial de Red | ✅ |
| Sistema de confianza | ✅ |
| Sistema de riesgo | ✅ |
| Alertas de seguridad | ✅ |
| Consulta personalizada | ✅ |
| Exportación PDF | ✅ |
| Exportación CSV | ✅ |
| Exportación JSON | ✅ |
| Exportación Excel | ✅ |
| Tema claro / oscuro | ✅ |
- Python 3.13
- Django
- PyMongo
- MongoDB Atlas
- Scapy
- HTML5
- CSS3
- Tailwind CSS
- JavaScript
- Pandas
- OpenPyXL
- XlsxWriter
- ReportLab
- xhtml2pdf
- Npcap
La aplicación utiliza autenticación mediante credenciales de MongoDB Atlas.
Pantalla principal del sistema. Muestra únicamente los dispositivos detectados durante el último escaneo.
Incluye:
- Resumen de activos
- Fabricantes
- Tipos de dispositivo
- Riesgos
- Nivel de confianza
- Topología agrupada por categorías
Tooltip:
- Muestra información detallada sobre cada dispositivo.
- Permite identificar fácilmente los dispositivos activos, inactivos, con riesgo y sin riesgo.
Durante el escaneo se muestra una animación personalizada basada en olas y un tiburón, utilizada como indicador visual del progreso del análisis.
Vista histórica de dispositivos detectados.
Incluye:
- Registros acumulados
- Estadísticas
- Riesgos
- Fechas de detección
- Historial de actividad
Permite gestionar nombres personalizados asociados a cada dirección MAC.
Los nombres definidos por el usuario se reflejan automáticamente en la Topología Activa y en el Historial de Red.
Constructor dinámico de consultas.
Permite:
- Seleccionar campos
- Filtrar información
- Ordenar resultados
- Limitar registros
- Consultar historial, inventario y logs
Permite exportar datos en distintos formatos.
Permite:
- Exportar desde Topología Activa
- Exportar desde Historial de Red
- Exportar desde Inventario
- Exportar desde Logs
Registro histórico de eventos relevantes detectados por el sistema.
Ejemplos:
- Dispositivos nuevos
- Cambios de IP
- Fabricantes desconocidos
- Eventos relevantes de seguridad
Frontend
│
├── Templates Django
├── CSS / Tailwind
└── JavaScript
Views
│
├── Renderizado HTML
└── Endpoints JSON
Services
│
├── Escaneo
├── Clasificación
├── Riesgo
├── Consultas
└── Exportación
Repositories
│
├── Activos
├── Historial
├── Inventario
├── Logs
└── Alertas
MongoDB Atlas
Escanear-de-red/
│
├── app_django/
├── panel/
├── services/
├── repositories/
├── managers/
├── models/
├── config/
│
├── imgs/
│ ├── banner_net_scanner.png
│ ├── inicio_sesion.png
│ ├── topologia_terminada.png
│ ├── topologia_en_proceso.png
│ ├── historial_red.png
│ ├── inventario_nombres_dispositivos.png
│ ├── query_personalizada.png
│ └── alertas.png
│
├── README.md
├── requirements.txt
└── manage.py
git clone <url-del-repositorio>
cd Escanear-de-redpy -3.13 -m venv venv.\venv\Scripts\Activate.ps1pip install -r requirements.txtpython manage.py migratepython manage.py runserverUna vez iniciada la aplicación:
http://127.0.0.1:8000/
La documentación completa del proyecto se encuentra en:
MANUAL_USUARIO.mdMEMORIA_TECNICA.md
Incluyen:
- Guía de instalación
- Configuración
- Manual de uso
- Arquitectura interna
- Base de datos
- Servicios
- Clasificación de dispositivos
- Sistema de riesgo
- Sistema de confianza
Alejandro Donate • Alejandro García • Diego Febles • Diego Rodríguez • Ibrahim Álvarez • Anthony López •
Proyecto desarrollado con fines educativos y de aprendizaje.




