xml perl cpan nmap

xml - Nmap:: Parser, falla de segmentación en archivos grandes



perl cpan (1)

Me gustaría usar Nmap::Parser para convertir la salida XML de un escaneo de nmap en un archivo CSV y ya estoy teniendo problemas desde el principio.

El análisis de los análisis TCP / UDP pequeños 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;


El problema surge debido a un error conocido en las versiones de Perl <5.16 como se menciona en: perlmonks.org/?node_id=955478

Actualizar el perl a 5.16 o superior resolverá este problema.