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

7

Eu gostaria de um comando que resolva um nome de host para um endereço IP, da mesma forma que um programa normal resolveria o nome do host. Em outras palavras, ele deve levar em conta mDNS ( .local ) e /etc/hosts , bem como DNS regular. Isso exclui host , dig e nslookup , pois todas essas três ferramentas usam apenas DNS regular e não resolvem .local endereços.

No Linux, o comando getent faz exatamente o que eu quero . No entanto, getent não existe no OS X.

Existe um equivalente de getent no Mac OS X? Estou ciente de que poderia escrever uma em poucas linhas usando getaddrinfo , e é isso que farei se for preciso, mas estava pensando se já havia um comando padrão que pudesse fazer isso.

Obrigado!

    
por user31708 25.06.2017 / 21:23

1 resposta

7

Acho que dscacheutil é o que você está procurando. 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 .

    
por 26.06.2017 / 12:44