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“已建立”

我被阻止,因为该过程永远不会结束。所以我从来没有得到回应...

答案
  1. 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打开的端口扫描程序的主要内容,如果未能解决你的问题,请参考以下文章

如何通过扫描工具Nmap列出开放端口和监听服务

渗透测试之端口扫描

如何通过扫描工具Nmap列出开放端口和监听服务

网络安全:Nmap端口扫描

如何使用Nmap进行端口扫描什么是端口扫描?

怎么在Ubuntu上打开端口