Come posso controllare un record PTR?


30

Devo controllare un record PTR per assicurarmi che uno script in mio possesso stia inviando e-mail che saranno effettivamente ricevute dai miei utenti e non saranno erroneamente contrassegnate come spam.

Comprendo che l'ISP proprietario dell'intervallo IP deve impostare il record PTR, ma come posso verificare se è già impostato?


Ciao Daisetsu, volevo solo menzionare il tuo commento: "l'ISP che possiede l'intervallo IP deve impostare il record PTR", non è l'ISP. Questo è configurato con il tuo registrar. Se possedevi "daisetsu.com", potresti creare un record PTR per il tuo dominio. È inoltre possibile creare un record PTR locale se si dispone di un dominio interno sul server DNS.
projectdp,

Risposte:


42

Se hai Unix o Linux , puoi farlo digitando questo al prompt dei comandi:

dig -x xx.yy.zz.aa

Riceverai una risposta con la tua autorità di aa.zz.yy.xx.in-addr.arpa e il server che risolverà a questo indirizzo.

In Windows puoi farlo nslookup xx.yy.zz.aa.

Puoi anche controllare online su www.intodns.com e inserire il tuo dominio ... Si verificherà un errore nei risultati durante la ricerca di una zona inversa.

xx.yy.zz.aa = L'indirizzo IP che stai cercando di risolvere


Aggiornare:

Quando si utilizza dig, nslookup o host è spesso utile utilizzare un server DNS al di fuori del proprio controllo come Google (8.8.8.8) in modo da ottenere la conferma che le cose sono giuste da una terza parte. - Zoredache

Zoredache ha ragione. Ecco i comandi per testare / risolvere server DNS esterni / esterni:

Dig (test DNS inverso sul server DNS di Google di 8.8.8.8):

dig -x zz.yy.xx.aa @8.8.8.8

Host e Nslookup (test DNS inverso sul server DNS di Google dell'8.8.8.8)

nslookup zz.yy.xx.aa 8.8.8.8
host zz.yy.xx.aa 8.8.8.8

1
Quando si utilizza dig, nslookup o host è spesso utile utilizzare un server DNS al di fuori del proprio controllo come Google (8.8.8.8) in modo da ottenere la conferma che le cose sono giuste da una terza parte.
Zoredache,

12

So che questo è stato contrassegnato come risposta, ma voglio fornire una risposta più completa. Per i miei esempi userò:

  1. google.com s' indirizzo IP 172.217.3.206 , perché ha un record PTR.
  2. l' indirizzo IP di serverfault.com 151.101.1.69 perché non ha un record PTR.

La prima cosa da notare è digun comando multipiattaforma, puoi ottenerlo per Windows sul sito Web ISC BIND elencato in BIND, quindi selezionare la piattaforma Windows (32 o 64 bit). Ha molti altri strumenti tra cui il proprio binario nslookup. Non uso quella versione di nslookup.exe, ma uso quella predefinita fornita con Windows (C: \ Windows \ System32 \ nslookup.exe). Tuttavia, se si desidera utilizzare, digè possibile modificare la variabile di ambiente PATH locale o spostare lo digstrumento nella cartella C: \ Windows \ System32.

Comando 1) dig PTR 206.3.217.172.in-addr.arpa- Tradizionalmente questo è il modo in cui un utente esegue una ricerca DNS inversa. Traspongono manualmente l'indirizzo IP: 172.217.3.206a 206.3.217.172(notate l'ordine di ciascuno dei quattro ottetti) e aggiungono in-addr.arpaalla fine della stringa. Ecco l'output:

; <<>> 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

Comando 2) dig -x 172.217.3.206- Questa versione del comando è molto più semplice, come descritto in dig -h, la -xbandiera è una "scorciatoia per ricerche inverse". L'output è identico all'output mostrato sopra nel comando precedente.

Comando 3) dig -x 151.101.1.69- Questo esempio mostra come appare quando non viene trovato un record PTR, usando l'esempio serverfault.com. Come puoi vedere, la risposta non elenca un PTR e può solo trovare il record SOA di 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

Comando 4) nslookup 172.217.3.174- Questo è il comando suggerito dall'utente l0c0b0x nella risposta principale su questo thread. Sebbene sia vero che esiste un risultato, non è chiaro se si tratta di un record PTR o di un altro tipo di record. Penso che di default restituisca un PTR se gli viene dato un IP, ma voglio ancora esserne sicuro. Omette anche altri record se sono presenti più PTR:

Server:  google-public-dns-a.google.com
Address:  8.8.8.8

Name:    sea15s11-in-f14.1e100.net
Address:  172.217.3.174

Comando 5) nslookup -debug 172.217.3.174: utilizzare invece questo comando per visualizzare l'elenco completo, incluso il tipo di record e l'elenco completo dei risultati. La -debugbandiera persiste, per spegnerla devi usare -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

Comando 6) nslookup -type=PTR 172.217.3.174- Questa versione del comando specifica i record PTR con il -typeflag. È diverso rispetto alla versione senza -typebandiera in due modi. Il primo è che elenca tutte le risposte PTR. Il secondo è che include l'informazione "Risposta non autorevole" che l'altro comando trascura di includere. Se osservi attentamente l'output di debug, lo authority recordsstato 0, quindi entrambi questi comandi dovrebbero indicare "Risposta non autorevole".

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

Comando 7) nslookup -debug -d2 -type=PTR 151.101.1.69- Ecco come ottenere il maggior numero possibile di dettagli sulla richiesta di ricerca inversa completa. Promemoria: per disattivarlo utilizzare -nodebuge -nod2. Questo esempio è intenzionalmente fallito nell'esempio serverfault.com:

------------
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

Comando 8) nslookup 174.3.217.172.in-addr.arpa- Forse ti starai chiedendo se puoi usare il tradizionale metodo di ricerca DNS inversa con nslookupcome abbiamo fatto nel Comando 1 con dig. Puoi. Notare gli stessi errori di nslookup elencati sopra (comando 6) tra questo comando e quello con il -type=PTRflag impostato di seguito (comando 9):

Server:  google-public-dns-a.google.com
Address:  8.8.8.8

Name:    174.3.217.172.in-addr.arpa

Comando 9) nslookup -type=PTR 174.3.217.172.in-addr.arpa- Come puoi immaginare, sembra identico al Comando 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

Nessun problema, penso che mi manchino ancora alcune conoscenze sul significato e sul significato dell'autorità in relazione all'output. Farò qualche ricerca e lo aggiungerò quando avrò finito.
projectdp,

Questa dovrebbe essere la risposta accettata. Incoraggio l'OP a contrassegnarlo come tale.
Niall Cosgrove,

1

È lo stesso che fare qualsiasi tipo di ricerca DNS.

Da un prompt dei comandi di Windows: nslookup.exe <ip address>

Da una riga di comando di Linux: host <ip address>

Nota: è probabilmente consigliabile eseguire questi comandi da un computer esterno alla rete, in modo da accedere a un server DNS pubblico. In alternativa, sia nslookup che host offrono modi per specificare il server DNS da utilizzare.

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.