Como verifico um registro PTR?


30

Preciso verificar um registro PTR para garantir que um script que eu tenho esteja enviando e-mails que serão realmente recebidos pelos usuários e que não sejam marcados incorretamente como spam.

Entendo que o ISP que possui o intervalo de IP precisa configurar o registro PTR, mas como verifico se ele já está configurado?


Oi Daisetsu, eu só queria mencionar o seu comentário: "o ISP que possui o intervalo de IP precisa configurar o registro PTR", não é o ISP. Isso está configurado com seu registrador. Se você possui 'daisetsu.com', poderá criar um registro PTR para seu próprio domínio. Você também pode criar um registro PTR local se tiver um domínio interno no servidor DNS.
Projectdp

Respostas:


42

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

dig -x xx.yy.zz.aa

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

No Windows você pode fazer nslookup xx.yy.zz.aa.

Você também pode verificar on - line em www.intodns.com e inserir seu domínio ... Irá 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 que você obtenha a confirmação de que as coisas estão corretas de terceiros. - Zoredache

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

Dig (testando o DNS reverso no servidor DNS do Google de 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 de 8.8.8.8)

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

11
Ao usar dig, nslookup ou host, é frequentemente útil usar um servidor DNS fora do seu controle como o Google (8.8.8.8), para que você obtenha a confirmação de que as coisas estão corretas de terceiros.
precisa

12

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

  1. google.com 's endereço IP 172.217.3.206 porque ele faz tem um registro PTR.
  2. serverfault.com o endereço IP 151.101.1.69 porque ele não tem um registro PTR.

A primeira coisa a observar é digum comando multiplataforma, você pode obtê-lo para Windows no site ISC BIND listado em BIND e, em seguida, selecione sua plataforma Windows (32 ou 64 bits). Possui muitas outras ferramentas, incluindo seu próprio binário nslookup. Não uso essa versão do nslookup.exe, mas a versão padrão que acompanha o Windows (C: \ Windows \ System32 \ nslookup.exe). No entanto, se você quiser usar, digconvém editar sua variável de ambiente PATH local ou mover a digferramenta para a pasta C: \ Windows \ System32.

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

; <<>> 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 é muito mais simples, como descrito em dig -h, o -xsinalizador é 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 é a aparência quando um registro PTR não é encontrado, usando o exemplo serverfault.com. Como você pode ver, a resposta não lista um PTR e pode encontrar apenas 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ário l0c0b0x na resposta principal deste segmento. Embora seja verdade que haja um resultado, não está claro se esse é um registro PTR ou algum outro tipo de registro. Eu acho que, por padrão, retorna um PTR se for dado um IP, mas ainda quero ter certeza. Ele 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 -debugbandeira 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 a -typebandeira de duas maneiras. A primeira é que lista todas as respostas do PTR. A segunda é que inclui as informações "Resposta não autoritativa" que o outro comando deixa de incluir. Se você olhar cuidadosamente acima na saída de depuração, o authority recordsestado 0, portanto, esses dois comandos deverão 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- Aqui está como você obteria o máximo de detalhes possível sobre a solicitação de pesquisa inversa completa. Lembrete: para desativar, use -nodebuge -nod2. Este exemplo está propositalmente falhando 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 de nslookup listadas acima (Comando 6) entre este comando e 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

Não tem problema, acho que ainda estou perdendo algum conhecimento sobre o significado e o significado da autoridade no que se refere à saída. Vou fazer algumas pesquisas e adicioná-las quando terminar.
projectdp

Essa deve ser a resposta aceita. Encorajo o OP a marcá-lo como tal.
Niall Cosgrove

1

É 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ê esteja acessando um servidor DNS público. Como alternativa, o nslookup e o host oferecem maneiras de especificar o servidor DNS a ser usado.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.