Me gustaría usar Nmap::Parser
para convertir la salida XML de un nmap
escanear en un archivo CSV y ya estoy teniendo problemas desde el principio.Nmap :: Analizador, Error de segmentación en archivos grandes
El análisis pequeño de TCP/UDP funciona bien, pero cuando intento convertir un archivo más grande (por ejemplo, 20 MB), especialmente uno con todos los 65535 puertos UDP abiertos | filtrados, aparece un error de segmentación.
El problema parece ser el método "parsefile".
Probé diferentes versiones de Perl 5.10/5.14 en Linux y Mac OS X con los mismos resultados. Por favor, vea el fragmento de código a continuación.
#!/usr/bin/env perl
use strict; use warnings;
use Nmap::Parser;
my $np1 = new Nmap::Parser;
my $xmlin = $ARGV[0];
sub read_file {
$np1->parsefile($xmlin);
for my $host ($np1->all_hosts()) {
for my $port ($host->udp_ports()) {
print $host->ipv4_addr()." ".$port."\n";
}
}
}
&read_file;
¿podrías probar con perl 5.16? Parece un error en Perl, que se describe aquí: http://www.perlmonks.org/?node_id=955478 – mirod
Hola, mirod, muchas gracias por tu ayuda. La actualización de Perl hizo el truco. Acabo de instalar Perl 5.16 y todo está funcionando ahora. Convirtió exitosamente un archivo XML de 70MB. :-) – rhe24
Proporcione esto como una respuesta y acéptelo. –