Je suis un développeur Web qui essaie de mieux maîtriser la sécurité. J'essaie de trouver un moyen (sur les distributions basées sur Linux / Debian) de répertorier tous les ordinateurs sur le même réseau local que mon netbook. J'ai essayé "arp -n" mais je ne pense pas que ce soit une liste complète, car mon iPhone est connecté au même routeur wi-fi que mon netbook, et cela n'a pas été mis à jour. Existe-t-il un meilleur moyen d’obtenir une liste complète des machines partageant la même passerelle?
networking
wireless-networking
security
CaptSaltyJack
la source
la source
Réponses:
Obtenez nmap . C'est le programme utilisé par Trinity dans Matrix et vous pouvez effectuer une analyse pour trouver tous les périphériques connectés au réseau local et plus encore.
Voici le guide de référence.
la source
sudo apt-get install nmap
C’est ce que j’utilise, nmap et une adresse utilisant la notation de bloc CIDR du réseau que vous souhaitez analyser. Vous devez d’abord installer nmap car il est possible qu’elle ne soit pas préinstallée avec votre distribution. Sur Ubuntu:
Ensuite, déterminez votre adresse réseau en utilisant ifconfig:
Sortie ifconfig pour l'interface que je souhaite analyser:
Utilisez l'inet addr et le masque pour déterminer l'adresse réseau dans la notation CIDR, plus d'informations sur CIDR ici . L'adresse est:
Exécutez nmap en utilisant le paramètre -sP, qui n’analysera que si l’hôte est en ligne:
La sortie nmap ressemblera à ceci:
Voilà, si vous avez besoin d’aide supplémentaire avec nmap, consultez la documentation officielle de nmap ou exécutez:
la source
nmap -sA 192.168.1.0/24
nmap avec l' option-sA
présente les mêmes résultats descriptifs avec une meilleure lisibilité, qui comprend le nom de l' appareil, IP, Mac, etc comme avec l' option-sP
.. Personnellement , je préfère -sA sur -sP pour des raisons de lisibilité.arp -n
affiche uniquement les machines de votre réseau local avec lesquelles votre machine a déjà parlé. Vous pouvez mieux peupler cette liste en envoyant une requête ping aux adresses de diffusion et de multidiffusions de tous les hôtes:L'adresse de diffusion "tous les" (en binaire). Notez que la plupart des piles IP traduiront cette information en adresses de diffusion de sous-réseau pour tous les sous-réseaux auxquels vous êtes attaché:
Adresse de diffusion du sous-réseau pour votre sous-réseau actuel. Donc, en supposant que vous soyez sur 192.168.1.0/24:
L'adresse multicast "tous les hôtes". J'aime beaucoup celui-ci car il est plus probable que des hôtes configurés pour d'autres sous-réseaux IP soient connectés au même réseau Ethernet que vous:
Notez que cette méthode et les autres méthodes mentionnées jusqu'à présent dans d'autres réponses ne recherchent que les hôtes accessibles sur IP sur le réseau actuel. C'est probablement tout ce dont vous avez besoin, mais il est possible pour un attaquant d'espionner un réseau ou de faire de mauvaises choses à un réseau sans être visible via IP.
la source
ip neigh
ethosts
. NO nmap requis / NO sudo requis .Sur cette base, vous pouvez créer un script Python:
Télécharger via
(ou simplement
arp
... je n'avais pas vu ça avant)la source
ip neigh | awk '{ print $1 }' | xargs -n1 host
ip n
pour faire court. Peut-être mieuxip n | grep REACHABLE
.Je n'ai pas trouvé les réponses existantes suffisamment satisfaisantes, alors j'ai pensé essayer. Après tout, la FAQ suggère de fournir un contexte pour les liens .
nmap
est génial, même si un peu déroutant à utiliser. Voici quelque chose que je lance pour découvrir les périphériques réseau locaux qui sont principalement copier-coller.nmap -sP
(ounmap -sn
) scanne en faisant un ping . Il existe d'autres options pour "découverte de l'hôte", comme avecnmap -sL
ounmap -Pn
.Voie n ° 1.
Voie n ° 2. Je sais que cela fonctionne, mais je ne peux pas dire si c'est la bonne façon de faire.
Je serais heureux de savoir s'il existe des moyens plus efficaces. Jusque-là, je m'en tiens à cela.
la source
Vous pouvez essayer de faire un ping de tous les sous-réseaux avec un petit script shell Linux par exemple
la source
ip n
dit ÉCHEC à tous.Hunt est un outil de ligne de commande capable de créer une liste de machines lors de leur diffusion sur le réseau pour obtenir des informations. Il utilise les données TCP, UDP, ICMP et ARP pour créer une liste d'adresses MAC actives sur un réseau. C'est un outil passif qui fonctionne en écoutant sur le fil.
la source
Pour une liste plus compacte d'appareils connectés:
Explication.
nmap -sL 192.168.0.*
listera toutes les IP du sous-réseau et marquera celles qui ont un nom:Comme tous les enregistrements intéressants commencent par des parenthèses
(
et des chiffres1
, nous filtrons pour cela avec| grep \(1
(une barre oblique inverse est nécessaire pour échapper à la parenthèse)Quirk
Méfiez-vous que si deux périphériques portent le même nom,
nmap
seul celui qui a été connecté au dernier routeur sera affiché.la source
Pour analyser l’état d’une plage d’adresses IP, c’est simple et agréable:
Où:
Remarque:
-sn
était connu sous le nom de-sP
Je l'ai fait sur Mac OS X (basé sur BSD). Je ne suis pas sûr si la version Linux a des différences.
la source
Vous pouvez utiliser fping
sudo apt-get install fping
(dans les systèmes d’exploitation de type debian).fping est similaire au ping, mais beaucoup plus performant lors du ping de plusieurs hôtes. Le drapeau -r 1 indique à Fping de ne faire qu'un tour. La partie 2> 1 permet à grep de filtrer la sortie.
Afficherait quelque chose comme:
Il existe également un indicateur intéressant pour nmap qui vous permet de voir le fournisseur de MAC - s’il est connu. Utilisez avec sudo pour voir les adresses MAC.
Vous obtiendrez par exemple:
la source
1. Solution alternative si les émissions
nmap
ne sont pas disponibles:2a. ou demandez simplement à votre serveur de nom de domaine :
2b. sans awk
envoie une requête ping à tous les périphériques réseau pingables du sous-réseau 192.168.2.0/24 en parallèle (pour réduire le temps d’exécution). Ensuite,
arp
chaque appareil qui a répondu doit être affiché.ne vérifie pas les connexions actives ou actuelles, mais répertorie toutes les connexions du service de domaine local conserve une entrée, même les plus anciennes.
Explication plus détaillée:
seq 254
pour créer tous les nombres de 1 à 254 (pour tous les numéros de 100 à 150:seq 100 150
)xargs
appelleping
et remplace "IP" (-iIP
) par leseq
numéro uence de stdin, de sorte que 192.168.2.IP devient 192.168.2.1 pour le premierseq
numéro,-P
spécifie le nombre deping
processus simultanésxargs
devant démarrer, je choisis le même montant +1 comme adresse ( = 254) je suis intéressé.ping
avec l'adresse IP modifiée par xargs (192.168.2.IP
) et uniquement ping une fois (-c1
); vous devez utiliser le même identifiant que celui spécifié pour xargs sur l'-i
argument dans ce casIP
grep time=
pour supprimer chaque ligne contenant des informations superflues, nous ne nous intéressons qu'aux réponses, qui fournissent un temps aller-retour (= obtenu une réponse)arp -a
afficher les paires de noms valides (ip)J'appelle cela ma commande pingall et je l' ai rendue disponible via un alias dans
~/.bashrc
:la source