Escáner de Red Local
Una interfaz gráfica Tkinter que escanea una red IPv4 local (ARP + sondeo con nmap), muestra dispositivos, permite ejecutar escaneos de puertos completos y exportar resultados.
Resumen rápido
- Escaneo ARP para descubrir dispositivos en la LAN.
- Sondeos mejorados de nmap para nombre de host, fabricante, puertos abiertos, estimación de SO y latencia.
- Botón de puerto completo ejecuta un escaneo intensivo de nmap para un dispositivo seleccionado.
- Puntuación de riesgo inteligente (Baja/Media/Alta/Crítica) basada en puertos abiertos detectados.
- Estadísticas del panel en tiempo real (dispositivos totales, hosts con puertos abiertos, hosts de alto riesgo, latencia promedio).
- Filtrado/búsqueda en vivo y columnas de tabla ordenables para un triaje más rápido.
- Re-escaneo seleccionado, copiar IP e información de red (IP local/pública + detalles de plataforma).
- Exportar resultados a CSV o JSON.
Requisitos
- Windows 10/11 (probado)
- Python 3.9+ (3.10+ recomendado)
- Nmap instalado y en PATH (descargar de https://nmap.org/)
- Npcap instalado (requerido por scapy en Windows) — elige 'Modo compatible con WinPcap' si se ofrece
- Ejecutar el script con privilegios de Administrador para funcionalidad completa (ARP, sockets raw, algunas características de nmap)
Paquetes Python (instalar mediante requirements.txt):
- scapy
- python-nmap
- tqdm
- requests
Instalación
- Abre PowerShell (recomendado: ejecutar como Administrador por conveniencia)
- Crea y activa un entorno virtual (opcional pero recomendado)
- python -m venv .venv
- ..venv\Scripts\Activate.ps1
- Instala los paquetes
- pip install -r requirements.txt
Asegúrate de que nmap.exe esté instalado y disponible en PATH (ejecuta nmap --version para verificar).
Ejecutar la GUI
Recomendado (Windows):
- Haz clic derecho en Visual Studio Code y elige 'Ejecutar como administrador', abre el proyecto, presiona F5 para depurar o Ejecutar.
- O abre un PowerShell como Administrador y ejecuta:
Notas:
- El programa solicitará elevación al inicio (ShellExecute). Si ejecutas desde VS Code, inicia VS Code como administrador para que el depurador integrado se inicie correctamente con privilegios.
- Si la GUI no aparece después de aceptar la solicitud de UAC, ejecuta el script directamente desde un PowerShell elevado para verificar.
Configuración de VS Code
Si deseas una configuración de depuración, agrega .vscode/launch.json (ejemplo):
{
"version": "0.2.0",
"configurations": [
{
"name": "Network Scanner (Admin)",
"type": "debugpy",
"request": "launch",
"program": "${workspaceFolder}/app.py",
"console": "integratedTerminal",
"args": []
}
]
}
Importante: En Windows es más sencillo ejecutar VS Code como Administrador (clic derecho → Ejecutar como administrador) antes de iniciar la configuración de depuración.
Uso de la GUI
- La entrada de rango IP acepta:
- CIDR:
192.168.1.0/24
- IP única:
192.168.1.10
- Rangos con guion:
192.168.1.1-254 o 192.168.1.10-192.168.1.20
- Comodín:
192.168.1.*
- Lista separada por comas:
192.168.1.1,192.168.1.5,192.168.1.100
- Botones:
- Iniciar escaneo — descubrimiento ARP + sondeos ligeros
- Escaneo de puerto completo — selecciona una fila, haz clic para ejecutar un escaneo intensivo de nmap en esa IP
- Reescanear seleccionado — actualiza detalles solo para el host actualmente seleccionado
- Copiar IP — copia la IP del host seleccionado al portapapeles
- Información de red — imprime metadatos de red local/pública en el panel de registro
- Detener — solicita detener el escaneo
- Exportar CSV / Guardar JSON — guarda la información del dispositivo recopilada
- Salir — cerrar la aplicación
- Filtra dispositivos en tiempo real (buscar por IP, nombre de host, fabricante, SO o riesgo) y opcionalmente muestra solo hosts con puertos abiertos.
- Haz clic en los encabezados de columna para ordenar filas.
- Haz clic en una fila de dispositivo para mostrar un resumen fácil de usar más datos estructurados sin procesar en el panel inferior. Puedes hacer clic en líneas del registro para seleccionar automáticamente dispositivos si hay una IP presente.
Comportamiento y límites
- El escaneo ARP funciona solo en el segmento Ethernet/LAN local.
- Los escaneos de puertos completos y la detección de SO pueden requerir privilegios de administrador y pueden llevar varios minutos por host.
- La expansión de guiones/comodines incluye límites para evitar escaneos enormes accidentales (defensivo).
- Nmap debe instalarse por separado — python-nmap es solo un envoltorio.
Solución de problemas
- Si aparece el diálogo UAC de "aceptar administrador" pero no se abre la GUI:
- Asegúrate de que VS Code se inició como administrador (preferido) o ejecuta el script en un PowerShell como Administrador.
- Verifica que
nmap --version funcione desde el mismo entorno.
- Si usas el depurador, ejecuta la sesión de depuración desde una instancia elevada de VS Code.
- Si scapy falla en Windows: verifica que Npcap esté instalado y que tu entorno virtual use el mismo intérprete de Python.
Seguridad y legal
Escanea únicamente redes y dispositivos que poseas o para los que tengas permiso explícito de prueba. El escaneo no autorizado puede ser ilegal y perturbador.
Hoja de ruta
Mejoras del Escáner
Interfaz
Funcionalidades de Seguridad