Komenda Mac OS, aby rozwiązać nazwy hostów, takie jak „getent” w systemie Linux

9

Chciałbym polecenia, które przekształci nazwę hosta na adres IP, w taki sam sposób, jak normalny program rozpozna nazwę hosta. Innymi słowy, musi uwzględniać mDNS ( .local) oraz /etc/hostsregularny DNS. To wyklucza host, diga nslookupponieważ wszystkie trzy narzędzia używają tylko zwykłego DNS i nie rozpoznają .localadresów.

W systemie Linux getentpolecenie robi dokładnie to, co chcę . Jednak getentnie istnieje w systemie OS X.

Czy istnieje odpowiednik Mac OS X getent? Wiem, że mógłbym napisać jeden w kilku wierszach getaddrinfo, i to właśnie zrobię, jeśli będę musiał, ale zastanawiałem się, czy istnieje już standardowe polecenie, które by to zrobiło.

Dzięki!

użytkownik31708
źródło

Odpowiedzi:

11

Myślę, że dscacheutilwłaśnie tego szukasz. Obsługuje buforowanie, / etc / hosts, mDNS (dla .local).

dscacheutil -q host -a name foo.local

Inną opcją jest dns-sd

dns-sd -q foo.local

Więcej informacji o dnscacheutil .

użytkownik422009
źródło