Javascript打开的端口扫描程序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Javascript打开的端口扫描程序相关的知识,希望对你有一定的参考价值。
我正在使用node.js在js中进行ip端口扫描程序。我使用如下命令启动函数:> getports 127.0.0.0而且我想查看所有可用于拒绝服务的端口。
这是我的代码:
const exec = require('child_process');
exec(`netstat -an $args[0] | findstr "ESTABLISHED"`, (error, stdout, stderr) =>
if(error)
console.log(`exec error: $error`);
return;
else if(stdout)
console.log(`Found :\n$stdout.slice(0, 1980)`); // I just want the 1980 first chars
return;
else if(stderr)
console.log(`stderr: $stderr`);
return;
);
执行的命令:netstat -an 127.0.0.0 | findstr“已建立”
我被阻止,因为该过程永远不会结束。所以我从来没有得到回应...
答案
- exec
此方法将产生一个子shell并在该shell中执行命令并缓冲生成的数据。子进程完成后,将使用以下命令调用回调函数:命令成功执行后缓存的数据
从cmd运行netstat -an 127.0.0.1时,您可以看到该命令仍然继续运行,直到发送停止信号...
因此,如果您想将输出输出到缓冲区,我建议您生成一个cmd.exe并从中执行netstat.exe
function run_cmd(cmd, args, cb, end)
var spawn = require('child_process').spawn,
child = spawn(cmd, args),
me = this;
child.stdout.on('data', function (buffer) cb(me, buffer) );
child.stdout.on('end', end);
// Run C:\Windows\System32\netstat.exe -an
var foo = new run_cmd(
'netstat.exe', ['-an'],
function (me, buffer) me.stdout += buffer.toString() ,
function () console.log(foo.stdout)
);
类似的东西
以上是关于Javascript打开的端口扫描程序的主要内容,如果未能解决你的问题,请参考以下文章