Dans mon travail, il y a beaucoup d'ordinateur et je veux faire une blague. Je peux fermer un ordinateur via le réseau, mais il m'est difficile de trouver des adresses IP.
Comment trouver facilement toutes les adresses IP en ligne de 192.168.1.aa à 192.168.1.zz?
networking
Eric Carvalho
la source
la source
angry ip scanner
Réponses:
En général, il
nmap
est très utile d'analyser rapidement les réseaux.Pour installer nmap, entrez la commande suivante dans le terminal:
Une fois l'application installée, entrez la commande suivante:
Cela vous indiquera quels hôtes ont répondu aux requêtes ping sur le réseau entre 192.168.1.0 et 192.168.1.255.
Pour les anciennes versions de Nmap, utilisez
-sP
:Pour des références supplémentaires, voir les pages suivantes:
Guide d'installation NMAP
Guide de référence NMAP
C'est un outil très utile à apprendre.
la source
Si tous les ordinateurs de votre réseau sont Ubuntu ou toute autre distribution utilisant
avahi-daemon
( DNS-SD ), vous pouvez obtenir une liste détaillée d’entre eux (avec nom d’hôte et adresse IP) en effectuant:Si vous souhaitez connaître toutes les adresses IP utilisées sur votre réseau, vous pouvez utiliser
arp-scan
:Comme il n'est pas installé par défaut, vous devrez l'installer avec
sudo apt-get install arp-scan
.arp-scan
envoie des paquets ARP au réseau local et affiche les réponses reçues, de sorte que même les hôtes protégés par un pare-feu (qui bloquent le trafic en fonction des paquets IP).la source
arp-scan
ne trouve pas tous les périphériques associés à mon réseau sans fil. Maintenant, par exemple,sudo arp-scan 192.168.2.0/24
montre 2 résultats (.1 et .1), alors quenmap -sn 192.168.2.0/24
montre 4 résultats (.1, .2, .3 et .4). Donc, il semble que cenmap
soit plus précis (je sais avec certitude que 4 périphériques sont connectés au réseau). Pourquoi est-ce?nmap
.arp-scan
c'est sympa!Note au lecteur : La réponse originale a été postée il y a longtemps et à l'époque où j'apprenais seulement à écrire des scripts shell. Voir la version révisée ci-dessous pour un nouveau script amélioré qui s'exécute beaucoup plus rapidement.
Réponse originale
nmap
serait mon choix n ° 1, mais que faire si vous ne l'avez pas? Le bricolage consisterait en un script ping qui passe manuellement chaque adresse IP possible sur le réseau. Ce que nous avons ici est juste une boucle while, où nous définissons le dernier chiffre de l'adresse, faisons un ping unique silencieux à l'adresse, vérifions si la commande aboutit ou non (et si elle réussit, l'hôte est évidemment actif) et laprintf
déclaration. Rapide et sale, il m’a pris environ 10 minutes pour l’écrire, mais l’exécution peut être un peu lente, cependant.Réponse revisitée
À l'origine, j'avais posté cette réponse en août 2015. Depuis, j'en ai appris un peu plus sur les scripts shell, et une fois que j'ai vu ce script, j'ai pensé que ce serait une bonne idée de revoir cette réponse pour y apporter quelques améliorations. Voici quelques idées:
Le script est évidemment lent et
ping
attend la réponse de l'hôte. Par défaut,ping
pour deux RTT, cela peut varier en fonction de la densité de votre réseau et, autant que je sache, le protocole TCP double le temps d'attente à chaque fois (du moins en fonction de cela ). Donc, nous pourrions forcerping
le temps mort avec le-w 1
drapeau. Étant donné que nous avons 256 adresses et que nous supposons 1 seconde pour chaque adresse, le script prendra environ 256/60 = 4,27 minutes.Faire une commande puis capturer son statut de sortie avec
$?
n'était pas vraiment nécessaire. Leif ... then;...fi
peut opérer directement sur les commandes. En d'autres termes, il suffit de faire ceci:La
printf
commande peut être réécrite de la manière suivante:Il s’agit plutôt d’un changement stylistique, mais cohérent avec le
printf
fonctionnement et l’apparence de beaucoup de langues, avec la citation de"$NUM"
variable. Il n'est pas nécessaire de citer ici - comme nous ne traitons que de chiffres, nous n'avons pas besoin d'anticiper le fractionnement des mots car il y a des espaces dans une variable.Il est possible d’améliorer considérablement les performances en générant plusieurs processus en arrière-plan. Le script ci-dessous fait exactement cela. Je mets le
ping
etprintf
dans une fonctionpingf
(oui, nom ringard, je sais). Maintenant, il y a aussi une seulemain
fonction qui fait la boucle et l'appel depingf
.A quel point ça marche mieux? Pas mal, en fait, prend quelques secondes.
Choses à garder à l'esprit
la source
Netdiscover peut être votre réponse.
Pour installer via un terminal:
exemple d'utilisation:
Une adresse IP avec adresses MAC s'affichera sur votre terminal. Voir la capture d'écran
j'espère vous aider
référence
la source
*** buffer overflow detected ***: netdiscover terminated
.fping
est un excellent outil pour analyser plusieurs hôtes sur un réseau via ICMP. S'il n'est pas installé, vous pouvez l'installer en:fping
envoie les paquets ICMP ECHO_REQUEST et marque un hôte comme Up s'il obtient ECHO_RESPONSE de l'hôte.Par exemple, pour analyser les hôtes du sous
192.168.1.0/24
- réseau , vous pouvez faire:Pour un nombre spécifique d'hôtes, par exemple de
192.168.1.15
à192.168.1.140
:fping
est hautement configurable, par exemple combien de paquets seront envoyés, le temps d’attente pour la réponse, le format de sortie, etc.Vérifiez
man fping
pour avoir plus d'idée.la source