gpt4 book ai didi

javascript - 在 node.js 中捕获 tshark stdout 输出

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:18:49 26 4
gpt4 key购买 nike

我正在尝试从 Node 运行 tshark 并使用以下代码检索标准输出输出

var spawn = require('child_process').spawn,
ts = spawn('tshark',
['-i wlan0 -I -R "wlan.fc.type == 0 && wlan.fc.subtype == 4" -e wlan.sa']
);

ts.stdout.on('data', function (data) {
console.log('stdout: ' + data);
});

ts.stderr.on('data', function (data) {
console.log('stderr: ' + data);
});

ts.on('exit', function (code) {
console.log('child process exited with code ' + code);
});

但是我得到一个错误

stderr: 在 wlan0 -I -R "wlan.fc.type == 0 && wlan.fc.subtype == 4"-T fields -e wlan.sa 上捕获

stderr:tshark:无法启动捕获 session (不存在此类设备)。请检查以确保您有足够的权限,并且您指定了正确的接口(interface)或管道。

标准错误:捕获了 0 个数据包

如果我直接使用参数运行 tshark,它工作正常。

任何可能出错的线索?

最佳答案

您现在调用 spawn 的方式,tshark 将参数视为一个大引号参数,它无法正确解析它。就好像你这样调用它:

tshark "-i wlan0 -I -R ""wlan.fc.type == 0 && wlan.fc.subtype == 4"" -e wlan.sa"

您需要做的是将您传递给 spawn 的参数分离到参数数组中的各个项目中:

ts = spawn('tshark',
['-i', 'wlan0', '-I', '-R', 'wlan.fc.type == 0 && wlan.fc.subtype == 4', '-e', 'wlan.sa']
);

关于javascript - 在 node.js 中捕获 tshark stdout 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25828769/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com