Nmap ::Парсер, ошибка сегментации в больших файлах

Я хотел бы использовать Nmap::Parserдля преобразования XML-вывода сканирования nmapв файл CSV, и у меня уже возникают проблемы в самом начале.

Анализ небольших сканирований TCP/UDP работает нормально, но когда я пытаюсь преобразовать файл большего размера (, например, 20 МБ ), особенно тот, в котором все 65535 портов UDP открыты | отфильтрованы, я получаю ошибку сегментации.

Проблема, похоже, в методе "parsefile".

Я пробовал разные версии Perl 5.10/5.14 в Linux и Mac OS X с одинаковыми результатами. См. фрагмент кода ниже.

#!/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;
17
задан Marc 16 October 2012 в 14:23
поделиться