J'ai accès à deux ordinateurs (A et B) sur un réseau. Les deux ont obtenu une adresse IP statique avec un masque de sous-réseau de 255.255.255.128 (j'ai vérifié qu'un serveur DHCP n'était pas utilisé). Je veux configurer plusieurs adresses IP sur la même machine et donc je veux savoir quelles sont toutes les adresses IP déjà utilisées dans le sous-réseau.
À partir d'une question précédente , j'ai essayé la nmap -sP -PR 172.16.128.*
commande, mais je suis sceptique quant à son résultat car la même commande donne des résultats différents sur mes deux ordinateurs (A et B). Sur A, les spectacles de résultats, une liste de 8 adresses IP qui sont (soi - disant) déjà utilisé, y compris celle de A et B .
Nmap done: 256 IP addresses (8 hosts up) scanned in 1.23 seconds
Mais sur B, le résultat est différent c'est-à-dire,
Nmap done: 256 IP addresses (0 hosts up) scanned in 0.00 seconds
Le résultat sur B n'affiche même pas sa propre adresse IP ainsi que l'adresse IP de A!
Qu'est-ce que je fais exactement de mal ici? Existe-t-il un moyen infaillible dans Red Hat Linux (RHEL) de découvrir toutes les adresses IP utilisées dans le sous-réseau dont mon ordinateur fait partie?
RHEL: 6.5
Nmap version: 5.51
la source
nmap -sP -PR '172.16.128.*'
Réponses:
Tout périphérique qui se comporte bien sur un réseau local Ethernet est libre d'ignorer presque tout le trafic, de sorte que les PING, les analyses de port, etc. ne sont pas tous fiables. Les appareils ne sont cependant pas libres d'ignorer les requêtes ARP , afaik. Étant donné que vous spécifiez que vous analysez un réseau local, je trouve que la méthode la moins fragile pour faire ce que vous voulez est d'essayer de vous connecter à une adresse distante, puis de regarder dans mon cache ARP.
Voici un périphérique simple et non filtrant (c'est-à-dire qui n'est pas configuré pour ignorer certaines classes de trafic IP):
Voici un périphérique de filtrage (un configuré avec une seule ligne
iptables
pour ignorer tout le trafic):Voici un appareil qui vient de tomber; notez l'absence d'une adresse MAC:
Cette méthode n'est pas infaillible - il manque des appareils éteints, pour une chose - mais c'est la méthode la moins terrible que j'aie encore essayée.
Edit : Eric Duminil, oui, cela ne fonctionne que sur un réseau local; voir paragraphe un.
Vishal, les méthodes sont fonctionnellement identiques. Notez le texte cité dans la réponse de Leo sur
nmap
:Sa méthode implique moins de frappe. Le mien peut être fait sans privilège et peut vous donner une meilleure compréhension de ce qui se passe réellement. Mais la même chose se fait sur le fil dans les deux cas.
la source
arp
.sudo -u root
(souvent abrégésudo
), mais aussi simplement être connecté en tant que root, ou l'avoir fait/bin/su
, d'où le terme générique.Puisqu'un appareil ne peut pas ignorer les requêtes ARP, j'aime utiliser un outil nommé
arp-scan
. Il est disponible dans la plupart des référentiels.Lorsque vous exécutez la commande avec le
--localnet
commutateur, elle vous donnera un aperçu de l'ensemble de votre réseau interne.Me donne une liste de toutes les adresses IP et MAC sur mon réseau. Il est également possible de spécifier une plage réseau à analyser.
Si plusieurs interfaces réseau sont configurées, vous pouvez spécifier celle que vous souhaitez utiliser avec le commutateur
-I
.Plus d'informations sur les commutateurs possibles peuvent être trouvées sur https://linux.die.net/man/1/arp-scan ou en exécutant
man arp-scan
.la source
Je ne sais pas quelle version de nmap vous exécutez dans votre Red Hat 6.5, mais pour les versions récentes, la manière correcte (et plus rapide) je pense que ce serait:
nmap -sn -n 172.16.128.0/25
Cela répertoriera chaque hôte de votre réseau (vous pouvez donc utiliser n'importe quelle autre IP de ce sous-réseau, car elle devrait être disponible).
Modifier et noter: Le sous-réseau que vous mentionnez est 255.255.255.128, mais vous affichez ensuite la sortie comme analysant 254 hôtes. À moins que je manque quelque chose, cela devrait être un masque / 25 et 126 hôtes disponibles. Si vous souhaitez analyser un / 24, modifiez la commande ci-dessus pour interroger les 254 hôtes.
Du livre nmap,
-sP
est interrompu et remplacé par-sn
:Il
-n
s'agit d'éviter la résolution DNS des clients (rend l'analyse plus rapide):Vous pouvez utiliser d'autres combinaisons pour approfondir l'analyse ou les services, mais cela devrait suffire pour ce que vous recherchez, sauf si les hôtes se masquent ou abandonnent tout.
Source: https://nmap.org/book/man-host-discovery.html
la source
nmap -sn -n 172.16.128.1/24
place (comme je l'ai dit dans la réponse ci-dessus, cela analysera un 255.255. 255,0 masque)Partie 1 - fping
Cet outil envoie un ping à tout ce qui se trouve dans la plage réseau spécifiée et affiche ceux qui répondent via ICMP.
Partie 2 - arp
Depuis que fping a parlé de tout sur le LAN, cela aura entraîné l'ajout d'une entrée à la table ARP du système. Lisez-le en quelques minutes, car la table arp vide les anciennes entrées.
Notez également que la table ARP a une taille maximale et que le noyau expulsera les entrées anciennes et à faible utilisation.
Mettez le tout ensemble avec
puis parcourez arp.txt à votre guise.
la source
IPv6
Ne présumez pas que IPv4 est votre seule option. De nombreux systèmes d'exploitation modernes gèrent très bien IPv6, même si votre FAI ne fournit pas de connectivité V6.
Il peut même y avoir des périphériques qui ne sont accessibles que par IPv6, ou même d'autres protocoles.
Il y a un tas d'adresses de multidiffusion pratiques documentées dans https://en.wikipedia.org/wiki/Multicast_address#IPv6 Mais la plus intéressante pour vous est ff02 :: 1
la source
Une mauvaise réponse consiste à cingler l'adresse de diffusion avec
Il y a environ 50 adresses IP sur ce réseau avec un masque de réseau / 16 et seulement sept ont répondu. Ce n'est donc pas une bonne solution.
la source
En plus de la réponse de MadHatter, il existe un outil qui effectue la recherche arp sans essayer d'envoyer un paquet réseau en premier: arping .
Il semble y avoir deux implémentations:
Pour votre objectif, je prendrais simplement le paquet de votre distribution Linux car les différences ne sont probablement que dans les détails.
la source
À l'époque où les dinosaures parcouraient la terre, les proto-nerds utilisaient arpwatch
page de manuel arpwatch
la source
Connectez-vous à vos commutateurs et lancez
show mac-address
des commandes ou des commandes similaires (selon la marque et le modèle). Cela vous donnera toutes les adresses MAC des appareils actifs (à l'exception de vous-même). Si aucun de ces MAC ne se produit parmi les MAC trouvés avec l'une des commandes ping ou d'autres méthodes dans les autres réponses, vous souhaiterez peut-être étudier plus en détail le périphérique concerné. Peut-être que cela n'a pas d'importance car il ne parle même pas IP ou appartient à un autre VLAN, mais au moins vous pouvez obtenir un aperçu de la précision de vos autres sondes.la source