openport-scanner
Version:
A package that scans your local area network for given port in all hosts.
38 lines • 1.36 kB
JavaScript
var net=require('net');
var Socket=net.Socket;
var os=require('os');
var interfaces=os.networkInterfaces();
module.exports=function(portno)
{
var addresses=[];
/*Getting IP addresses*/
for (var k in interfaces) {
for (var k2 in interfaces[k]) {
var address = interfaces[k][k2];
if (address.family === 'IPv4' && !address.internal) {
addresses.push(address.address);
}
}
}
var LAN=addresses[0];
var PORT=portno;
LAN=LAN.substring(0,9);
var checkPort=function(port, host, callback)
{
var socket = new Socket(), status = null;
socket.on('connect', function() {status = 'Open';socket.end();});
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,host,port);});
socket.connect(port, host);
}
for(var i=1; i <=255; i++)
{
checkPort(PORT, LAN+'.'+i, function(error, status, host, port)
{
if(error) console.log("Error - ",error);
console.log("Port found on host : ", host, port, status);
});
}
}