У меня есть файл pcap.gz размером ~ 500 гб, который я бы хотел прочитать с помощью node.js. Я попробовал использовать wirehark для экспорта этого файла как JSON, но потребовалось около часа, в результате получился файл размером в 47 ГБ (от большого до большого, чтобы быть практичным). Я в конечном итоге выследил модуль узла, который можно найти здесь, который должен иметь возможность читать файлы pcap. Затем я использовал 7zip, чтобы извлечь файл pcap (в результате получился файл чуть более 2 гигабайт) и попытался запустить этот код:
var pcapp = require('pcap-parser');
var parser = pcapp.parse('C:/Users/.../data.pcap');
parser.on('packet', function(packet) {
console.log(packet);
});
и получил следующий код ошибки
events.js:182
throw er; // Unhandled 'error' event
^
Error: unknown magic number: 0a0d0d0a
Для меня идеальным был бы скрипт node.js, который мог бы анализировать файлы pcap.gz таким образом, что мне не пришлось бы проходить через какое-либо промежуточное приложение, такое как wirehark или 7zip.
Вот ссылка для скачивания файла: download
Любая помощь приветствуется.
Я протестировал парсер pmp NPM на некоторых файлах pcap, которые я сделал с Wireshark, и он отлично работает как с.pcap, так и с.pcap.gz. Однако рассматриваемый файл pcap был, по-видимому, не файлом pcap, а скорее файлом pcap-ng, как показано в этом вопросе. Затем решение загрузило мой файл pcap-ng в wirehark и сохранил его с помощью библиотеки tcpdump. После этого анализатор NPP pcap отлично разбирался в файле. Я понимаю, что это не идеальное решение, так как мне все еще нужно проходить через wirehark, но это начало.