Este proyecto es un script en Bash que automatiza el proceso de escaneo de redes y puertos utilizando nmap y convierte los resultados a un formato HTML con xsltproc para una visualización más fácil.
- Escaneo de redes: permite identificar dispositivos activos en un rango de IP especificado por el usuario.
- Selección de IP: una vez identificadas las IPs activas en la red, el usuario puede seleccionar una IP específica para realizar un escaneo detallado de puertos.
- Escaneo de puertos: escanea todos los puertos abiertos en la IP seleccionada e identifica los servicios y versiones de los mismos.
- Exportación de resultados: guarda el resultado del escaneo en un archivo
.xmly genera un archivo.htmlpara facilitar su visualización en un navegador.
- Nmap - Para realizar los escaneos de red y puertos.
- xsltproc - Para convertir el archivo
.xmlde Nmap a.html.
sudo apt update
sudo apt install nmap xsltprocInstalación en sistemas basados en Arch Linux
sudo pacman -S nmap xsltprocClonar el repositorio:
git clone https://github.com/MaximunDL/scan-script.git
cd scan-script
Dar permisos de ejecución al script
chmod +x scan-nmap-1.0.x.sh
Ejecutar el script
sudo ./scan-nmap-1.0.3.shNota: Este script debe ejecutarse con permisos de superusuario para realizar escaneos completos de red y puertos.
Sigue las instrucciones del script:
Ingresa la IP o rango de IP inicial (ejemplo: 192.168.1.0/24) para realizar un escaneo de la red.
Selecciona una de las IPs encontradas para realizar un escaneo de puertos detallado.
Los resultados se guardarán en un directorio con el nombre scan_results_, donde es la fecha y hora del escaneo, para una fácil organización.
Ejemplo de salida
├── network_scan.xml # Resultados del escaneo de red en XML ├── network_scan.nmap # Resultados del escaneo de red en formato Nmap ├── network_scan.gnmap # Resultados del escaneo de red en formato Greppable ├── port_scan_.xml # Resultados detallados del escaneo de puertos en XML ├── port_scan_.html # Archivo HTML generado desde el XML para visualización
Detalles del Código
Funciones principales
check_dependencies: verifica si nmap y xsltproc están instalados en el sistema.
validate_ip: valida el formato de la IP ingresada.
setup_output_dir: crea un directorio de salida único para guardar los resultados.
network_scan: realiza un escaneo de red para encontrar dispositivos activos.
port_scan: realiza un escaneo de puertos en la IP seleccionada y convierte el resultado en un archivo HTML.
Formato y colores
El script utiliza colores en la terminal para una visualización más clara de los mensajes de error, advertencias y confirmaciones:
Rojo: errores críticos
Amarillo: pasos en proceso
Verde: pasos completados con éxito
Contribuciones
¡Las contribuciones son bienvenidas! Si tienes ideas para mejorar el script o encuentras errores, no dudes en enviar un pull.
Este README proporciona una explicación completa de cómo utilizar el script, los requisitos, y el propósito de cada función principal.