Wikipeando

Script para parsear los resultados XML de Nmap

Posteado en Seguridad, Nmap por situ el 2 de November de 2007

Les dejo un pequeño el cual nos sirve para hacer un parser de  los resultados XML del escaner NMAP.

#!/usr/bin/perl
foreach ( qx( nmap -sS -oX - -iL ips.lst ) ) {
$_ if /port|address/;
if( /<address addr=\"([.0-9]+)\".*|
<port protocol="
(tcp)".*portid=\"([0-9]+)\".*<state state=\"([a-z]+)\".*<service name=\"([a-z0-9-]+)\"/ ){
print "
$1 $2\t $3\t $4\t $5\n";
}
}

La salida tendra un formato como el siguiente:

127.0.0.1
tcp     22      open    ssh
tcp     5900    open    vnc

Se que existen modulos de cpan para realizar en mejor forma este procedimiento pero nunca viene mal aprender un poco realizando nuestro propio script.