See your network, own your security.
NEDScanner es una aplicación GUI desarrollada con PyQt6 para la detección y visualización de redes en sistemas Linux, siguiendo una arquitectura hexagonal que reutiliza herramientas existentes como Nmap, NetworkManager y Scapy.
- Escaneo de redes Wi-Fi: Detecta y muestra información detallada de redes inalámbricas.
- Escaneo de red con Nmap: Realiza escaneos de puertos y servicios en redes locales o remotas.
- Descubrimiento rápido: Utiliza técnicas ligeras (ARP, ICMP, mDNS) para encontrar dispositivos.
- Historial y comparación: Almacena resultados de escaneos para análisis y comparación.
- Interfaz asíncrona: No bloquea la UI durante operaciones de red intensivas.
- Python 3.7+
- PyQt6
- NetworkManager (para funciones Wi-Fi)
- Nmap (para escaneo de puertos)
- Permisos adecuados (o capabilities) para operaciones de red
-
Clonar el repositorio:
git clone <URL_DEL_REPOSITORIO> cd NEDScaner
-
Crear y activar un entorno virtual (opcional pero recomendado):
python -m venv venv # En Windows .\venv\Scripts\activate # En Linux/macOS source venv/bin/activate
-
Instalar dependencias:
pip install -r requirements.txt
-
Configurar permisos (solo Linux):
Para ejecutar sin privilegios de root, configure capabilities:
sudo setcap cap_net_raw,cap_net_admin+eip /usr/bin/python3 sudo setcap cap_net_raw,cap_net_admin+eip /usr/bin/nmap
O alternativamente, ejecute la aplicación con sudo (no recomendado para uso regular):
sudo python main.py
-
Iniciar la aplicación:
python main.py
-
Escaneo Wi-Fi:
- Seleccione la pestaña "Wi-Fi"
- Elija la interfaz de red
- Haga clic en "Escanear Redes Wi-Fi"
-
Escaneo de Red (Nmap):
- Seleccione la pestaña "Escaneo de Red"
- Ingrese el objetivo (IP, rango, hostname)
- Configure las opciones de escaneo
- Haga clic en "Iniciar Escaneo"
-
Descubrimiento Rápido:
- Seleccione la pestaña "Descubrimiento Rápido"
- Ingrese el rango de red objetivo
- Seleccione los métodos de descubrimiento
- Haga clic en "Iniciar Descubrimiento"
-
Ver Resultados:
- Seleccione la pestaña "Resultados"
- Explore los escaneos anteriores
- Compare resultados entre diferentes escaneos
app/: Código principal de la aplicaciónui/: Componentes de la interfaz de usuarioadapters/: Adaptadores para herramientas externas (Nmap, nmcli, etc.)core/: Lógica de negocio y orquestadormodels/: Modelos de datos
La configuración se almacena en ~/.nedscaner/config.ini y se puede modificar desde la pestaña "Configuración" de la aplicación.
Si encuentra errores relacionados con permisos al escanear:
-
Verifique que las capabilities estén configuradas correctamente:
getcap /usr/bin/python3 getcap /usr/bin/nmap
-
Asegúrese de que su usuario tenga acceso a D-Bus para NetworkManager:
ls -l /etc/polkit-1/rules.d/
Si hay errores al iniciar la aplicación:
-
Verifique que todas las dependencias estén instaladas:
pip install -r requirements.txt
-
Compruebe que Nmap esté instalado y accesible:
which nmap nmap --version
- Fork el repositorio
- Cree una rama para su función (
git checkout -b feature/amazing-feature) - Commit sus cambios (
git commit -m 'Add some amazing feature') - Push a la rama (
git push origin feature/amazing-feature) - Abra un Pull Request
Desarrollado con HCP (Human-Code-AI Protocol) — protocolo git-native para Context Engineering.
