|
||
---|---|---|
__pycache__ | ||
models | ||
resources | ||
MainController.py | ||
MainView.py | ||
README.md | ||
main.py | ||
packet_log.txt | ||
prueba1.py | ||
pruebas.py | ||
requirements.txt |
README.md
Proyecto Kevin MultiHilo
Bienvenido al proyecto Kevin MultiHilo, donde exploramos y aprendemos sobre el uso de Threads en Python a través de diversas funcionalidades ejecutadas en hilos independientes. Este proyecto está diseñado para aquellos interesados en comprender y aprovechar la programación multihilo de manera práctica y eficiente.
📊 Descripción General
El objetivo principal de este proyecto es implementar tareas distribuidas en diferentes hilos, mostrando su potencial para mejorar el rendimiento y la gestión de recursos. Además, se incluyen varias dependencias y herramientas que permiten expandir las capacidades de la aplicación.
🔧 Dependencias
Dependencias Externas
- Nmap: Herramienta potente para el escaneo de redes y auditoría de seguridad.
Dependencias Internas
- Scapy: Permite decodificar paquetes de múltiples protocolos, enviarlos, capturarlos y analizarlos.
- os: Proporciona acceso a funcionalidades dependientes del sistema operativo.
- tkinter: Biblioteca de interfaz gráfica predeterminada de Python.
- threading: Ofrece herramientas de alto nivel para la gestión de hilos.
- time: Proporciona funciones relacionadas con el tiempo y la sincronización.
- datetime: Manejo avanzado de fechas y horas.
- psutil: Biblioteca para obtener información del sistema (CPU, memoria, discos, red, etc.).
- requests: Simplifica el envío de solicitudes HTTP de manera eficiente.
- python-nmap: Biblioteca para interactuar con Nmap y manipular sus resultados.
- ipaddress: Manejo de direcciones y redes IPv4/IPv6.
- socket: Acceso a la interfaz de sockets BSD para comunicación en red.
🔍 APIs Utilizadas
- ipwhois.io: Ofrece integración rápida y sencilla para la geolocalización de direcciones IP, ideal para scripts o sitios web.
🔒 Uso del Proyecto
Requisitos Previos
- Instalar Python 3.10 o superior.
- Descargar e instalar las dependencias necesarias utilizando pip:
pip install -r requirements.txt
- Instalar Nmap desde su sitio oficial.
Ejecución
- Clonar este repositorio:
git clone https://github.com/usuario/proyecto-kevin-multihilo.git
- Navegar al directorio del proyecto:
cd proyecto-kevin-multihilo
- Ejecutar el archivo principal:
python main.py
📊 Características
- Escaneo de redes: Utiliza Nmap y python-nmap para descubrir dispositivos conectados.
- Análisis de paquetes: Decodificación y manejo de paquetes con Scapy.
- Gestión de hilos: Implementación eficiente de tareas paralelas con la biblioteca
threading
. - Información del sistema: Visualización del estado actual del sistema con
psutil
.
📝 Explicación de las principales funcionalidades
Solapas (Tabs)
-
IP Tracker
- Permite rastrear información sobre una dirección IP, como ubicación, tipo, y más, utilizando la API de ipwhois.io.
- Los resultados se muestran en un área de texto con scroll.
-
Escaneo de Red
- Realiza un escaneo de dispositivos conectados a la red local usando la biblioteca
python-nmap
. - Lista dispositivos encontrados con sus respectivas direcciones IP y MAC.
- Realiza un escaneo de dispositivos conectados a la red local usando la biblioteca
-
Sniffer
- Captura y analiza paquetes de red en tiempo real utilizando
Scapy
. - Muestra información relevante del paquete, como origen, destino, protocolo y puertos.
- Incluye funcionalidad para iniciar y detener el análisis.
- Captura y analiza paquetes de red en tiempo real utilizando
-
Juego de Azar (Ruleta)
- Un mini-juego de ruleta donde el usuario puede apostar seleccionando un número del 1 al 10.
- Calcula si el jugador gana o pierde y actualiza el saldo en la interfaz.
-
Scraper
- Permite explorar una URL inicial y extraer enlaces relacionados usando
BeautifulSoup
. - Los resultados se almacenan en una base de datos MongoDB y se muestran en la interfaz en tiempo real.
- Permite explorar una URL inicial y extraer enlaces relacionados usando
Frame Izquierdo
- Gestión del Scraper:
- Entrada para la URL inicial del scraping.
- Botones para iniciar y detener la operación.
Frame Derecho
- Reproductor de Música:
- Lista canciones disponibles en una carpeta local.
- Botones para reproducir, detener y actualizar la lista de canciones.
Barra Inferior (Estado)
- Indicadores del sistema:
- Uso de CPU y RAM en tiempo real.
- Velocidad de subida y descarga de red.
- Fecha y hora actualizadas dinámicamente.
🌍 Contribuciones
Si deseas contribuir a este proyecto:
- Realiza un fork del repositorio.
- Crea una rama para tus cambios:
git checkout -b feature/nueva-funcionalidad
- Realiza tus modificaciones y crea un pull request.
🎮 Autor
Kevin Developer
GitHub