Respostas:
nslookup
, host
E dig
são perfeitamente boas ferramentas de consulta DNS em OS X, mas todos eles DNS consulta diretamente em vez de ir através do sistema de resolução interna do OS X. Como resultado, eles não verificam o arquivo / etc / hosts ou resolvem os nomes do Bonjour / mDNS (aqueles que terminam em .local). A maneira padrão (rápida e suja) de testar a resolução é usar ping
, pois ela resolverá o endereço que você fornecer através do sistema usual antes de tentar executar o ping. Se você deseja algo destinado a esse propósito, use dscacheutil
:
$ dscacheutil -q host -a name www.apple.com
name: e3191.c.akamaiedge.net
alias: www.apple.com www.isg-apple.com.akadns.net www.apple.com.edgekey.net
ip_address: 184.24.141.15
$ ping www.apple.com
PING e3191.c.akamaiedge.net (184.24.141.15): 56 data bytes
64 bytes from 184.24.141.15: icmp_seq=0 ttl=57 time=57.258 ms
^C
--- e3191.c.akamaiedge.net ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 57.258/57.258/57.258/0.000 ms
#!/usr/bin/env bash STAT=1 LOOKUPRESULT="$(dscacheutil -q host -a name "$1")" if [ -z "$LOOKUPRESULT" ] ; then exit "$STAT" else echo "$LOOKUPRESULT" STAT=0 exit "$STAT" fi
Qualquer comando funciona bem. Só porque não está usando os métodos do OS X, não significa que não funcione. Se você deseja usar os "métodos do OS X", posso recomendar o Network Utility?
Isso ainda pode chamar whois e apenas exibi-lo na janela.
.local
endereços, funciona?