proyecto in 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.

PythonHTMLFlaskInfoSec

💡 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 de Python que utilizaba subprocesamiento y sockets para escanear puertos TCP. Si bien es efectivo, existe margen para mejorar utilizando paquetes de terceros.

En este proyecto, mejoraremos nuestro escáner de puertos integrando la biblioteca python-nmap, ofreciendo capacidades de escaneo más robustas. Además, construiremos una aplicación web utilizando Flask para proporcionar una interfaz de usuario amigable para nuestro escáner. Este proyecto paso a paso lo guiará a través del proceso, asegurándose de que puedas seguir y construir sobre tus conocimientos existentes.

👀 Vista previa

🎯 Tareas

En este proyecto, aprenderás:

  • Cómo configurar un proyecto de Flask y organizar su estructura
  • Cómo utilizar Flask-WTF para crear y manejar formularios web de manera segura
  • Cómo implementar rutas de Flask para manejar solicitudes y envíos de páginas web
  • Cómo utilizar la biblioteca Nmap en Python para realizar escanos de puertos
  • Cómo mostrar los resultados del escaneo dinámicamente en una página web utilizando Flask y plantillas HTML
  • Cómo aplicar CSS básico de Tailwind para mejorar el diseño de la interfaz de usuario

🏆 Logros

Después de completar este proyecto, serás capaz de:

  • Demostrar un conocimiento básico del desarrollo web con Flask, incluyendo enrutamiento, renderizado de plantillas y manejo de formularios
  • Aplicar experiencia práctica en la integración de scripts de Python con interfaces web
  • Exhibir habilidad en el uso de la biblioteca Nmap para tareas de escaneo de red
  • Utilizar Flask-WTF para la creación y validación de formularios en una aplicación web
  • Mostrar familiaridad con el uso de CSS de Tailwind para dar estilo a páginas web y mejorar el diseño de la interfaz de usuario
  • Crear una aplicación web funcional que interactúe con scripts de Python de backend para realizar escanos de red

Profesor

labby

Labby

Labby is the LabEx teacher.