Возможно ли остановить pcap-анализатор до конца файла

#node.js #parsing #pcap

#node.js #синтаксический анализ #pcap

Вопрос:

Я использую npm pcap-анализатор, очевидно, для анализа файлов PCAP. https://www.npmjs.com/package/pcap-parser . Иногда я просматриваю очень большой файл PCAP, и мне нужно проанализировать только первые несколько (сотни или тысячи) пакетов.

Возможно ли остановить анализатор от чтения всего файла? События, которые он выдает, — это packet, end и error, поэтому я не могу понять, как остановить его от возврата к получению следующего пакета каждый раз. Я хотел бы иметь возможность указать, чтобы он остановился, если это возможно.

Ответ №1:

Здесь не так много ответов, поэтому не уверен, что есть большой интерес, но на всякий случай я выяснил, как это сделать.

Предположим, что вы анализируете входной файл: var parser = pcapp.parse(inFile);

Когда анализатор начинает прокручивать файл и идентифицировать пакеты, вы определяете функцию с именем (например) «onPacket», чтобы сообщить ему, что делать с каждым пакетом: parser.on(‘packet’, onPacket);

В любой момент, когда анализатор обрабатывает пакеты, вы можете удалить этот прослушиватель, используя следующее: parser.removeListener(‘packet’,onPacket);

Это также, по-видимому, приводит к тому, что анализатор выдает «end», который приведет код к тому, что вы определили для parser.on(‘end’, endFunction)

Ссылка для обработки событий и прослушивателей здесь: https://nodejs.org/api/events.html#events_emitter_removelistener_eventname_listener