Comando Mac OS para resolver nombres de host como "getent" en Linux

9

Me gustaría un comando que resuelva un nombre de host en una dirección IP, de la misma manera que un programa normal resolvería el nombre de host. En otras palabras, debe tener en cuenta mDNS ( .local) y /etc/hosts, así como DNS normal. Eso descarta host, digy nslookup, dado que las tres herramientas solo usan DNS normal y no resuelven .localdirecciones.

En Linux, el getentcomando hace exactamente lo que quiero . Sin embargo, getentno existe en OS X.

¿Hay un equivalente de Mac OS X de getent? Soy consciente de que podría escribir uno en unas pocas líneas usando getaddrinfo, y eso es lo que haré si es necesario, pero me preguntaba si ya había un comando estándar que pudiera hacerlo.

¡Gracias!

usuario31708
fuente

Respuestas:

10

Creo que dscacheutiles lo que estás buscando. Admite almacenamiento en caché, / etc / hosts, mDNS (para .local).

dscacheutil -q host -a name foo.local

Otra opción es dns-sd

dns-sd -q foo.local

Más información sobre dnscacheutil .

usuario422009
fuente