gpt4 book ai didi

node.js - 我可以快速扫描我的本地网络以查找特定的开放端口吗?

转载 作者:IT老高 更新时间:2023-10-28 23:17:56 29 4
gpt4 key购买 nike

我想知道是否有办法扫描我的本地网络的 IP 范围以查找特定编号的开放端口。

基本上我正在寻找 nodejs 来查找特定类型的客户端,而无需知道其 IP 地址。在这种情况下,RFID 阅读器会监听 14150 端口。

我希望此扫描快速,因此我不希望每个 IP 地址之间的超时时间过长。对于最多 255 个客户端的整个本地 IP 范围(不包括我自己的 IP),它们应该都发生得相当快,可能在几秒钟内max

我编写的代码可以执行我想要的操作,但速度非常慢...我想看看如何通过快速连接并在无法在 20 毫秒内与给定 IP 建立连接时退出来加快速度。我想捕获一个数组中的实际连接,然后我可以将其用于其他目的。

var net = require('net'); // Required to create socket connections

var ip = 254; //IP address to start with on a C class network

function checkConnect () {
ip--;
var thisIP = '192.168.1.' + ip; //concatenate to a real IP address

var S = new net.Socket();
S.connect(80, thisIP);

if(ip > 0) { checkConnect(); }

S.on('connect', function () { console.log('port 80 found on ' + thisIP); });
S.on('error', function () { console.log('no such port on ' + thisIP); });
S.end();
}

checkConnect();

最佳答案

我已经为你做了 https://github.com/eviltik/evilscan . (今天刚刚发布v0.0.3)

安装:

npm install -g evilscan

用法(端口列表+端口范围):

root@debian:~# evilscan --target=192.168.0.0/24 --port=21-446,5900 --concurrency=100 --progress
192.168.0.3:5900|open
192.168.0.26:53|open
192.168.0.26:111|open
192.168.0.26:81|open
192.168.0.26:23|open
Scanned 192.168.0.253:446 (100%)

提示:

对于非常快速的扫描,你可以使用“并发”参数,超过 1000,但你必须先更新你的 linux 的 ulimit 参数:

ulimit -u unlimited

希望对您有所帮助。

关于node.js - 我可以快速扫描我的本地网络以查找特定的开放端口吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15031625/

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