Introdução:

Introdução:

Preciso verificar um registro PTR para ter certeza de que um script que possuo está enviando e-mails que serão realmente recebidos pelos meus usuários e não serão marcados incorretamente como spam.

Entendo que o ISP proprietário da faixa de IP deve configurar o registro PTR, mas como posso verificar se ele já está configurado?

Responder1

Se você temUnix ou Linux, você pode fazer isso digitando em um prompt de comando:

dig -x xx.yy.zz.aa

Você receberá uma resposta com sua autoridade de aa.zz.yy.xx.in-addr.arpa e servidor resolvendo para este endereço.

Emjanelasvocê pode fazer nslookup xx.yy.zz.aa.

Você também pode verificaron-linenowww.intodns.come insira seu domínio... Ocorrerá um erro nos resultados ao verificar uma pesquisa de zona reversa.

xx.yy.zz.aa = O endereço IP que você está tentando resolver


Atualizar:

Ao usar dig, nslookup ou host, é frequentemente útil usar um servidor DNS fora do seu controle, como o Google (8.8.8.8), para obter a confirmação de que tudo está certo de terceiros. –Zoredache

Zoredache faz um bom argumento. Aqui estão os comandos para testar/resolver servidores DNS externos/externos:

Dig (testando DNS reverso no servidor DNS do Google 8.8.8.8):

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

Host e Nslookup (testando DNS reverso no servidor DNS do Google 8.8.8.8)

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

Responder2

Sei que isso foi marcado como respondido, mas quero fornecer uma resposta mais abrangente. Para meus exemplos usarei:

  1. google.comendereço IP de172.217.3.206porque issofazter um registro PTR.
  2. serverfault. comendereço IP de151.101.1.69porque issonãoter um registro PTR.

A primeira coisa a notar é digum comando multiplataforma, você pode obtê-lo para Windows noSite do ISC BINDlistado em BIND e selecione sua plataforma Windows (32 ou 64 bits). Possui muitas outras ferramentas, incluindo seu próprio binário nslookup. Eu não uso essa versão nslookup.exe, em vez disso uso a versão padrão que vem com o Windows (C:\Windows\System32\nslookup.exe). No entanto, se quiser usar, digvocê pode editar sua variável de ambiente PATH local ou mover a digferramenta para sua pasta C:\Windows\System32.

Comando 1) dig PTR 206.3.217.172.in-addr.arpa– Tradicionalmente, é assim que um usuário realizaria uma pesquisa reversa de DNS. Eles transporiam manualmente o endereço IP: 172.217.3.206to 206.3.217.172(observe a ordem de cada um dos quatro octetos) e adicionariam in-addr.arpaao final da string. Aqui está o resultado:

; <<>> 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 versão do comando é bem mais simples, conforme descrito no dig -h, o -xflag é um "atalho para pesquisas reversas". A saída é idêntica à saída mostrada acima no comando anterior.

Comando 3) dig -x 151.101.1.69- Este exemplo mostra como fica quando um registro PTR não é encontrado, usando o exemplo serverfault.com. Como você pode ver, a resposta não lista um PTR e só pode encontrar o 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 é o comando sugerido pelo usuáriol0c0b0xna resposta principal deste tópico. Embora seja verdade que existe um resultado, não está claro se este é um registro PTR ou algum outro tipo de registro. Acho que, por padrão, ele retorna um PTR se receber um IP, mas ainda quero ter certeza. Também omite outros registros se houver vários PTRs:

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- Use este comando para ver a lista completa, incluindo o tipo de registro e a lista completa de resultados. A -debugflag persiste, para desativá-la você deve 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 versão do comando especifica registros PTR com o -typesinalizador. É diferente da versão sem -typebandeira de duas maneiras. A primeira é listar todas as respostas do PTR. A segunda é que inclui a informação “Resposta não oficial” que o outro comando deixa de incluir. Se você observar cuidadosamente a saída de depuração acima, o authority recordsestado 0, ambos os comandos devem indicar "Resposta não autoritativa".

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– Veja como você obteria o máximo de detalhes possível sobre a solicitação de pesquisa reversa completa. Lembrete: para desligá-lo use -nodebuge -nod2. Este exemplo está falhando propositalmente no exemplo 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- Você pode estar se perguntando se pode usar o método tradicional de pesquisa reversa de DNS nslookupcomo fizemos no Comando 1 com dig. Você pode. Observe as mesmas falhas do nslookup listadas acima (Comando 6) entre este comando e aquele com o -type=PTRsinalizador definido abaixo (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 você pode esperar, parece idêntico ao 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

Responder3

É o mesmo que fazer qualquer tipo de pesquisa de DNS.

Em um prompt de comando do Windows:nslookup.exe <ip address>

Em uma linha de comando do Linux:host <ip address>

Nota: Provavelmente é melhor executar esses comandos em um computador fora da sua rede, para que você acesse um servidor DNS público. Alternativamente, tanto o nslookup quanto o host oferecem maneiras de especificar o servidor DNS a ser usado.

Responder4

Introdução:

(2) exemplos, um para IPv4 e outro para IPv6.
O procedimento de pesquisa PTR IPv6 levou séculos para encontrar uma resposta para...

IPv4:

Usaremos o IP do Google para o exemplo IPv4:

host -t PTR 209.85.218.49

Retorna o mapeamento reverso:

49.218.85.209.in-addr.arpa domain name pointer mail-ej1-f49.google.com.

IPv6:

PASSO 1: Obtenha o endereço IPv6 do host (geralmente um servidor de e-mail):

host -t AAAA mail.yourServer.net

Isso retorna o endereço IPv6 que precisamos para a pesquisa PTR na próxima etapa:

mail.yourServer.net has IPv6 address 2001:340:1c1e:14::2

PASSO 2:Agora forneça o endereço IPv6 ao hostcomando:

host -t PTR 2001:340:1c1e:14::2

Retorna o registro PTR IPv6:

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.

OBSERVAÇÃO: o endereço IPv6 foi anonimizado.

Desde que o Hurricane Electric me deu oBloco IPv6 GRATUITO, eu configurei o DNS IPv6 reverso diretamente em seuPainel de controle DNSpara servidor de correio.

Gerador IPv6 reverso:

Obviamente, o registro PTR IPv6 acima é um pouco maluco e, sendo preguiçoso, usei apenas um gerador IPv6 reverso para criá-lo para meu servidor de e-mail. Existem outros, mas usei o seguinte para derivar o valor correto para o IPv6 reverso:

https://www.whatsmydns.net/reverse-dns-generator

informação relacionada