Python es un lenguaje muy versátil que permite trabajar con redes utilizando librerías integradas como socket.
En este proyecto desarrollé un escáner de puertos que permite identificar qué puertos están abiertos en una dirección IP específica y, si es posible, capturar el banner del servicio que está corriendo en ese puerto.
En este proyecto desarrollé un script llamado scanner.py que:
- Escanea un rango de puertos definido por el usuario.
- Verifica cuáles puertos están abiertos.
- Intenta capturar el banner del servicio activo.
- Muestra los resultados en consola.
El escaneo se realiza usando sockets TCP (AF_INET, SOCK_STREAM) y la función connect_ex() para verificar la conexión.
- Comprender cómo funcionan las conexiones TCP.
- Aprender a utilizar la librería
socketen Python. - Entender el concepto de puertos abiertos y servicios en red.
- Aplicar conceptos básicos de ciberseguridad y redes.
- Tener instalado Python 3.
- No se necesitan librerías externas.
- Clona el repositorio:
git clone https://github.com/KamVilchis/python-port-scanner.git- Entra a la carpeta del proyecto:
cd ~/python-port-scanner- Abre
scanner.pyy modifica las variables para ajustarlas a tus necesidades:
- ip_objetivo → Cambia la IP del host que deseas escanear.
- puerto_inicio y puerto_fin → Define el rango de puertos que quieres escanear.
- Ejecuta el script:
python scanner.py[+] Puerto 21: ABIERTO
↳ Banner: 220 (vsFTPd 2.3.4)
[+] Puerto 22: ABIERTO
↳ Banner: SSH-2.0-OpenSSH_4.7p1 Debian-8ubuntu1Este proyecto fue desarrollado con fines educativos.
Debe utilizarse únicamente en redes y sistemas donde tengas autorización para realizar pruebas.