Detenga la exploración de Nmap y conserve la salida XML

8

Cada vez que ejecuto Nmap, uso el indicador -oA . La salida XML es un elemento de salida importante ya que lo introduzco en varios analizadores más Metasploit con db_import . La opción --resume puede reanudar un escaneo, pero no es compatible con la salida XML.

A mí me sucede muy a menudo que un escaneo se completará en un 99.XX% en un tiempo razonable y luego tomará el doble de tiempo para terminar ese último porcentaje.

¿Hay alguna forma de que nmap termine el escaneo y complete el proceso de salida XML antes? Me gustaría evitar tener que volver a escanear o completar manualmente el archivo XML a mano o con un script personalizado.

He intentado desactivar la interfaz eth0 pensando que haría que Nmap se bloquee / salga de la exploración, sin embargo, eso no parece ayudar en absoluto.

Nota: Sé que hay indicadores que puedo agregar al comienzo del análisis para reducir el tiempo de espera y evitar este problema. Pero esta pregunta está más centrada en haber iniciado ya el escaneo sin esas banderas.

    
pregunta KDEx 25.11.2015 - 05:08
fuente

2 respuestas

14

Nmap dev here: Lo sentimos, pero no hay una opción para detener limpiamente un escaneo y finalizar la salida XML. La opción --resume , como anotó, solo funciona con la salida Normal y Grepable. Tampoco puede hacer frente a --randomize-hosts . Estas son las etapas de desarrollo que deberíamos emprender para hacer esto posible:

  1. Extienda --resume para analizar la salida XML de Nmap para el último host completado. No es demasiado difícil.
  2. Cambie la secuencia de salida XML de Nmap para eliminar las etiquetas finales de un archivo XML bien formado si se inician --append-output o --resume . Difícil, pero factible.
  3. Extienda los controladores de señal de Nmap para finalizar la salida XML, si la hay. Difícil porque los manejadores de señales SIGINT y SIGSTOP deben ser lo más pequeños posible y no pueden confiar en que los manejadores de archivos estén en un estado utilizable. Tal vez haga esta parte de un controlador de señales diferente como SIGUSR1 o algo y / o vincule eso a una secuencia de teclas ctrl. También recuerde que Nmap debe funcionar igual en Windows, Linux, OS X, FreeBSD, Solaris y muchas otras plataformas, por lo que el manejo de la señal puede ser muy diferente en esos casos.

No dude en agregar una solicitud de función a enlace para esto, y haga referencia a esta pregunta y responda.

EDITAR: Esto se agregó en Nmap 7.40

    
respondido por el bonsaiviking 25.11.2015 - 21:30
fuente
0

¿Has intentado enviar al proceso un suspiro o un sigstop?

algo como kill -s STOP [pid] o es -s SIGSTOP. No puedo recordar

    
respondido por el Petro 25.11.2015 - 06:06
fuente

Lea otras preguntas en las etiquetas