nslookup, hosti digsą doskonale dobrymi narzędziami do zapytań DNS w OS X, ale wszystkie one odpytują DNS bezpośrednio, zamiast przechodzić przez wewnętrzny system rozpoznawania OS X. W rezultacie nie sprawdzają pliku / etc / hosts ani nie rozpoznają nazw Bonjour / mDNS (tych, które kończą się na .local). Standardowym (szybkim i brudnym) sposobem na przetestowanie rozdzielczości jest użycie ping, ponieważ rozwiąże ona adres podany przez zwykły system przed próbą pingowania. Jeśli chcesz czegoś przeznaczonego do tego celu, użyj dscacheutilzamiast tego:
$ 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
Jednym z problemów związanych z używaniem dscacheutil do wyszukiwania jest to, że jeśli nie może rozwiązać nazwy hosta, nie kończy działania z niezerowym kodem powrotu, tak jak host.
gulple
Aby przezwyciężyć brak przydatnych kodów powrotu, stworzyłem najbardziej podstawowy skrypt powłoki, który uzupełnia standardowe polecenie „host”. #!/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
gulple
4
Każde polecenie działa dobrze. To, że nie używa metod OS X, nie oznacza, że nie działa. Jeśli chcesz użyć „metod OS X”, czy mogę polecić Narzędzie sieciowe?
Może to nadal wywoływać whois i wyświetlać je w oknie.
#!/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
Każde polecenie działa dobrze. To, że nie używa metod OS X, nie oznacza, że nie działa. Jeśli chcesz użyć „metod OS X”, czy mogę polecić Narzędzie sieciowe?
Może to nadal wywoływać whois i wyświetlać je w oknie.
źródło
.local
adresy, prawda?