Ich möchte Nmap::Parser
verwenden, um die XML-Ausgabe eines nmap
Scan in eine CSV-Datei zu konvertieren, und ich habe bereits Probleme am Anfang.Nmap :: Parser, Segmentierungsfehler bei großen Dateien
Parsing kleine TCP/UDP-Scans funktionieren gut, aber wenn ich versuche, eine größere Datei (z. B. 20 MB) zu konvertieren, insbesondere eine mit allen 65535 UDP-Ports | gefiltert, erhalte ich einen Segmentierungsfehler.
Das Problem scheint die "Parsefile" -Methode zu sein.
Ich versuchte verschiedene Versionen von Perl 5.10/5.14 auf Linux und Mac OS X mit den gleichen Ergebnissen. Bitte beachten Sie das Codefragment unten.
#!/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;
könnten Sie versuchen, mit Perl 5,16? Es sieht aus wie ein Fehler in Perl, der hier beschrieben wird: http://www.perlmonks.org/?node_id=955478 – mirod
Hallo mirod, vielen Dank für deine Hilfe. Das Aktualisieren von Perl hat den Trick gemacht. Ich habe gerade Perl 5.16 installiert und alles funktioniert jetzt. Erfolgreich eine 70 MB XML-Datei konvertiert. :-) – rhe24
Bitte geben Sie dies als Antwort an und akzeptieren Sie es. –