Quelle est la meilleure façon d’obtenir le nom de l’ordinateur à distance en fonction d’une adresse IP?

J’ai plusieurs machines Windows identifiées par adresse IP. Je voudrais écrire une application qui interroge les ordinateurs à distance et obtient leur nom. Je ne peux pas compter sur DNS car il ne fournit pas de résultats exacts.

J’ai entendu dire qu’il existe une API NetBIOS qui peut être utilisée, mais je ne connais pas cette API.

vérifier getnameinfo

La fonction getnameinfo fournit une résolution de noms indépendante du protocole d’une adresse à un nom d’hôte ANSI et d’un numéro de port au nom du service ANSI.

PING -A xxx.xxx.xxx.xxx 

Cela va essayer WINS puis DNS.

La commande NSLOOKUP fait la même NSLOOKUP , mais uniquement via DNS.

C’est le but exact de RARP ou DHCP .

Sous Windows, un fichier dll (DHCPobj.dll) est disponible dans l’un des kits de ressources Microsoft qui vous permet d’effectuer des requêtes de ce type sur votre serveur DHCP local. Je n’ai jamais joué avec, donc je ne peux pas dire avec certitude comment ça marche.