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é?
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
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:
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
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.