问题描述
我有一个函数可以循环访问路由器上的可用 ip 地址并返回那些已定义端口打开的地址(将它们放在一个数组中)。 有没有办法也可以获取返回ips的mac地址?
我从 StackOverflow 上得到了循环函数并做了一些修改。就是这样:
var net = require('net'),Socket = net.socket;
var checkPort = function(port,host,callback) {
var socket = new Socket(),status = null;
// Socket connection established,port is open
socket.on('connect',function() {status = 'open';socket.end();list.push(host);});
socket.setTimeout(1500);// If no response,assume port is not listening
socket.on('timeout',function() {status = 'closed';socket.destroy();});
socket.on('error',function(exception) {status = 'closed';});
socket.on('close',function(exception) {callback(null,status,port);});
socket.connect(port,host);
}
var LAN = '192.168.0'; //Local area network to scan
var POI = 80; //Port of interest
var hostList = [];
//Scan over a range of IP addresses and execute a function each time the port is shown to be open.
for(var i=1; i <=255; i++){
checkPort(POI,LAN+'.'+i,function(error,port){
if(status == "open"){
console.log("Reader found: ",port,status);
}
});
}
setTimeout(() => {
console.log(hostList)
},1000);
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)