- vie, 23 mayo
- Laboratorio
- @fotosycaptura
- #blog, #python, #laboratorio, #programacion, #raspberrypi
nmap-monitor, mi nueva invención de la rueda... En términos de escaneo XD
Automatizando escaneos con Nmap desde una Raspberry Pi: mi solución con Python y systemd
En mi día a día trabajando con tareas de escaneo y análisis de redes, me enfrenté a un problema recurrente: los escaneos largos con Nmap se interrumpían si cerraba la terminal o apagaba el equipo. Como mi equipo no siempre está encendido, decidí trasladar estas tareas a una Raspberry Pi, que normalmente permanece encendida las 24 horas.
¿Qué necesitaba?
Pues...
- Ejecutar escaneos Nmap en segundo plano.
- Usar un archivo CSV para definir qué sitios escanear.
- Evitar repetir escaneos ya realizados.
- Poder editar fácilmente la lista de objetivos desde otro equipo o de forma remota.
- Mantener los reportes organizados y accesibles.
Y... ¿Qué hice?
Desarrollé un pequeño sistema en Python que:
- Lee un archivo
sitios.csv
con la estructurasitio;escaneado
. - Ejecuta escaneos Nmap en hilos independientes.
- Guarda los resultados en una carpeta
/reportes
. - Usa archivos
.lock
para evitar que un escaneo se lance dos veces. - Marca automáticamente en el CSV cuando el escaneo finaliza.
Además, lo configuré como un servicio systemd
para que se inicie al arrancar el sistema.
¿Por qué usé .lock
?
Los archivos .lock
son una convención clásica en sistemas Linux para indicar que una tarea está "en curso". Son simples de implementar, persistentes ante reinicios y fáciles de auditar.
¿Y?...
Desde que implementé esta solución, he podido dejar tareas de escaneo ejecutándose de forma completamente autónoma desde mi Raspberry Pi. Solo necesito actualizar el CSV desde la nube (que accede al directorio vía disco externo), y los reportes se generan solos.
Consideraciones
El servicio corre como root
para permitir escaneos avanzados (-A
, --script vuln -O
, etc.). Esto requiere precaución, pero en mi caso el entorno es controlado y el CSV está bajo revisión manual.
Código
El proyecto completo está disponible en mi Raspberry XDD, pero puedes descargarlo o clonarlo desde:
Conclusión
Este pequeño sistema me ha permitido automatizar una tarea que antes hacía manualmente, y demuestra cómo una Raspberry Pi puede ser una herramienta muy versátil para tareas de ciberseguridad. Automatizar procesos repetitivos no solo ahorra tiempo, también ayuda a evitar errores humanos.
Hoy, 23 de mayo, aprovecho de saludar a mi padre que en paz descanse... Un abrazo hacia donde quiera que se encuentre...
¿Has hecho algo parecido? ¿Tienes ideas para mejorarlo? ¡Te leo en mi guestbook!