UNPKG

openport-scanner

Version:

A package that scans your local area network for given port in all hosts.

38 lines 1.36 kB
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); }); } }