UNPKG

netkitty

Version:
26 lines (25 loc) 1.19 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const BindingCapture_1 = require("../lib/BindingCapture"); const PipeClient_1 = require("../../pipe/PipeClient"); const PcapWriter_1 = require("../../pcap/PcapWriter"); const captureTemporaryFilename = process.env.captureTemporaryFilename; const pcapWrite = new PcapWriter_1.PcapWriter({ filename: captureTemporaryFilename }); const bindingCapture = new BindingCapture_1.BindingCapture({ iface: process.env.captureDevice, filter: process.env.captureFilter ? process.env.captureFilter : '' }); const pipeClient = new PipeClient_1.PipeClient({ id: process.env.captureWorkerId, socketPath: process.env.socketPath, actions: { count: async () => pcapWrite.wroteCount, start: async () => bindingCapture.start(), stop: async () => bindingCapture.stop(), setFilter: async (filter) => bindingCapture.setFilter(filter) } }).once('exit', () => pcapWrite.close().finally(() => process.exit(0))); pcapWrite.on('packet', (wrotePacketInfo) => pipeClient.notify('packet', wrotePacketInfo)); bindingCapture.on('data', (data, sec, usec) => pcapWrite.write(data, sec, usec));