Network Tools Pro es un conjunto completo de herramientas de diagnóstico y utilidades de red, diseñado con una interfaz gráfica moderna y fácil de usar. Esta aplicación proporciona una solución integral para profesionales y entusiastas de las redes que necesitan realizar tareas comunes de red de manera eficiente.
│ command_runner.py
│ config.json
│ enhanced_features.py
│ main.py
│ tool_definitions.py
│ utils.py
main.py: Archivo principal que inicia la aplicación. Crea la interfaz gráfica de usuario (GUI) con Tkinter, gestiona el estado general de la aplicación y une todos los demás componentes. La claseNetworkAppes el núcleo de la aplicación.command_runner.py: Se encarga de ejecutar los comandos de red. Utiliza el módulosubprocesspara correr comandos externos y maneja hilos para no bloquear la GUI. También incluye lógica para manejar tiempos de espera, permisos y dar sugerencias para comandos mal escritos. Define la claseCommandRunner.tool_definitions.py: Contiene las definiciones de todas las herramientas de red disponibles en la aplicación. Es un diccionario que mapea los nombres de las herramientas a sus descripciones, parámetros y los comandos a ejecutar. También maneja las variaciones de comandos específicas del sistema operativo.enhanced_features.py: Agrega funcionalidades extra a la aplicación, como un gestor de comandos por lotes y notificaciones del sistema. La claseEnhancedNetworkAppenvuelve la aplicación base para añadir estas nuevas características.utils.py: Proporciona varias funciones de utilidad. Incluye la claseNetworkUtilscon métodos para validar IPs y dominios, obtener la IP local y la puerta de enlace, y realizar diagnósticos de red. También tiene unConfigManagerpara cargar y guardar la configuración de la aplicación, y unOutputFormatterpara dar estilo a la salida de los comandos.
Network Tools Pro incluye una variedad de herramientas, tanto para diagnóstico como para gestión de redes:
- Ping: Envía paquetes ICMP ECHO_REQUEST a un host para comprobar su disponibilidad y tiempo de respuesta.
- Traceroute: Muestra la ruta y mide los retardos de tránsito de los paquetes a través de una red de Protocolo de Internet (IP).
- PathPing: Una combinación de Ping y Traceroute, que proporciona información más detallada sobre la latencia de la red y la pérdida de paquetes en cada salto.
- NSLookup: Consulta el Sistema de Nombres de Dominio (DNS) para obtener el mapeo de nombre de dominio o dirección IP, o cualquier otro registro DNS específico.
- Netstat: Muestra las conexiones de red para TCP (tanto entrantes como salientes), tablas de enrutamiento y una serie de estadísticas de interfaz de red y protocolo de red.
- ARP: Muestra y modifica la caché del Protocolo de Resolución de Direcciones (ARP).
- Escáner de Puertos: Escanea los puertos TCP abiertos en un host objetivo.
- IPConfig: Muestra los valores de configuración actuales de la red TCP/IP.
- Calculadora de Subredes: Calcula los detalles de la subred, incluyendo la dirección de red, la dirección de broadcast, la máscara de red y el rango de hosts.
- Wake-on-LAN (WOL): Envía un paquete mágico para encender un equipo en la red local.
- Consulta Whois: Consulta los servidores WHOIS para obtener información sobre un nombre de dominio.
- Interfaz de Usuario Moderna: Una interfaz de usuario intuitiva, con un tema oscuro y limpio.
- Historial de Comandos: Mantiene un historial de todos los comandos ejecutados para una fácil referencia.
- Salida en Tiempo Real: La salida de los comandos se transmite en tiempo real a la ventana de terminal.
- Multiplataforma: Aunque algunas herramientas son específicas del sistema operativo, la aplicación está diseñada para ser multiplataforma, con soporte para Windows, macOS y Linux.
- Python: La aplicación principal está construida con Python 3.
- Tkinter: La interfaz gráfica de usuario está construida usando el paquete GUI estándar de Python, Tkinter.
- Matplotlib: Se utiliza para trazar gráficos en tiempo real (en las características que lo utilizan).
- psutil: Una librería multiplataforma para recuperar información sobre procesos en ejecución y utilización del sistema.
-
Clona el repositorio:
git clone https://github.com/your-username/your-repository-name.git cd your-repository-name -
Crea un entorno virtual (recomendado):
python -m venv venv source venv/bin/activate # En Windows, usa `venv\Scripts\activate`
-
Instala las dependencias:
pip install -r requirements.txt
Para ejecutar la aplicación, simplemente ejecuta el script main.py:
python main.pyPara crear un ejecutable independiente (.exe para Windows), puedes usar pyinstaller.
Asegúrate de que pyinstaller está instalado:
pip install pyinstallerEjecuta el comando pyinstaller:
El siguiente comando creará un único archivo ejecutable en el directorio dist. El flag --noconsole evita que aparezca la ventana de comandos cuando ejecutes el ejecutable, y el flag --onefile empaqueta todo en un solo archivo. El flag --icon establece el icono de la aplicación.
pyinstaller --name "Network Tools Pro" --onefile --windowed --icon="hub.ico" main.pyEncuentra el ejecutable:
El ejecutable se ubicará en la carpeta dist.
Autor
Creado por: Ez07-Code
GitHub: https://github.com/Ez07-Code
