我需要同步读取node js中的snort日志文件,并将其解析为JSON数据,以便将其存储在数据库中。问题是,snort日志文件不仅仅是一行程序。snort中的一个警报由5行组成,我希望能够将这5行作为一个警报存储在数据库中。
我试过使用
const rl = readline.createInterface({
input: fs.createReadStream(LOG_FILE),
});
rl.on('line', (line) => {
console.log(`Line from file: ${line}`);
});
逐行读取文件并打印出来,但它只逐行打印出来,我不知道如何将它们组合在一起。
以下是snort日志文件的示例:
[**] [1:1000001:1] ICMP test [**]
[Classification: Generic ICMP event] [Priority: 3]
06/09-14:18:58.102020 192.168.137.91 -> 192.168.137.89
ICMP TTL:64 TOS:0x0 ID:20610 IpLen:20 DgmLen:84 DF
Type:8 Code:0 ID:1664 Seq:5 ECHO
所以在我的数据库中,我将有一个名为alert的东西,这5行将是带有id: 1的alert,依此类推。任何帮助都将不胜感激。
https://stackoverflow.com/questions/51124926
复制相似问题