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
Vous devez vous connecter pour publier un commentaire.
Je l'ai fait pour vous https://github.com/eviltik/evilscan. (vient de sortir v0.0.3 aujourd'hui)
Installer:
Utilisation (liste de port + la plage de ports) :
Conseils :
Très rapide de balayage, vous pouvez jouer avec la "simultanéité" paramètre, plus de 1000, mais vous devez mettre à jour ulimit paramètre de votre linux première :
Espérons que cette aide.
Aucune des réponses précédentes vraiment travaillé la façon dont j'avais besoin. J'ai trouvé beaucoup de poids plus léger alternative. Avec cette solution, je reçois ma solution rapidement. Ma prochaine mise à jour sera pour spécifier une plage d'hôtes du sous-réseau actuel. J'imagine que je vais vouloir le limiter à la première 254 clients de sorte qu'il n'est pas exagéré. Voici le code:
Vous pouvez utiliser la commande arp pour obtenir une liste des périphériques qui sont vivants en premier. Pensez à l'extérieur de la boîte 😉 Vous n'avez pas de scanner tous les périphériques à l'aveuglette.
Vous pouvez également utiliser arp-scan utilitaire, il est plus fiable. Mais arp-scan besoins d'accès à la racine de travail, il est donc préférable d'utiliser le protocole arp. Il est disponible sur à peu près tous les linux.
Au lieu de simplement poster le lien (le lien peut aller morte à un moment), je vais poster le tutoriel ici de code à partir du site: