# 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**](https://nmap.org/download): Herramienta potente para el escaneo de redes y auditoría de seguridad.

### Dependencias Internas

1. [**Scapy**](https://github.com/secdev/scapy): Permite decodificar paquetes de múltiples protocolos, enviarlos, capturarlos y analizarlos.
2. [**os**](https://docs.python.org/es/3.10/library/os.html): Proporciona acceso a funcionalidades dependientes del sistema operativo.
3. [**tkinter**](https://docs.python.org/es/3/library/tkinter.html): Biblioteca de interfaz gráfica predeterminada de Python.
4. [**threading**](https://docs.python.org/es/3.8/library/threading.html): Ofrece herramientas de alto nivel para la gestión de hilos.
5. [**time**](https://docs.python.org/3/library/time.html): Proporciona funciones relacionadas con el tiempo y la sincronización.
6. [**datetime**](https://docs.python.org/3/library/datetime.html): Manejo avanzado de fechas y horas.
7. [**psutil**](https://pypi.org/project/psutil/): Biblioteca para obtener información del sistema (CPU, memoria, discos, red, etc.).
8. [**requests**](https://pypi.org/project/requests/): Simplifica el envío de solicitudes HTTP de manera eficiente.
9. [**python-nmap**](https://pypi.org/project/python-nmap/): Biblioteca para interactuar con Nmap y manipular sus resultados.
10. [**ipaddress**](https://docs.python.org/3/library/ipaddress.html): Manejo de direcciones y redes IPv4/IPv6.
11. [**socket**](https://docs.python.org/3/library/socket.html): Acceso a la interfaz de sockets BSD para comunicación en red.

---

## 🔍 APIs Utilizadas

- [**ipwhois.io**](https://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

1. Instalar Python 3.10 o superior.
2. Descargar e instalar las dependencias necesarias utilizando **pip**:
   ```bash
   pip install -r requirements.txt
   ```
3. Instalar Nmap desde su [sitio oficial](https://nmap.org/download).

### Ejecución

1. Clonar este repositorio:
   ```bash
   git clone https://github.com/usuario/proyecto-kevin-multihilo.git
   ```
2. Navegar al directorio del proyecto:
   ```bash
   cd proyecto-kevin-multihilo
   ```
3. Ejecutar el archivo principal:
   ```bash
   python main.py
   ```

---

## 📊 Características

1. **Escaneo de redes:** Utiliza Nmap y python-nmap para descubrir dispositivos conectados.
2. **Análisis de paquetes:** Decodificación y manejo de paquetes con Scapy.
3. **Gestión de hilos:** Implementación eficiente de tareas paralelas con la biblioteca `threading`.
4. **Información del sistema:** Visualización del estado actual del sistema con `psutil`.

---

## 🌍 Contribuciones

Si deseas contribuir a este proyecto:

1. Realiza un fork del repositorio.
2. Crea una rama para tus cambios:
   ```bash
   git checkout -b feature/nueva-funcionalidad
   ```
3. Realiza tus modificaciones y crea un pull request.

---

## 🎮 Autor

**Kevin Developer**\
[GitHub](https://github.com/KevinOlarte1) 

---

## 📝 Tutorial

(En este apartado podrás incluir un tutorial detallado para que los usuarios aprendan a utilizar tu proyecto paso a paso.)

