Ich habe diesen Befehl verwendet, um zu überprüfen, ob ich die Einstellungen bei einem DNS-Anbieter korrekt vorgenommen habe:
host hostname.example.com ns1.example-nameserver.com
Soweit ich das beurteilen kann, fragt diese ns1.example-nameserver.com
nachschlagen hostname.example.com
und meldet die Antwort. Ich erhielt eine Antwort, die vom Host nicht gefunden wurde, und dachte, ich hätte es falsch gemacht. Ohne Angabe des Nameservers (damit der Nameserver meines ISP nachschlagen kann) erhielt ich jedoch die richtige Antwort ( hostname
ist eine, CNAME
wenn es darauf ankommt). Ich konnte das nicht verstehen, also suchte ich herum und fand den dig
Befehl:
dig @ns1.example-nameserver.com hostname.example.com
Soweit ich das beurteilen kann, funktioniert dies genauso wie der host
Befehl - fordert einen bestimmten Nameserver auf, einen Host nachzuschlagen. Ich komme daher zu dem Schluss, dass sie es irgendwie anders machen müssen und dass das Zwischenspeichern von Nameservern dieselbe Methode wie verwenden muss dig
.
Meine Schlussfolgerung ist entweder richtig oder falsch, wenn es richtig ist:
Was ist der Unterschied zwischen diesen beiden Suchmethoden?
Wenn es falsch ist:
Was sind meine Missverständnisse über DNS und die Befehle host
und dig
, die mich zu dieser Schlussfolgerung geführt haben?
Beispielausgabe:
$ host cardiff.tzmchapters.org ns1.livedns.co.uk
Using domain server:
Name: ns1.livedns.co.uk
Address: 213.171.192.250#53
Aliases:
Host cardiff.tzmchapters.org not found: 3(NXDOMAIN)
$ dig @ns1.livedns.co.uk cardiff.tzmchapters.org
; <<>> DiG 9.8.3-P1 <<>> @ns1.livedns.co.uk cardiff.tzmchapters.org
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 23620
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0
;; WARNING: recursion requested but not available
;; QUESTION SECTION:
;cardiff.tzmchapters.org. IN A
;; ANSWER SECTION:
cardiff.tzmchapters.org. 3600 IN CNAME ghs.google.com.
;; AUTHORITY SECTION:
google.com. 3600 IN SOA ns1.livedns.co.uk. admin.google.com. 1354213742 10800 3600 604800 3600
;; Query time: 27 msec
;; SERVER: 213.171.192.250#53(213.171.192.250)
;; WHEN: Mon Apr 22 23:47:05 2013
;; MSG SIZE rcvd: 128
quelle
dig
undhost
BerichtNXDOMAIN
. Mitdig
können Sie es in der Kopfzeile (5. nicht leere Zeile der Ausgabe) sehen und mit isthost
es offensichtlicher.NXDOMAIN
bedeutet, dass die Domain nicht existiert. ImCNAME
Antwortbereich wird jedoch a zurückgegeben! Ich glaube, das ist ein Fehler im DNS-Server!dig
undhost
beide senden genau die gleiche Abfrage - Paket, erhält genau die gleiche Antwortpaket (abgesehen von irgendwelchen Zeitstempeln), aber es anders interpretieren? Wirdhost
gerettet, sobald es siehtNXDOMAIN
?Antworten:
host
,,dig
undnslookup
alle haben die gleiche Funktionalität. In dem Fall, in dem Sie nachfragen (eine bestimmte DNS-Frage an einen bestimmten Nameserver stellen)dig
und sichhost
(und tatsächlichnslookup
) genau gleich verhalten.Für die DNS-Fehlerbehebung
dig
wird dies bevorzugt, da das Ausgabeformat "roher" ist: In der Ausgabe wird der Inhalt aller 4 Felder in der DNS-Antwort direkt angezeigt: Frage, Antwort, Berechtigung und zusätzliche Abschnitte (plus die Flags in der Kopfzeile). und es hat auch mehr Optionen.host
Auf der anderen Seite hat ein benutzerfreundlicheres Ausgabeformat.Wenn Sie nicht zufällig eine Option benötigen, die einer der Befehle hat und die anderen nicht, oder eine Information, die einer von ihnen ausgibt und die anderen nicht, dann kommt es auf eine Frage der Präferenz an.
quelle
host
aber bei der Verwendung die richtige Antwortdig
? Selbst wenn der Server mit einer bestimmten Einstellung (entweder nach Wahl oder aus Versehen) konfiguriert ist, um dies zu verursachen, muss er in der Lage sein, die Anforderungen zu unterscheiden.dig
Sie eine tatsächliche Antwort erhalten haben und keine Aufzeichnung im Abschnitt "Zusatz" oder "Autorität"? Wie Renan vorschlägt, könnte es hilfreich sein, die Ausgabe anzuzeigen.host
funktioniert dies einwandfrei. Bitte versuchen Sie es selbst und teilen Sie mir die Ergebnisse mit.dig
Wird eine Abfrage anders durchgeführt, als dies bei einem Nameserver der Fall wäre?Wenn Sie den Nicht-FQDN-Hostnamen verwenden, können die Ergebnisse unterschiedlich sein, da
host
die Suchdomänen in verwendet werdenresolv.conf
, währenddig
dies standardmäßig nicht der Fall ist.Sie müssen die
+search
Option verwenden, wenn Siedig
sie verwendenresolv.conf
(oder hinzufügen~/.digrc
) möchten .Beispielsweise:
quelle