kopia lustrzana https://github.com/OpenBuilds/OpenBuilds-CONTROL
54 wiersze
1.1 KiB
JavaScript
54 wiersze
1.1 KiB
JavaScript
var ip = require("ip");
|
|
const net = require('net');
|
|
const Evilscan = require('evilscan');
|
|
|
|
var localNetwork = ip.address().split('.');
|
|
var network = localNetwork[0] + '.' + localNetwork[1] + '.' + localNetwork[2];
|
|
var range = network + ".1-" + network + ".254"
|
|
|
|
var networkDevices = []
|
|
|
|
const options = {
|
|
target: range,
|
|
port: '23',
|
|
status: 'TROU', // Timeout, Refused, Open, Unreachable
|
|
banner: true
|
|
};
|
|
|
|
new Evilscan(options, (err, scan) => {
|
|
|
|
if (err) {
|
|
//console.log(err);
|
|
return;
|
|
}
|
|
|
|
scan.on('result', data => {
|
|
// fired when item is matching options
|
|
//console.log(data);
|
|
if (data.status == "open") {
|
|
var type = false
|
|
if (data.banner.indexOf("GrblHAL") != -1) {
|
|
type = "grblHAL"
|
|
} else if (data.banner.indexOf("Grbl") != -1) {
|
|
type = "grbl"
|
|
}
|
|
networkDevices.push({
|
|
ip: data.ip,
|
|
type: type,
|
|
banner: data.banner
|
|
})
|
|
}
|
|
|
|
});
|
|
|
|
scan.on('error', err => {
|
|
//throw new Error(data.toString());
|
|
});
|
|
|
|
scan.on('done', () => {
|
|
// finished !
|
|
console.log(networkDevices);
|
|
});
|
|
|
|
scan.run();
|
|
}); |