Network Scanner Pro es una aplicación de escritorio desarrollada en Tkinter que permite:
- Escanear subredes IP automáticamente.
- Detectar puertos abiertos.
- Probar credenciales SSH y RDP en hosts activos.
- Exportar resultados por categoría.
| Característica | Descripción |
|---|---|
| Escaneo de subredes | Detecta IPs activas automáticamente desde archivos de entrada. |
| Pruebas de acceso SSH | Usa asyncssh para probar credenciales en el puerto 22. |
| Pruebas de acceso RDP | Usa xfreerdp para automatizar autenticaciones por RDP (puerto 3389). |
| Fuerza bruta controlada | Proceso batch de usuarios/contraseñas configurable por el usuario. |
| Parámetros configurables | Timeout, hilos, intentos, puertos, escaneo completo o parcial. |
| Exportación de resultados | Archivos de salida categorizados: IPs activas, puertos, SSH, RDP. |
| Interfaz de usuario (GUI) | Control visual del proceso, progreso en tiempo real, pestañas de resultados. |
-
Autenticación Inicial:
- Acceso protegido mediante login simple.
- Interfaz principal desbloqueada tras autenticación exitosa.
-
Carga de Datos:
- Carga listas de IPs y credenciales desde archivos externos (
ip.txt,creds.txt).
- Carga listas de IPs y credenciales desde archivos externos (
-
Configuración:
- Número de hilos.
- Timeout de escaneo.
- Puerto RDP.
- Modo de escaneo (rápido, estándar, completo).
-
Escaneo:
- Búsqueda de IPs activas mediante puertos comunes.
- Escaneo de puertos conocidos o rango completo (1-65535).
- Pruebas SSH (vía
asyncssh) y RDP (víaxfreerdp).
-
Resultados:
- Registro visual en tabs separados: IPs, puertos, conexiones SSH/RDP.
- Estadísticas y progreso visual en tiempo real.
- Exportación de datos.
graph TD
A[Inicio GUI] --> B[Login de Usuario]
B -->|Correcto| C[Pantalla Principal]
C --> D[Cargar archivos IP y Credenciales]
D --> E[Configurar parámetros de escaneo]
E --> F[Iniciar escaneo]
F --> G[Escaneo de IPs activas]
G --> H[Escaneo de puertos abiertos]
H --> I[Test SSH/RDP]
I --> J[Mostrar resultados]
J --> K[Exportar resultados]
K --> L[Fin]
- Paralelismo: Usa
asyncio+threadingpara maximizar la concurrencia de tareas. - Rendimiento escalable: Ajuste dinámico del tamaño de lote y tareas pendientes.
- Batching: Credenciales se prueban en bloques para minimizar latencia.
- Configuración guardada: Persistencia vía
config.cfgpara sesiones futuras.
| Modo | IPs analizadas | Tiempo aprox. |
|---|---|---|
| Rápido | 512 | ~15 seg |
| Estándar | 1024 | ~1 min |
| Completo | 1024 con full scan | ~4-5 min |
- Las credenciales se pueden cifrar utilizando
Fernet(clave generada ensecret.key). - Los datos ingresados no se transmiten fuera del entorno local.