Puis-je analyser rapidement mon réseau local pour des ports ouverts spécifiques?

Je voudrais savoir si il existe un moyen pour numériser à travers mon réseau local IP de gamme pour ouvrir les ports d'un numéro spécifique.

Essentiellement, je suis à la recherche d' nodejs de trouver des clients d'un type spécifique sans connaître leurs adresses IP. Dans ce cas, les lecteurs RFID qui sont à l'écoute sur le port 14150.

J'aimerais que ce scan rapide, donc je ne veux pas d'un long délai d'attente entre chaque adresse IP. Ils devraient tous se faire assez rapidement, peut-être dans quelques secondes max pour toute une IP locale gamme de jusqu'à 255 clients, à l'exclusion de ma propre IP.

J'ai écrit un code qui fait ce que je veux, mais c'est terriblement lent... je voudrais voir comment je peux faire cela plus rapidement par flamboyante à travers les liens et de s'en sortir si une connexion ne peut pas être faite à une adresse IP au sein de 20ms. Je veux capturer les connexions réelles dans un tableau que je peux utiliser pour un autre usage.

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();

source d'informationauteur clayperez