102 lines
3.8 KiB
Markdown
102 lines
3.8 KiB
Markdown
# 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.)
|
|
|