¿Cómo verifico un registro PTR?

30

Necesito verificar un registro PTR para asegurarme de que un script que tengo está enviando correos electrónicos que mis usuarios realmente recibirán y que no se marcarán incorrectamente como spam.

Entiendo que el ISP que posee el rango de IP tiene que configurar el registro PTR, pero ¿cómo puedo verificar si ya está configurado?

Daisetsu
fuente
Hola Daisetsu, solo quería mencionar tu comentario: "el ISP que posee el rango de IP tiene que configurar el registro PTR", no es el ISP. Esto se configura con su registrador. Si poseyeras 'daisetsu.com' podrías crear un registro PTR para tu propio dominio. También puede crear un registro PTR local si tiene un dominio interno en su servidor DNS.
projectdp

Respuestas:

42

Si tiene Unix o Linux , puede hacerlo escribiendo esto en un símbolo del sistema:

dig -x xx.yy.zz.aa

Obtendrá una respuesta con su autoridad de aa.zz.yy.xx.in-addr.arpa y servidor resolviendo a esta dirección.

En Windows puedes hacer nslookup xx.yy.zz.aa.

También puede verificar en línea en www.intodns.com e ingresar su dominio ... Se producirá un error en los resultados al verificar una búsqueda de zona inversa.

xx.yy.zz.aa = La dirección IP que está tratando de resolver


Actualizar:

Cuando se usa dig, nslookup o host, a menudo es útil usar un servidor DNS fuera de su control como Google (8.8.8.8) para que pueda confirmar que las cosas son correctas de un tercero. - Zoredache

Zoredache hace un buen punto. Estos son los comandos para probar / resolver en servidores DNS externos / externos:

Dig (prueba de DNS inverso en el servidor DNS de Google de 8.8.8.8):

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

Host y Nslookup (prueba de DNS inverso en el servidor DNS de Google de 8.8.8.8)

nslookup zz.yy.xx.aa 8.8.8.8
host zz.yy.xx.aa 8.8.8.8
l0c0b0x
fuente
1
Cuando se usa dig, nslookup o host, a menudo es útil usar un servidor DNS fuera de su control como Google (8.8.8.8) para que pueda confirmar que las cosas son correctas de un tercero.
Zoredache
12

Sé que esto se ha marcado como respondido, pero quiero proporcionar una respuesta más completa. Para mis ejemplos usaré:

  1. google.com 's dirección IP 172.217.3.206 , ya que lo hace tener un registro PTR.
  2. serverfault.com 's dirección IP 151.101.1.69 , ya que no tiene un registro PTR.

Lo primero que debe tener en cuenta es digun comando multiplataforma, puede obtenerlo para Windows en el sitio web de ISC BIND incluido en BIND, luego seleccione su plataforma de Windows (32 o 64 bits). Tiene muchas otras herramientas, incluido su propio binario nslookup. No uso esa versión nslookup.exe, en su lugar uso la predeterminada que viene con Windows (C: \ Windows \ System32 \ nslookup.exe). Sin embargo, si desea utilizarlo dig, puede editar la variable de entorno PATH local o mover la digherramienta a su carpeta C: \ Windows \ System32.

Comando 1) dig PTR 206.3.217.172.in-addr.arpa: tradicionalmente, así es como un usuario realizaría una búsqueda inversa de DNS. Transpondrían manualmente la dirección IP: 172.217.3.206a 206.3.217.172(observe el orden de cada uno de los cuatro octetos) y la agregarían in-addr.arpaal final de la cadena. Aquí está la salida:

; <<>> 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: esta versión del comando es mucho más simple, como se describe en dig -h, el -xindicador es un "acceso directo para búsquedas inversas". La salida es idéntica a la salida mostrada anteriormente en el comando anterior.

Comando 3) dig -x 151.101.1.69: este ejemplo muestra cómo se ve cuando no se encuentra un registro PTR, utilizando el ejemplo serverfault.com. Como puede ver, la respuesta no enumera un PTR, y solo puede encontrar el registro SOA de 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: este es el comando sugerido por el usuario l0c0b0x en la respuesta principal de este hilo. Si bien es cierto que hay un resultado, no está claro si se trata de un registro PTR o de algún otro tipo de registro. Creo que por defecto devuelve un PTR si se le da una IP, pero todavía quiero estar seguro. También omite otros registros si hay múltiples 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: utilice este comando para ver la lista completa, incluido el tipo de registro y la lista completa de resultados. La -debugbandera persiste, para apagarla debes usar -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: esta versión del comando especifica registros PTR con la -typebandera. Es diferente a la versión sin la -typebandera de dos maneras. La primera es que enumera todas las respuestas PTR. El segundo es que incluye la información "Respuesta no autorizada" que el otro comando no incluye. Si observa cuidadosamente la salida de depuración, el authority recordsestado 0, por lo que ambos comandos deberían indicar "Respuesta no autorizada".

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: así es como obtendría tantos detalles como sea posible sobre la solicitud de búsqueda inversa completa. Recordatorio: para desactivarlo, use -nodebugy -nod2. Este ejemplo falla deliberadamente en el ejemplo 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: puede que se pregunte si puede usar el método tradicional de búsqueda inversa de DNS con el nslookupque hicimos en el Comando 1 con dig. Usted puede. Observe las mismas fallas nslookup que enumeré anteriormente (Comando 6) entre este comando y el que tiene la -type=PTRbandera establecida a continuación (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: como es de esperar, parece idéntico 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
projectdp
fuente
No hay problema, creo que todavía me falta algo de conocimiento sobre el significado y la importancia de la autoridad en lo que respecta a la salida. Investigaré un poco y lo agregaré cuando termine.
projectdp
Esta debería ser la respuesta aceptada. Animo al OP a marcarlo como tal.
Niall Cosgrove
1

Es lo mismo que hacer cualquier tipo de búsqueda DNS.

Desde un símbolo del sistema de Windows: nslookup.exe <ip address>

Desde una línea de comando de Linux: host <ip address>

Nota: Probablemente sea mejor ejecutar estos comandos desde una computadora fuera de su red, para acceder a un servidor DNS público. Alternativamente, tanto nslookup como el host ofrecen formas de especificar el servidor DNS que se utilizará.

Evan
fuente