Commande Mac OS pour résoudre les noms d'hôte comme «getent» sous Linux

9

Je voudrais une commande qui résoudra un nom d'hôte en adresse IP, de la même manière qu'un programme normal résoudrait le nom d'hôte. En d'autres termes, il doit prendre en compte mDNS ( .local) et /etc/hosts, ainsi que le DNS normal. Donc, cela exclut host, diget nslookup, puisque ces trois outils n'utilisent que le DNS normal et ne résoudront pas les .localadresses.

Sous Linux, la getentcommande fait exactement ce que je veux . Cependant, getentn'existe pas sur OS X.

Existe-t-il un équivalent Mac OS X getent? Je sais que je pourrais en écrire une en quelques lignes en utilisant getaddrinfo, et c'est ce que je ferai si je le dois, mais je me demandais simplement s'il y avait déjà une commande standard qui pourrait le faire.

Merci!

user31708
la source

Réponses:

11

Je pense que dscacheutilc'est ce que vous cherchez. Il prend en charge la mise en cache, / etc / hosts, mDNS (pour .local).

dscacheutil -q host -a name foo.local

Une autre option est dns-sd

dns-sd -q foo.local

Plus d'informations sur dnscacheutil .

user422009
la source