Qual è il metodo preferito per la ricerca del nome di dominio (DNS) da riga di comando?


11

Quale comando da riga di comando utilizzo per cercare un indirizzo di dominio?

Quando guardo le pagine man di nslookup e dig, vedo una sezione che dice che queste utility non usano i metodi Mac OS per trovare i nomi.

Quindi, quale comando dovrei eseguire?

Risposte:


25

nslookup, hoste digsono 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 dscacheutilinvece:

$ 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

Complimenti. Ho presentato un Radar in cui le manpage dovrebbero essere più chiare su questo: openradar.me/radar?id=5038477976535040
Sören Kuklau il

Un problema con l'uso di dscacheutil per le ricerche è che se non è in grado di risolvere un nome host non esce con un codice di ritorno diverso da zero come fa l'host.
gorgogliare

Per ovviare alla mancanza di utili codici di ritorno, ho creato uno script shell di base per integrare il comando standard '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
gorgogliare

4

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?

inserisci qui la descrizione dell'immagine

Questo può ancora chiamare whois e semplicemente visualizzarlo nella finestra.


Immagino che questo non funzioni per gli .localindirizzi, vero?
Piotr Findeisen,

No, questo non funzionerà per gli indirizzi .local. Questo utilizza un server whois pubblico e gli indirizzi .local non verranno pubblicati qui.
Everett,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.