Команда Mac OS для разрешения имен хостов, таких как «getent» в Linux

9

Я хотел бы команду, которая разрешит имя хоста в IP-адрес, так же, как обычная программа будет разрешать имя хоста. Другими словами, он должен учитывать mDNS ( .local) и /etc/hosts, как и обычный DNS. Это исключает host, digи nslookup, поскольку все три из этих инструментов используют только обычный DNS и не разрешают .localадреса.

В Linux getentкоманда делает именно то, что я хочу . Тем getentне менее, не существует на OS X.

Есть ли эквивалент Mac OS X getent? Я знаю, что я мог бы написать одну в несколько строк, используя это getaddrinfo, и это то, что я буду делать, если придется, но мне было просто интересно, есть ли уже стандартная команда, которая могла бы это сделать.

Спасибо!

user31708
источник

Ответы:

11

Я думаю, dscacheutilэто то, что вы ищете. Он поддерживает кеширование, / etc / hosts, mDNS (для .local).

dscacheutil -q host -a name foo.local

Другой вариант dns-sd

dns-sd -q foo.local

Больше информации о dnscacheutil .

user422009
источник