web-dev-qa-db-fra.com

Comment vérifier un enregistrement PTR?

Je dois vérifier un enregistrement PTR pour m'assurer qu'un script dont je dispose envoie des e-mails qui seront réellement reçus par mes utilisateurs et ne seront pas marqués à tort comme spam.

Je comprends que le FAI qui possède la plage IP doit configurer l'enregistrement PTR, mais comment puis-je vérifier s'il est déjà configuré?

32
Daisetsu

Si vous avez Unix ou Linux , vous pouvez le faire en tapant ceci sur une invite de commande:

Dig -x xx.yy.zz.aa

Vous obtiendrez une réponse avec votre autorité de aa.zz.yy.xx.in-addr.arpa et le serveur de résolution à cette adresse.

Dans Windows vous pouvez faire nslookup xx.yy.zz.aa.

Vous pouvez également consulter en ligne sur www.intodns.com et entrez votre domaine ... Il y aura une erreur sur les résultats de la recherche d'une recherche de zone inversée.

xx.yy.zz.aa = L'adresse IP que vous essayez de résoudre


Mise à jour:

Lorsque vous utilisez Dig, nslookup ou Host, il est souvent utile d'utiliser un serveur DNS en dehors de votre contrôle comme Google (8.8.8.8) afin que vous obteniez la confirmation que les choses viennent directement d'un tiers. - Zoredache

Zoredache fait un bon point. Voici les commandes pour tester/résoudre des serveurs DNS externes/externes:

Dig (test du DNS inversé sur le serveur DNS de Google du 8.8.8.8):

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

Hôte et Nslookup (test du DNS inversé sur le serveur DNS de Google du 8.8.8.8)

nslookup zz.yy.xx.aa 8.8.8.8
Host zz.yy.xx.aa 8.8.8.8
46
l0c0b0x

Je sais que cela a été marqué comme une réponse, mais je veux fournir une réponse plus complète. Pour mes exemples, j'utiliserai:

  1. l'adresse IP de google.com 172.217.3.206 car elle le fait ont un enregistrement PTR.
  2. l'adresse IP de serverfault.com 151.101.1.69 car elle ne fonctionne pas ont un enregistrement PTR.

La première chose à noter est Dig est une commande multiplateforme, vous pouvez l'obtenir pour Windows sur le site Web ISC BIND répertorié sous BIND, puis sélectionnez votre plate-forme Windows (32 ou 64 bits) . Il possède de nombreux autres outils, dont son propre binaire nslookup. Je n'utilise pas cette version de nslookup.exe, j'utilise plutôt celle par défaut fournie avec Windows (C:\Windows\System32\nslookup.exe). Toutefois, si vous souhaitez utiliser Dig, vous souhaiterez peut-être modifier votre variable d'environnement PATH locale ou déplacer l'outil Dig dans votre dossier C:\Windows\System32.

Commande 1) Dig PTR 206.3.217.172.in-addr.arpa - Traditionnellement, c'est ainsi qu'un utilisateur effectue une recherche DNS inversée. Ils transposeraient manuellement l'adresse IP: 172.217.3.206 à 206.3.217.172 (notez l'ordre de chacun des quatre octets) et ajoutez in-addr.arpa à la fin de la chaîne. Voici la sortie:

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

Commande 2) Dig -x 172.217.3.206 - Cette version de la commande est beaucoup plus simple, comme décrit dans le Dig -h, le -x flag est un "raccourci pour les recherches inversées". La sortie est identique à la sortie illustrée ci-dessus dans la commande précédente.

Commande 3) Dig -x 151.101.1.69 - Cet exemple montre à quoi il ressemble lorsqu'un enregistrement PTR est introuvable, à l'aide de l'exemple serverfault.com. Comme vous pouvez le voir, la réponse ne répertorie pas un PTR et ne peut trouver que l'enregistrement 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

Commande 4) nslookup 172.217.3.174 - Il s'agit de la commande suggérée par l'utilisateur l0c0b0x dans la réponse principale sur ce fil. S'il est vrai qu'il y a un résultat, il n'est pas clair s'il s'agit d'un enregistrement PTR ou d'un autre type d'enregistrement. Je pense qu'il retourne par défaut un PTR si on lui donne une IP, mais je veux quand même être sûr. Il omet également d'autres enregistrements s'il existe plusieurs PTR:

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

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

Commande 5) nslookup -debug 172.217.3.174 - Utilisez plutôt cette commande pour voir la liste complète, y compris le type d'enregistrement et la liste complète des résultats. Le -debug l'indicateur persiste, pour le désactiver, vous devez utiliser -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

Commande 6) nslookup -type=PTR 172.217.3.174 - Cette version de la commande spécifie les enregistrements PTR avec le -type drapeau. Elle est différente de la version sans -type drapeau de deux manières. Le premier est qu'il répertorie toutes les réponses PTR. La seconde est qu'elle inclut les informations "Réponse sans autorité" que l'autre commande néglige d'inclure. Si vous regardez attentivement la sortie de débogage ci-dessus, le authority records état 0, ces deux commandes doivent donc indiquer "Réponse sans autorité".

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

Commande 7) nslookup -debug -d2 -type=PTR 151.101.1.69 - Voici comment obtenir autant de détails que possible sur la demande de recherche inversée complète. Rappel: pour le désactiver, utilisez -nodebug et -nod2. Cet exemple échoue volontairement sur l'exemple 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

Commande 8) nslookup 174.3.217.172.in-addr.arpa - Vous vous demandez peut-être si vous pouvez utiliser la méthode de recherche DNS inversée traditionnelle avec nslookup comme nous l'avons fait dans la commande 1 avec Dig. Vous pouvez. Notez les mêmes échecs nslookup que ceux listés ci-dessus (commande 6) entre cette commande et celle avec le -type=PTR drapeau défini ci-dessous (commande 9):

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

Name:    174.3.217.172.in-addr.arpa

Commande 9) nslookup -type=PTR 174.3.217.172.in-addr.arpa - Comme vous pouvez vous y attendre, il semble identique à la commande 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
13
projectdp

C'est la même chose que de faire n'importe quel type de recherche DNS.

À partir d'une invite de commande Windows: nslookup.exe <ip address>

Depuis une ligne de commande linux: Host <ip address>

Remarque: il est probablement préférable d'exécuter ces commandes à partir d'un ordinateur en dehors de votre réseau, afin d'accéder à un serveur DNS public. Alternativement, nslookup et Host offrent tous deux des moyens de spécifier le serveur DNS à utiliser.

1
Evan