Wie überprüfe ich einen PTR-Datensatz?

30

Ich muss einen PTR-Datensatz überprüfen, um sicherzustellen, dass ein Skript, über das ich verfüge, E-Mails sendet, die tatsächlich von meinen Benutzern empfangen und nicht fälschlicherweise als Spam markiert werden.

Ich verstehe, dass der ISP, der den IP-Bereich besitzt, den PTR-Datensatz einrichten muss, aber wie überprüfe ich, ob er bereits eingerichtet ist?

Daisetsu
quelle
Hallo Daisetsu, ich wollte nur über Ihren Kommentar erwähnen: "Der ISP, der den IP-Bereich besitzt, muss den PTR-Datensatz einrichten", es ist nicht der ISP. Dies wird mit Ihrem Registrar konfiguriert. Wenn Sie Eigentümer von "daisetsu.com" sind, können Sie einen PTR-Eintrag für Ihre eigene Domain erstellen. Sie können auch einen lokalen PTR-Eintrag erstellen, wenn sich auf Ihrem DNS-Server eine interne Domäne befindet.
ProjectDP

Antworten:

42

Wenn Sie Unix oder Linux haben , können Sie dies tun, indem Sie dies an einer Eingabeaufforderung eingeben:

dig -x xx.yy.zz.aa

Sie erhalten eine Antwort mit Ihrer Genehmigung von aa.zz.yy.xx.in-addr.arpa und dem Server, der diese Adresse auflöst.

In Windows können Sie tun nslookup xx.yy.zz.aa.

Sie können auch online unter www.intodns.com nachsehen und Ihre Domain eingeben ... Bei der Überprüfung der Ergebnisse für eine Reverse-Zone-Suche treten Fehler auf.

xx.yy.zz.aa = Die IP-Adresse, die Sie auflösen möchten


Aktualisieren:

Wenn Sie dig, nslookup oder host verwenden, ist es häufig nützlich, einen DNS-Server außerhalb Ihrer Kontrolle wie Google (8.8.8.8) zu verwenden, damit Sie die Bestätigung erhalten, dass die Dinge von einem Drittanbieter richtig sind. - Zoredache

Zoredache macht einen guten 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 von 8.8.8.8)

nslookup zz.yy.xx.aa 8.8.8.8
host zz.yy.xx.aa 8.8.8.8
l0c0b0x
quelle
1
Wenn Sie dig, nslookup oder host verwenden, ist es häufig nützlich, einen DNS-Server außerhalb Ihrer Kontrolle wie Google (8.8.8.8) zu verwenden, damit Sie die Bestätigung erhalten, dass die Dinge von einem Drittanbieter richtig sind.
Zoredache
12

Ich weiß, dass dies als beantwortet markiert wurde, möchte aber eine umfassendere Antwort geben. Für meine Beispiele verwende ich:

  1. google.com ‚s IP - Adresse 172.217.3.206 , weil es tut einen PTR - Eintrag haben.
  2. serverfault.com ‚s IP - Adresse 151.101.1.69 , weil es nicht eine PTR - Aufzeichnung.

Das erste, was Sie beachten müssen, ist digein Multiplattform-Befehl. Sie können ihn für Windows auf der ISC BIND-Website unter BIND herunterladen und dann Ihre Windows-Plattform (32- oder 64-Bit) auswählen. Es hat viele andere Tools, einschließlich seiner eigenen nslookup-Binärdatei. Ich verwende nicht diese Version von nslookup.exe, sondern die mit Windows gelieferte Standardversion (C: \ Windows \ System32 \ nslookup.exe). Wenn Sie jedoch verwenden möchten, digkönnen Sie die lokale Umgebungsvariable PATH bearbeiten oder das digTool in den Ordner C: \ Windows \ System32 verschieben.

Befehl 1) dig PTR 206.3.217.172.in-addr.arpa- Normalerweise führt ein Benutzer auf diese Weise eine umgekehrte DNS-Suche durch. Sie würden die IP-Adresse manuell transponieren: 172.217.3.206um 206.3.217.172(beachten Sie die Reihenfolge der vier Oktette) und in-addr.arpaam Ende der Zeichenfolge hinzufügen . 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 in beschrieben dig -h, das -xFlag 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 anhand des Beispiels serverfault.com, wie es aussieht, wenn kein PTR-Datensatz gefunden wird. Wie Sie sehen, listet die Antwort keinen PTR auf und kann nur den SOA-Datensatz finden von 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 Befehl, den Benutzer l0c0b0x in der primären Antwort auf diesen Thread vorgeschlagen hat. Es stimmt zwar, dass ein Ergebnis vorliegt, es ist jedoch nicht klar, ob es sich um einen PTR-Datensatz oder einen anderen Datensatztyp handelt. Ich denke, es gibt standardmäßig einen PTR zurück, wenn er eine IP-Adresse hat, aber ich möchte trotzdem sicher sein. Es werden auch andere Datensätze ausgelassen, 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 diesen Befehl, um die vollständige Liste einschließlich des Datensatztyps und der vollständigen Ergebnisliste anzuzeigen. Das -debugFlag bleibt bestehen. Um es auszuschalten, 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 -typeFlag an. Es unterscheidet sich -typein zweierlei Hinsicht von der Version ohne Flagge. Der erste ist, dass alle PTR-Antworten aufgelistet werden. Das zweite ist, dass es die Information "Nicht autorisierende Antwort" enthält, die der andere Befehl nicht berücksichtigt. Wenn Sie sich die Debug-Ausgabe oben genau ansehen, geben Sie den authority recordsStatus 0 an. Daher sollten beide Befehle den Status "Nicht autorisierende Antwort" aufweisen.

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-Anforderung. Erinnerung: Zum Ausschalten -nodebugund verwenden -nod2. Dieses Beispiel schlägt im Beispiel 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 möglicherweise, ob Sie die herkömmliche Reverse-DNS-Suchmethode nslookupwie in Befehl 1 mit verwenden können dig. Sie können. Beachten Sie die gleichen nslookup-Fehler, die ich oben aufgeführt habe (Befehl 6), zwischen diesem Befehl und dem Befehl mit dem -type=PTRunten 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 zu erwarten, sieht er identisch mit Befehl 6 aus.

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
projectdp
quelle
Kein Problem, ich glaube, mir fehlen noch einige Kenntnisse über die Bedeutung und den Stellenwert von Autorität in Bezug auf die Ausgabe. Ich werde etwas recherchieren und es hinzufügen, wenn ich fertig bin.
ProjectDP
Dies sollte die akzeptierte Antwort sein. Ich ermutige das OP, es als solches zu kennzeichnen.
Niall Cosgrove
1

Dies ist das Gleiche wie eine DNS-Suche.

Von einer Windows-Eingabeaufforderung aus: nslookup.exe <ip address>

Von einer Linux-Befehlszeile aus: host <ip address>

Hinweis: Es ist wahrscheinlich am besten, diese Befehle von einem Computer außerhalb Ihres Netzwerks auszuführen, damit Sie auf einen öffentlichen DNS-Server zugreifen können. Alternativ bieten sowohl nslookup als auch host Möglichkeiten, den zu verwendenden DNS-Server anzugeben.

Evan
quelle