web-dev-qa-db-fra.com

nmap trouve tous les noms d'hôte et adresses IP vivants dans le LAN

Comment puis-je émettre une commande nmap qui me montre toutes les machines vivantes [~ # ~] ip [~ # ~] adresses et correspondants nom d'hôte s dans le LAN auquel je suis connecté? (si cela peut être fait d'une autre manière/outil, vous êtes sûrement invités à répondre)

87
şaloma

versions nmap inférieures à 5.30BETA1:

nmap -sP 192.168.1.*

versions plus récentes de nmap:

nmap -sn 192.168.1.*

Cela me donne des noms d'hôtes ainsi que des adresses IP, et ne fait que pinger les hôtes pour les découvrir. Cela vous donnera uniquement les noms d'hôte si vous l'exécutez en tant que root.

MODIFIER: À partir de Nmap 5.30BETA1 [29/03/2010]-sP a été remplacé par -sn comme méthode préférée pour effectuer des analyses ping, tout en ignorant l'analyse des ports, comme l'indiquent les commentaires:

Auparavant, les options -PN et -sP étaient recommandées. Cela établit une syntaxe plus régulière pour certaines options qui désactivent les phases d'une analyse:

  • -n pas de DNS inversé
  • -Pn aucune découverte d'hôte
  • -sn pas de scan de port
92
Cheesebaron
nmap -sP 192.168.1.0/24

Notez que la résolution de noms est aussi bonne que la population DNS inverse. Notez également que cela n'obtiendra pas de systèmes protégés par un pare-feu contre le ping (ce qui est pratiquement le cas pour chaque poste de travail Windows par défaut).

Si vous êtes local aux systèmes (c'est-à-dire sur le même sous-réseau), vous pouvez faire quelque chose comme

for i in `seq 1 254` ; do arping -c 1 192.168.1.$i | grep reply ; done

... mais des choses étranges m'arrivent parfois quand je termine en boucle. Vous devez également faire la recherche vous-même, avec quelque chose comme

Dig +short -x $IP
9
David Mackintosh

Vous pouvez analyser un sous-réseau entier, vous pouvez également utiliser des caractères génériques.

nmap 192.168.8.*

ou

nmap 192.168.8.1/24
5
Jubal

NMAP renverra la "recherche inversée" de l'adresse IP en question, il ne peut pas renvoyer l'adresse de recherche directe. Ou des adresses dans le cas de serveurs Web effectuant un hébergement virtuel basé sur le nom. Nmap n'est pas l'outil pour cela.

4
sysadmin1138

Vous pouvez utiliser la commande suivante:

nmap -v -A $IP
2
EviLiNsiDe

nmap -sP 192.168.0.0/24 produira quelque chose comme:

> nmap -sP 192.168.0.0/24

Starting Nmap 4.00 ( http://www.insecure.org/nmap/ ) at 2010-06-22 22:27 CEST
Host 192.168.0.0 appears to be up.
Host 192.168.0.1 appears to be up.
Host abcd.domain.tld (192.168.0.2) appears to be up.
Host def.domain.tld (192.168.0.3) appears to be up.
Host fdsf.domain.tld (192.168.0.4) appears to be up.
Host reht.domain.tld (192.168.0.5) appears to be up.
Host vcxbfd.domain.tld (192.168.0.6) appears to be up.
Host ezqs.domain.tld (192.168.0.7) appears to be up.
Host 192.168.0.8 appears to be up.
Host ilolio.domain.tld (192.168.0.9) appears to be up.
Host ipbd.domain.tld (192.168.0.10) appears to be up.
Host cdekf.domain.tld (192.168.0.11) appears to be up.
Host 192.168.0.12 appears to be up.
Host 192.168.0.13 appears to be up.
Host 192.168.0.14 appears to be up.
Host 192.168.0.15 appears to be up.
Host ainv.domain.tld (192.168.0.16) appears to be up.
Host 192.168.0.17 appears to be up.
Host 192.168.0.18 appears to be up.
Host wzdkz.domain.tld (192.168.0.19) appears to be up.
[…]
Nmap finished: 256 IP addresses (256 hosts up) scanned in 7.491 seconds
2
radius

Puisqu'il n'y a pas d'adresse IP donnée pour le LAN, nous pourrions supposer que c'est 192.168 mais ce n'est pas toujours le cas, donc la première chose est de découvrir notre adresse IP et notre masque de sous-réseau.

utilisez ifconfig pour cela et utilisez regexp pour nettoyer les résultats

En supposant maintenant que votre Ip est 192.168.0.100 et votre masque 255.255.255.0, vous pouvez numériser 1-254 comme ceci

nmap -sn 192.168.0.1-254 
or 
nmap -sn 192.168.0.0/24

pour voir également les noms d'hôte et les adresses MAC, exécutez-le en tant que root sinon tous les scans s'exécuteront en tant qu'utilisateur non privilégié et tous les scans devront faire une TCP Connect (prise de contact complète à 3 voies) ) pour obtenir quelque chose. En tant que root, vous exécutez Syn et vous n'avez pas besoin de terminer la prise de contact à 3.

C'est essentiellement ce dont vous avez besoin pour répondre à votre question et obtenir ce que vous vouliez. Il existe une multitude de paramètres, mais chacun sert un objectif particulier.

----Éditer

Je viens de remarquer hostname. Vous pouvez utiliser une analyse de découverte de service car elle exécutera plusieurs scripts (dont l'un est nbstat.nse) et renverra les noms d'hôte. Ne vous attendez pas à obtenir les noms d'hôte de toutes les machines que vous analysez.

nmap -sV target

ou vous pouvez simplement exécuter le script nbstat.nse spécifique et gagner du temps et des efforts.

nmap -sU -p137 --script nbstat.nse target

nbstat.nse utilise le port UDP 137. Dans certains cas, vous pouvez également obtenir le nom d'hôte de SNMP à l'aide du script snmp-interfaces, mais cela nécessitera l'ouverture du port UDP 161.

nmap -sU -p161 --script snmp-interfaces.nse target
0
nassim

si cela peut être fait d'une autre manière/outil, vous êtes sûrement invités à répondre

Vous pouvez simplement utiliser la commande arp comme ceci:

$ arp -a
0
RousseauAlexandre

Le meilleur moyen et le plus rapide d'envoyer une requête ping à tous les Ips dans le réseau local consiste à désactiver la résolution inverse DNS

Utilisation :
NMAP -sn 192.168.1.1-255

cela analysera les 255 hôtes dans la plage IP 192.168.1.1 - 192.168.1.255

Si vous voulez un fichier facilement analysable

Utilisation :
NMAP -sn -oG Name.txt 192.168.1.1-255

0
spetzz