Trouver des noms d'ordinateurs sur un réseau privé (avec nmap?)

10

Sur un réseau local, je souhaite connaître les noms de tous les ordinateurs connectés à l'aide d'un programme multiplateforme, de préférence nmap. Je sais que je peux faire

nmap -sn xxx.xxx.xxx.xxx/24

(où xxx.xxx.xxx.xxx est une adresse IP locale) pour rechercher les hôtes qui sont actifs, mais comment trouver les noms d'hôte des ordinateurs? Diffusent-ils cela d'une manière que je peux trouver en utilisant nmap?

MISE À JOUR: Il semble que Angry IP Scanner puisse le faire. Comment fait-il cela? Puis-je le répliquer avec nmap?

bsamek
la source
3
quels noms d'hôtes? Noms DNS? Demandez à votre serveur DNS.
ragnq
@ragnq nslookup ne me donne pas de nom d'hôte, mais Angry Port Scanner le fait. J'essaie de comprendre comment faire cela avec nmap et / ou des outils de ligne de commande.
bsamek

Réponses:

0

J'ai utilisé nmap et d'autres scanners IP tels que le scanner IP Angry. Mon observation était que Nmap utilisait le DNS inversé pour résoudre les noms d'hôte, donc pour que cela fonctionne, le serveur DNS devrait avoir des enregistrements de pointeur inversé pour les hôtes. J'ai trouvé que d'autres scanners suivent une requête PTR avec une requête Netbios.

Si vous êtes sûr que tous les hôtes du réseau cible sont des hôtes Windows et qu'ils ont NETBIOS activé, vous pouvez utiliser l' outil nbtscan pour les analyser.

Benny
la source
3

D'après la FAQ d'Angry IP Scanner (" Noms d'hôtes non affichés "):

Angry IP Scanners affiche les noms d'hôte renvoyés par votre serveur DNS (nom), en effectuant une recherche inversée . Le serveur reçoit l'adresse IP et renvoie le nom d'hôte s'il le connaît.

Si un ordinateur connaît son propre nom, cela ne signifie pas qu'il lui a fourni le serveur DNS du réseau. En d'autres termes, le nom de l'hôte tel qu'il le connaît lui-même (le nom local) et le nom attaché à l'adresse IP (le nom global) tel qu'il est connu du serveur DNS peuvent ne pas toujours correspondre.

Très souvent, les requêtes DNS renvoient certains noms génériques, par exemple dhcp-12-13.superisp.com, en particulier dans les réseaux ISP.

Les noms correspondent dans l'un ou l'autre de ces cas:

  • Votre ordinateur a envoyé le nom au serveur DHCP à partir duquel il a obtenu l'adresse IP et le serveur DHCP l'a fourni au serveur DNS local
  • Vous avez une adresse IP statique et votre nom d'hôte local est configuré selon les règles qui correspondent à la convention de dénomination globale de votre réseau
  • La pile TCP de votre hôte renvoie le nom local si l'adresse IP locale est interrogée, sans demander le nom global

De la documentation de Nmap (" Host Discovery "):

Par défaut, Nmap fait toujours une résolution DNS inversée sur les hôtes pour connaître leurs noms.

Lecture / info supplémentaires ici .

Ƭᴇcʜιᴇ007
la source
Sur le réseau sur lequel je travaille, Angry IP Scanner me montre les noms d'hôtes, probablement en faisant une recherche DNS inversée. Ce que vous dites, c'est que nmap effectue également une recherche inversée. Mais il n'affiche pas les noms d'hôtes. Comment puis-je le faire afficher les noms d'hôtes? Ou est-ce le mauvais outil pour ce travail?
bsamek
1

Il s'avère que je dois spécifier --system-dnspour obtenir les noms des machines sur le réseau. Je ne sais pas pourquoi cela fonctionne. Peut-être y a-t-il quelque chose d'inattendu dans la configuration du DNS?

MISE À JOUR: En fait, cela fonctionne sur un VLAN mais pas sur un autre, mais Angry IP Scanner fonctionne sur les deux.

bsamek
la source
0

Vous pouvez également l'utiliser nmap -A xxx.xxx.xxx.xxx pour afficher les noms d'hôtes dans la sortie. sur mon réseau, je le fais passer par grep pour obtenir juste les informations que je veux. ~grep -e 'scan report' -e 'Computer name'

linuxfreak003
la source