Risposte:
nslookup
, host
e dig
sono strumenti di query DNS perfettamente validi in OS X, ma tutti eseguono query DNS direttamente anziché passare attraverso il sistema di risoluzione interno di OS X. Di conseguenza, non controllano il file / etc / hosts, né risolvono i nomi Bonjour / mDNS (quelli che terminano con .local). Il modo standard (quick 'n dirty) per testare la risoluzione è usare ping
, poiché risolverà l'indirizzo che gli fornisci attraverso il solito sistema prima di provare a eseguire il ping. Se vuoi qualcosa destinato allo scopo, usa dscacheutil
invece:
$ 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
Entrambi i comandi funzionano correttamente. Solo perché non utilizza i metodi di OS X non significa che non funzioni. Se si desidera utilizzare "Metodi OS X", posso consigliare Network Utility?
Questo può ancora chiamare whois e semplicemente visualizzarlo nella finestra.
.local
indirizzi, vero?