Mac OS-Befehl zum Auflösen von Hostnamen wie "getent" unter Linux

9

Ich möchte einen Befehl, der einen Hostnamen in eine IP-Adresse auflöst, genauso wie ein normales Programm den Hostnamen auflösen würde. Mit anderen Worten, es muss mDNS ( .local) und /etc/hostssowie reguläres DNS berücksichtigen . Das hostschließt also aus , digund nslookupda alle drei dieser Tools nur reguläres DNS verwenden und keine .localAdressen auflösen .

Unter Linux macht der getentBefehl genau das, was ich will . Existiert getentjedoch nicht unter OS X.

Gibt es ein Mac OS X-Äquivalent von getent ? Ich bin mir bewusst, dass ich mit ein paar Zeilen einen schreiben könnte getaddrinfo, und das werde ich tun, wenn ich muss, aber ich habe mich nur gefragt, ob es bereits einen Standardbefehl gibt, der das kann.

Vielen Dank!

user31708
quelle

Antworten:

10

Ich denke, das dscacheutilist was du suchst. Es unterstützt Caching, / etc / hosts, mDNS (für .local).

dscacheutil -q host -a name foo.local

Eine andere Option ist dns-sd

dns-sd -q foo.local

Weitere Informationen zu dnscacheutil .

user422009
quelle