Comando do Mac OS para resolver nomes de host como "getent" no Linux

9

Eu gostaria de um comando que resolva um nome de host para um endereço IP, da mesma maneira que um programa normal resolveria o nome de host. Em outras palavras, ele deve levar em consideração o mDNS ( .local) e /etc/hostso DNS comum. Assim que as regras para fora host, dige nslookup, uma vez que todos os três dessas ferramentas usar somente DNS regular e não resolverá .localendereços.

No Linux, o getentcomando faz exatamente o que eu quero . No entanto, getentnão existe no OS X.

Existe um equivalente do Mac OS X getent? Estou ciente de que poderia escrever uma em algumas linhas usando getaddrinfo, e é isso que farei se for necessário, mas estava me perguntando se já havia um comando padrão que poderia fazê-lo.

Obrigado!

user31708
fonte

Respostas:

10

Eu acho dscacheutilque é o que você está procurando. Ele suporta cache, / etc / hosts, mDNS (para .local).

dscacheutil -q host -a name foo.local

Outra opção é dns-sd

dns-sd -q foo.local

Mais informações sobre dnscacheutil .

user422009
fonte