proyecto en Python Skill Tree

Construir un escaner de puertos TCP basado en la web

Principiante

Este proyecto proporciona pasos detallados para construir una herramienta que toma como entrada un host y un rango de puertos, realiza un escaneo con Nmap y muestra los resultados en una página web a través de scripting en Python y plantillas HTML.

cybersecuritynmaplinux

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En el proyecto anterior, desarrollamos un escáner de puertos en Python que utilizaba hilos y sockets para escanear puertos TCP. Aunque es efectivo, existe un gran potencial de mejora si aprovechamos paquetes de terceros.

En este proyecto, potenciaremos nuestro escáner integrando la librería python-nmap, lo que nos permitirá ofrecer capacidades de escaneo mucho más robustas. Además, construiremos una aplicación web con Flask para proporcionar una interfaz de usuario intuitiva y accesible. Este proyecto guiado paso a paso te permitirá avanzar sobre tus conocimientos previos de manera fluida.

👀 Vista Previa

🎯 Tareas

En este proyecto, aprenderás:

  • Cómo configurar un proyecto Flask y organizar su estructura de directorios.
  • Cómo utilizar Flask-WTF para crear y gestionar formularios web de forma segura.
  • Cómo implementar rutas en Flask para manejar peticiones de páginas y envíos de datos.
  • Cómo utilizar la librería Nmap en Python para realizar escaneos de puertos profesionales.
  • Cómo mostrar los resultados del escaneo de forma dinámica en una página web usando Flask y plantillas HTML.
  • Cómo aplicar Tailwind CSS básico para mejorar el diseño de la interfaz de usuario.

🏆 Logros

Al finalizar este proyecto, serás capaz de:

  • Demostrar una comprensión fundamental del desarrollo web con Flask, incluyendo el enrutamiento, el renderizado de plantillas y el manejo de formularios.
  • Aplicar experiencia práctica en la integración de scripts de Python con interfaces web.
  • Mostrar competencia en el uso de la librería Nmap para tareas de auditoría de red.
  • Utilizar Flask-WTF para la creación y validación de formularios en una aplicación web.
  • Utilizar Tailwind CSS para dar estilo a páginas web y mejorar el diseño de la experiencia de usuario.
  • Crear una aplicación web funcional que interactúe con scripts de Python en el backend para realizar escaneos de red en tiempo real.

Profesor

labby
Labby
Labby is the LabEx teacher.