Jaka jest preferowana metoda wyszukiwania nazw domen w wierszu poleceń (DNS)?

11

Jakiego polecenia wiersza polecenia używam do wyszukiwania adresu domeny?

Przeglądając strony podręcznika nslookup i dig, widzę sekcję, w której narzędzia te nie używają metod wyszukiwania nazw w systemie Mac OS.

Więc jakie polecenie powinienem uruchomić?

Jason
źródło

Odpowiedzi:

25

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
Gordon Davisson
źródło
Sława. Złożyłem
Sören Kuklau
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?

wprowadź opis zdjęcia tutaj

Może to nadal wywoływać whois i wyświetlać je w oknie.

Everett
źródło
Myślę, że to nie działa na .localadresy, prawda?
Piotr Findeisen
Nie, to nie zadziała dla adresów lokalnych. Używa to publicznego serwera whois, a adresy lokalne nie będą tam publikowane.
Everett,