Ir al contenido principal

EVORIX - Nmap Learning Lab

 Simulador interactivo para aprender Nmap desde cero


Nmap Learning Lab es un simulador web interactivo para aprender los fundamentos de Nmap sin ejecutar escaneos reales. Incluye lecciones guiadas, escenarios de práctica, exámenes, sistema de progreso y logros, todo con interfaz tipo terminal hacker. Desarrollado con React, TypeScript, Vite y desplegado en GitHub Pages.





¿Qué es Nmap Learning Lab?

Es una aplicación web tipo “laboratorio virtual” donde el usuario puede aprender los conceptos básicos de Nmap de forma guiada, segura y gamificada.
No ejecuta Nmap real: funciona como simulador educativo para entender comandos, sintaxis y escenarios típicos de ciberseguridad.

La app está organizada en:

  • Dashboard: resumen de progreso, lecciones completadas, escenarios y exámenes.

  • Aprender: lecciones teóricas sobre Nmap, sintaxis básica, tipos de escaneo, banderas, etc.

  • Practicar: escenarios tipo “casos reales” donde el usuario interpreta salidas simuladas de Nmap.

  • Exámenes: evaluaciones de nivel básico e intermedio.

  • Logros: sistema de “achievements” que reconoce el avance del estudiante.

  • Acerca de: explicación del propósito del proyecto y uso ético.


Tecnologías utilizadas

Frontend

  • React + TypeScript (componentes reutilizables y tipados estrictos)

  • Vite (bundler rápido para desarrollo y build)

  • Tailwind CSS (estilos en modo dark / terminal verde)

  • React Router (navegación entre Dashboard, lecciones, exámenes, etc.)

Herramientas de desarrollo

  • Git + GitHub (control de versiones)

  • GitHub Pages (deploy estático del sitio)

  • Node.js + npm (manejo de dependencias y scripts de build)


Cómo se construyó (flujo técnico)

  1. Inicialización del proyecto

    • Creación de app con Vite + React + TypeScript.

    • Configuración de Tailwind para el tema oscuro tipo terminal.

  2. Arquitectura de la app

    • Páginas principales: Dashboard, Learn, Practice, Exams, Achievements, About.

    • Componentes reutilizables para tarjetas de progreso, logros, paneles y layout.

  3. Lógica de aprendizaje

    • Configuración de lecciones y escenarios mediante objetos en TypeScript.

    • Sistema de exámenes con preguntas, respuestas y feedback inmediato.

    • Cálculo de progreso general (lecciones, escenarios, exámenes).

  4. Gamificación

    • Definición de logros (completar todas las lecciones, pasar exámenes, etc.).

    • Resumen visual del progreso en el Dashboard y sección de Logros.

  5. Deploy

    • Configuración de vite.config.ts con base: '/nmap-learn/' y outDir: 'docs'.

    • Build con npm run build.

    • Deploy en GitHub Pages usando la carpeta docs/ desde la rama main.


Qué aprendí con este proyecto

  • Frontend serio con React + TypeScript
    Tipar componentes, props y lógica de estado para evitar errores y tener un código más mantenible.

  • Organización de un proyecto educativo
    Convertir contenido técnico (Nmap) en lecciones, preguntas, escenarios y logros claros para principiantes.

  • Uso real de Git y GitHub
    Inicializar repositorio, hacer commits limpios, configurar remoto y subir cambios de forma ordenada.

  • Deploy profesional con GitHub Pages
    Entender cómo funciona el build de Vite, configurar rutas (base) y servir el proyecto como sitio estático.

  • Manejo de errores y configuración del entorno
    Resolver problemas con Node, npm, políticas de PowerShell, TypeScript estricto y configuración de Vite.


Pendientes y mejoras futuras 

🔹 Base de datos / backend ligero

  • Persistir:

    • Progreso del usuario

    • Lecciones completadas

    • Exámenes aprobados

    • Logros desbloqueados

  • Posibles opciones:

    • Firebase / Supabase (BaaS rápido)

    • API propia sencilla con Node + Express + alguna DB (PostgreSQL, MongoDB, etc.)

    • Autenticación básica para que cada usuario tenga su perfil de avances.

🔹 Panel de administración

  • Sección para agregar nuevas lecciones, preguntas y escenarios sin tocar código.

🔹 Modo “laboratorio avanzado”

  • Integrar, a futuro, ejemplos reales controlados (capturas, salidas reales de Nmap) sin ejecutar Nmap en el navegador.




-


-

Comentarios

Entradas más populares de este blog

Introduccion al Desarrollo Web

 Introduccion al Desarrollo Web I Este curso de Google Actívate me abrió la puerta al mundo del desarrollo web moderno, entendiendo la evolución del HTML y cómo combinarlo con CSS y JavaScript para construir sitios dinámicos. Aprendí que cada sitio web es como una obra en constante evolución: el HTML define la base, el CSS da identidad y el JavaScript aporta interactividad. La clave está en usarlos juntos para crear experiencias que realmente funcionan y se sienten fluidas. Gracias a este curso he podido publicar varios sitios web propios y para terceros, cada vez mejorando su calidad, diseño y actualizaciones. Fue el punto de partida para volverme visible en la web y cimentar mi presencia digital con EVORIX.COM.MX

Cursor con Python – Desarrollo Inteligente con IA

Cursor con Python — Desarrollo Inteligente con IA Este curso fue una de las piezas más importantes en mi transición hacia el desarrollo moderno asistido por inteligencia artificial. Aquí no solo aprendí Python; entendí cómo se construye software hoy… y cómo va a construirse en los próximos años. El enfoque del curso fue totalmente práctico: usar Cursor , un editor de código basado en VS Code pero optimizado con IA para escribir, analizar y mejorar programas en tiempo real. A lo largo de 8 horas divididas en 2 módulos, exploré una forma completamente nueva de programar: más rápida, más guiada, más limpia y sobre todo más estratégica. Entre los conocimientos clave que adquirí están: Fundamentos sólidos de Python , aplicados directamente en proyectos reales sin perder tiempo en teoría abstracta. Trabajo con entornos inteligentes , usando chat integrado, autocompletado semántico y generación de funciones completas basadas en intención. Buenas prácticas de desarrollo , como estructu...
Visita mi página evorix.com.mx