如何在node.js中从pcap获取数据
How to get data from pcap in node.js
我想在node.js中获得pcap的数据,如帧数,帧时间,ip等。然而,我找不到任何我想要的模块。所以,我尝试使用tshark。但结果值被削减了。那么,我怎样才能得到完美的结果呢?
下面是我尝试的一些细节。
var spawn = require('child_process').spawn;
var fs = require('fs');
var args = [
'-Tfields',
'-e', 'frame.number',
'-e', 'frame.time',
'-e', 'ip.src',
'-e', 'ip.dst',
'-e', 'ip.proto',
'-e', 'tcp.srcport',
'-e', 'tcp.dstport',
'-e', 'udp.srcport',
'-e', 'udp.srcport',
'-e', 'udp.dstport',
'-e', 'ip.len',
'-E', 'header=y',
'-r', 'smallFlows.pcap'
];
var cmd = spawn('tshark', args, {
cwd: 'C:''Program Files''Wireshark'''
});
cmd.stdout.on('data', function(data) {
console.log('done!');
fs.writeFile('result.txt', data, function(err) {
if(err) throw err;
console.log('It''s saved!');
});
});
cmd.stderr.on('data', function(data) {
});
cmd.on('exit', function(code) {
console.log('child process exited with code ' + code);
});
结果输入图片描述
您不能对传递给data
事件处理程序的数据块的大小进行任何假设。它可以是一个字节,也可以是子进程的整个输出。
如果你只是想把输出写到一个文件中,你可以直接用管道输出:
var cmd = spawn('tshark', args, {
cwd: 'C:''Program Files''Wireshark'''
});
cmd.stdout.pipe(fs.createWriteStream('result.txt')).on('finish', function() {
console.log('File completely written');
});
相关文章:
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- jquery试图按名称获取按钮位置
- 如何在jQuery中获取元素的形式
- 如何在php文件中获取$.post-ajax传递的值
- 在Shopify中获取博客文章的图片
- 使用Javascript获取所选选项ID
- 在jQuery中获取表的行索引
- 使用jquery将mysql数据获取到新的表行中
- 在动态创建的元素上获取对特定选择器的引用
- 从城市名称获取惊喜
- Angular只从数组中获取所需的数据
- 无法将数据从firebase获取到我的html页面
- 从ajax请求中获取javascript对象
- 如何从画布上的某个移动事件中获取X和Y
- 是否有一个JS/jQuery函数可以获取某个类的每个元素的ID
- 如何在PHP中使用$_POST获取Select元素值
- 获取@ResponseBody的一部分作为主干和Spring MVC控制器之间的参数
- 从Rally获取一个特定的标记,以便计算另一个字段中的值
- Twitter Bootstrap typeahead:使用“this”获取上下文/调用元素
- 如何在node.js中从pcap获取数据