Ich muss einen PTR-Eintrag überprüfen, um sicherzustellen, dass ein von mir verwendetes Skript E-Mails sendet, die meine Benutzer tatsächlich empfangen und nicht fälschlicherweise als Spam markiert werden.
Ich verstehe, dass der ISP, dem der IP-Bereich gehört, den PTR-Eintrag einrichten muss, aber wie überprüfe ich, ob er bereits eingerichtet ist?
Antwort1
Wenn Sie habenUnix oder Linux, können Sie dies tun, indem Sie Folgendes in eine Eingabeaufforderung eingeben:
dig -x xx.yy.zz.aa
Sie erhalten eine Antwort mit Ihrer Berechtigung aa.zz.yy.xx.in-addr.arpa und einem Server, der zu dieser Adresse aufgelöst wird.
InWindowsdu kannst tun nslookup xx.yy.zz.aa
.
Sie können auch überprüfenonlinebeiwww.intodns.comund geben Sie Ihre Domäne ein ... Bei der Überprüfung auf eine umgekehrte Zonensuche wird ein Fehler angezeigt.
xx.yy.zz.aa = Die IP-Adresse, die Sie auflösen möchten
Aktualisieren:
Bei der Verwendung von dig, nslookup oder host ist es häufig sinnvoll, einen DNS-Server außerhalb Ihrer Kontrolle wie Google (8.8.8.8) zu verwenden, damit Sie von einem Drittanbieter die Bestätigung erhalten, dass alles richtig ist. –Zoredache
Zoredache ist ein guter Punkt. Hier sind die Befehle zum Testen/Auflösen auf externe/externe DNS-Server:
Dig (Testen von Reverse-DNS auf Googles DNS-Server 8.8.8.8):
dig -x zz.yy.xx.aa @8.8.8.8
Host und Nslookup (Testen von Reverse-DNS auf Googles DNS-Server 8.8.8.8)
nslookup zz.yy.xx.aa 8.8.8.8
host zz.yy.xx.aa 8.8.8.8
Antwort2
Ich weiß, dass dies als beantwortet markiert wurde, aber ich möchte eine umfassendere Antwort geben. Für meine Beispiele werde ich Folgendes verwenden:
- google.comIP-Adresse172.217.3.206weil estuteinen PTR-Eintrag haben.
- serverfault.comIP-Adresse151.101.1.69weil esnichteinen PTR-Eintrag haben.
Das erste, was zu beachten ist, dig
ist ein Multiplattform-Befehl, Sie können ihn für Windows auf derISC BIND-Websiteaufgeführt unter BIND, wählen Sie dann Ihre Windows-Plattform (32 oder 64 Bit). Es hat viele andere Tools, einschließlich seiner eigenen nslookup-Binärdatei. Ich verwende diese nslookup.exe-Version nicht, sondern die Standardversion, die mit Windows geliefert wird (C:\Windows\System32\nslookup.exe). Wenn Sie jedoch verwenden möchten, dig
müssen Sie möglicherweise Ihre lokale PATH-Umgebungsvariable bearbeiten oder das dig
Tool in Ihren Ordner C:\Windows\System32 verschieben.
Befehl 1) dig PTR 206.3.217.172.in-addr.arpa
- Normalerweise führt ein Benutzer so eine umgekehrte DNS-Suche durch. Er transponiert die IP-Adresse manuell in: 172.217.3.206
( 206.3.217.172
beachten Sie die Reihenfolge der vier Oktette) und fügt sie in-addr.arpa
am Ende der Zeichenfolge hinzu. Hier ist die Ausgabe:
; <<>> DiG 9.9.5 <<>> PTR 206.3.217.172.in-addr.arpa
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39790
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;206.3.217.172.in-addr.arpa. IN PTR
;; ANSWER SECTION:
206.3.217.172.in-addr.arpa. 84300 IN PTR sea15s12-in-f206.1e100.net.
206.3.217.172.in-addr.arpa. 84300 IN PTR sea15s12-in-f14.1e100.net.
206.3.217.172.in-addr.arpa. 84300 IN PTR sea15s12-in-f14.1e100.net.
206.3.217.172.in-addr.arpa. 84300 IN PTR sea15s12-in-f206.1e100.net.
;; Query time: 23 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sun Mar 26 04:20:28 Pacific Daylight Time 2017
;; MSG SIZE rcvd: 153
Befehl 2) dig -x 172.217.3.206
- Diese Version des Befehls ist viel einfacher, wie im beschrieben dig -h
, das -x
Flag ist eine „Abkürzung für Reverse Lookups“. Die Ausgabe ist identisch mit der oben im vorherigen Befehl gezeigten Ausgabe.
Befehl 3) dig -x 151.101.1.69
- Dieses Beispiel zeigt, wie es aussieht, wenn kein PTR-Eintrag gefunden wird, und zwar am Beispiel von serverfault.com. Wie Sie sehen, listet die Antwort keinen PTR auf und kann nur den SOA-Eintrag von finden 151.in-addr.arpa
:
; <<>> DiG 9.9.5 <<>> -x 151.101.1.69
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 21854
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;69.1.101.151.in-addr.arpa. IN PTR
;; AUTHORITY SECTION:
151.in-addr.arpa. 1786 IN SOA pri.authdns.ripe.net. dns.ripe.net. 1490512027 3600 600 864000 3600
;; Query time: 23 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sun Mar 26 04:30:38 Pacific Daylight Time 2017
;; MSG SIZE rcvd: 114
Befehl 4) nslookup 172.217.3.174
- Dies ist der vom Benutzer vorgeschlagene Befehll0c0b0xin der Hauptantwort in diesem Thread. Es stimmt zwar, dass ein Ergebnis vorliegt, aber es ist nicht klar, ob es sich um einen PTR-Eintrag oder einen anderen Eintragstyp handelt. Ich glaube, es gibt standardmäßig einen PTR zurück, wenn eine IP angegeben wird, aber ich möchte trotzdem sicher sein. Es lässt auch andere Einträge aus, wenn mehrere PTRs vorhanden sind:
Server: google-public-dns-a.google.com
Address: 8.8.8.8
Name: sea15s11-in-f14.1e100.net
Address: 172.217.3.174
Befehl 5) nslookup -debug 172.217.3.174
- Verwenden Sie stattdessen diesen Befehl, um die vollständige Liste anzuzeigen, einschließlich des Datensatztyps und der vollständigen Ergebnisliste. Die -debug
Markierung bleibt bestehen. Um sie zu deaktivieren, müssen Sie Folgendes verwenden -nodebug
:
------------
Got answer:
HEADER:
opcode = QUERY, id = 1, rcode = NOERROR
header flags: response, want recursion, recursion avail.
questions = 1, answers = 1, authority records = 0, additional = 0
QUESTIONS:
8.8.8.8.in-addr.arpa, type = PTR, class = IN
ANSWERS:
-> 8.8.8.8.in-addr.arpa
name = google-public-dns-a.google.com
ttl = 86141 (23 hours 55 mins 41 secs)
------------
Server: google-public-dns-a.google.com
Address: 8.8.8.8
------------
Got answer:
HEADER:
opcode = QUERY, id = 2, rcode = NOERROR
header flags: response, want recursion, recursion avail.
questions = 1, answers = 4, authority records = 0, additional = 0
QUESTIONS:
174.3.217.172.in-addr.arpa, type = PTR, class = IN
ANSWERS:
-> 174.3.217.172.in-addr.arpa
name = sea15s11-in-f14.1e100.net
ttl = 83026 (23 hours 3 mins 46 secs)
-> 174.3.217.172.in-addr.arpa
name = sea15s11-in-f174.1e100.net
ttl = 83026 (23 hours 3 mins 46 secs)
-> 174.3.217.172.in-addr.arpa
name = sea15s11-in-f14.1e100.net
ttl = 83026 (23 hours 3 mins 46 secs)
-> 174.3.217.172.in-addr.arpa
name = sea15s11-in-f174.1e100.net
ttl = 83026 (23 hours 3 mins 46 secs)
------------
Name: sea15s11-in-f14.1e100.net
Address: 172.217.3.174
Befehl 6) nslookup -type=PTR 172.217.3.174
- Diese Version des Befehls gibt PTR-Datensätze mit dem -type
Flag an. Sie unterscheidet sich -type
in zweierlei Hinsicht von der Version ohne Flag. Erstens listet sie alle PTR-Antworten auf. Zweitens enthält sie die Information „Nicht autoritative Antwort“, die der andere Befehl nicht enthält. Wenn Sie sich die Debug-Ausgabe oben genau ansehen, sehen Sie den authority records
Status 0, daher sollten beide Befehle „Nicht autoritative Antwort“ angeben.
Server: google-public-dns-a.google.com
Address: 8.8.8.8
Non-authoritative answer:
174.3.217.172.in-addr.arpa name = sea15s11-in-f14.1e100.net
174.3.217.172.in-addr.arpa name = sea15s11-in-f14.1e100.net
174.3.217.172.in-addr.arpa name = sea15s11-in-f174.1e100.net
174.3.217.172.in-addr.arpa name = sea15s11-in-f174.1e100.net
Befehl 7) nslookup -debug -d2 -type=PTR 151.101.1.69
- So erhalten Sie so viele Details wie möglich über die vollständige Reverse-Lookup-Anfrage. Erinnerung: Um sie auszuschalten, verwenden Sie -nodebug
und -nod2
. Dieses Beispiel schlägt beim Beispiel von serverfault.com absichtlich fehl:
------------
SendRequest(), len 38
HEADER:
opcode = QUERY, id = 1, rcode = NOERROR
header flags: query, want recursion
questions = 1, answers = 0, authority records = 0, additional = 0
QUESTIONS:
8.8.8.8.in-addr.arpa, type = PTR, class = IN
------------
------------
Got answer (82 bytes):
HEADER:
opcode = QUERY, id = 1, rcode = NOERROR
header flags: response, want recursion, recursion avail.
questions = 1, answers = 1, authority records = 0, additional = 0
QUESTIONS:
8.8.8.8.in-addr.arpa, type = PTR, class = IN
ANSWERS:
-> 8.8.8.8.in-addr.arpa
type = PTR, class = IN, dlen = 32
name = google-public-dns-a.google.com
ttl = 86280 (23 hours 58 mins)
------------
Server: google-public-dns-a.google.com
Address: 8.8.8.8
------------
SendRequest(), len 43
HEADER:
opcode = QUERY, id = 2, rcode = NOERROR
header flags: query, want recursion
questions = 1, answers = 0, authority records = 0, additional = 0
QUESTIONS:
69.1.101.151.in-addr.arpa, type = PTR, class = IN
------------
------------
Got answer (103 bytes):
HEADER:
opcode = QUERY, id = 2, rcode = NXDOMAIN
header flags: response, want recursion, recursion avail.
questions = 1, answers = 0, authority records = 1, additional = 0
QUESTIONS:
69.1.101.151.in-addr.arpa, type = PTR, class = IN
AUTHORITY RECORDS:
-> 151.in-addr.arpa
type = SOA, class = IN, dlen = 48
ttl = 1787 (29 mins 47 secs)
primary name server = pri.authdns.ripe.net
responsible mail addr = dns.ripe.net
serial = 1490512027
refresh = 3600 (1 hour)
retry = 600 (10 mins)
expire = 864000 (10 days)
default TTL = 3600 (1 hour)
------------
*** google-public-dns-a.google.com can't find 69.1.101.151.in-addr.arpa.: Non-ex
istent domain
Befehl 8) nslookup 174.3.217.172.in-addr.arpa
– Sie fragen sich vielleicht, ob Sie die traditionelle umgekehrte DNS-Suchmethode verwenden können, nslookup
wie wir es in Befehl 1 mit getan haben dig
. Sie können. Beachten Sie die gleichen nslookup-Fehler, die ich oben aufgelistet habe (Befehl 6), zwischen diesem Befehl und dem mit dem -type=PTR
unten gesetzten Flag (Befehl 9):
Server: google-public-dns-a.google.com
Address: 8.8.8.8
Name: 174.3.217.172.in-addr.arpa
Befehl 9) nslookup -type=PTR 174.3.217.172.in-addr.arpa
– Wie Sie vielleicht erwarten, sieht er identisch aus wie Befehl 6.
Server: google-public-dns-a.google.com
Address: 8.8.8.8
Non-authoritative answer:
174.3.217.172.in-addr.arpa name = sea15s11-in-f14.1e100.net
174.3.217.172.in-addr.arpa name = sea15s11-in-f14.1e100.net
174.3.217.172.in-addr.arpa name = sea15s11-in-f174.1e100.net
174.3.217.172.in-addr.arpa name = sea15s11-in-f174.1e100.net
Antwort3
Dies ist dasselbe wie jede andere Art der DNS-Suche.
Von einer Windows-Eingabeaufforderung aus:nslookup.exe <ip address>
Von einer Linux-Befehlszeile:host <ip address>
Hinweis: Am besten führen Sie diese Befehle von einem Computer außerhalb Ihres Netzwerks aus, damit Sie auf einen öffentlichen DNS-Server zugreifen. Alternativ bieten sowohl nslookup als auch host Möglichkeiten, den zu verwendenden DNS-Server anzugeben.
Antwort4
Einleitung:
(2) Beispiele, eines für IPv4 und eines für IPv6.
Es hat ewig gedauert, bis ich eine Antwort auf das IPv6 PTR-Suchverfahren gefunden habe ...
IPv4:
Für das IPv4-Beispiel verwenden wir die IP von Google:
host -t PTR 209.85.218.49
Gibt die umgekehrte Zuordnung zurück:
49.218.85.209.in-addr.arpa domain name pointer mail-ej1-f49.google.com.
IPv6:
SCHRITT 1: Ermitteln Sie die IPv6-Adresse des Hosts (normalerweise ein Mailserver):
host -t AAAA mail.yourServer.net
Dies gibt die IPv6-Adresse zurück, die wir für die PTR-Suche im nächsten Schritt benötigen:
mail.yourServer.net has IPv6 address 2001:340:1c1e:14::2
SCHRITT 2:Geben Sie nun dem Befehl die IPv6-Adresse an host
:
host -t PTR 2001:340:1c1e:14::2
Gibt den IPv6-PTR-Eintrag zurück:
2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.4.1.0.0.e.1.c.1.0.4.3.0.1.0.0.2.ip6.arpa domain name pointer mail.yourServer.net.
NOTIZ: Die IPv6-Adresse wurde anonymisiert.
Seit Hurricane Electric mir dieKOSTENLOSER IPv6-Block, habe ich den Reverse IPv6 DNS direkt in ihremDNS-Kontrollfeldfür Mailserver.
Reverse-IPv6-Generator:
Offensichtlich ist der obige IPv6-PTR-Eintrag ein bisschen verrückt und da ich faul war, habe ich einfach einen Reverse-IPv6-Generator verwendet, um ihn für meinen Mailserver zu erstellen. Es gibt noch andere, aber ich habe Folgendes verwendet, um den richtigen Wert für das Reverse-IPv6 abzuleiten: