Як перевірити запис PTR?


30

Мені потрібно перевірити запис PTR, щоб переконатися, що сценарій, який я маю, надсилає електронні листи, які фактично будуть отримані моїми користувачами і не будуть неправильно позначені як спам.

Я розумію, що провайдер, що володіє діапазоном IP, повинен встановити запис PTR, але як я можу перевірити, чи він уже налаштований?


Привіт, Дайсецу, я просто хотів згадати про ваш коментар: "Інтернет-провайдер, який володіє діапазоном IP, повинен встановити запис PTR", це не провайдер. Це налаштовано з вашим реєстратором. Якщо ви володієте 'daisetsu.com', ви можете створити запис PTR для власного домену. Ви також можете створити локальну запис PTR, якщо у вас є внутрішній домен на сервері DNS.
projectdp

Відповіді:


42

Якщо у вас є Unix або Linux , ви можете зробити це, ввівши це в командному рядку:

dig -x xx.yy.zz.aa

Ви отримаєте відповідь у ваших повноважень aa.zz.yy.xx.in-addr.arpa та сервера, який вирішує цю адресу.

У Windows ви можете це зробити nslookup xx.yy.zz.aa.

Ви також можете перевірити в Інтернеті за адресою www.intodns.com та ввести свій домен ... Помилка під час перевірки результатів для пошуку зворотної зони.

xx.yy.zz.aa = IP-адреса, яку ви намагаєтеся вирішити


Оновлення:

Під час використання dig, nslookup або хосту часто корисно використовувати DNS-сервер поза вашим контролем, як-от Google (8.8.8.8), тому ви отримуєте підтвердження, що це правильно від третьої сторони. - Зоредаче

Зоредач робить хороший момент. Ось команди для тестування / вирішення зовнішніх / зовнішніх серверів DNS:

Dig (тестування зворотного DNS на DNS-сервері Google 8.8.8.8):

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

Хост і Nslookup (тестування зворотного dns на DNS-сервері Google 8.8.8.8)

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

1
Під час використання dig, nslookup або хосту часто корисно використовувати DNS-сервер поза вашим контролем, як-от Google (8.8.8.8), тому ви отримуєте підтвердження, що це правильно від третьої сторони.
Зоредаче

12

Я знаю, що це було позначено як відповідь, але я хочу надати більш вичерпну відповідь. Для моїх прикладів я буду використовувати:

  1. google.com «s IP адреса 172.217.3.206 , тому що це робить мають PTR запис.
  2. serverfault.com «s IP - адреса 151.101.1.69 , тому що він НЕ має PTR запису.

Перше, що слід зауважити, dig- це багатоплатформна команда, ви можете отримати її для Windows на веб-сайті ISC BIND, вказаному в розділі BIND, а потім вибрати вашу платформу Windows (32 або 64 біт). У ньому є багато інших інструментів, включаючи власний двійковий файл nslookup. Я не використовую цю версію nslookup.exe, натомість використовую типову версію, яка постачається із Windows (C: \ Windows \ System32 \ nslookup.exe). Однак якщо ви хочете використовувати dig, можливо, ви захочете відредагувати локальну змінну середовища PATH або перенести digінструмент у папку C: \ Windows \ System32.

Команда 1) dig PTR 206.3.217.172.in-addr.arpa- Традиційно таким чином користувач здійснював би зворотний пошук DNS. Вони вручну перенесуть IP-адресу: 172.217.3.206до 206.3.217.172(помічають порядок кожного з чотирьох октетів) і додають in-addr.arpaдо кінця рядка. Ось вихід:

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

Команда 2) dig -x 172.217.3.206- Ця версія команди набагато простіша, як описано в dig -h, -xпрапор - це "ярлик для зворотного пошуку". Вихід ідентичний виводу, показаному вище в попередній команді.

Команда 3) dig -x 151.101.1.69- Цей приклад показує, як виглядає, коли запис PTR не знайдено, використовуючи приклад serverfault.com. Як бачите, у відповіді не вказано PTR, а можна знайти лише запис SOA 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

Команда 4) nslookup 172.217.3.174- Це команда, запропонована користувачем l0c0b0x в основній відповіді на цьому потоці. Хоча це правда, що є результат, не ясно, чи це запис PTR чи якийсь інший тип запису. Я думаю, що він за замовчуванням повертає PTR, якщо йому надається IP, але я все одно хочу бути впевненим. Він також вимикає інші записи, якщо є кілька PTR:

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

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

Команда 5) nslookup -debug 172.217.3.174- Використовуйте цю команду замість цього, щоб переглянути повний список, включаючи тип запису та повний список результатів. В -debugпрапор зберігається, щоб вимкнути його , ви повинні використовувати -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

Команда 6) nslookup -type=PTR 172.217.3.174- Ця версія команди вказує записи PTR з -typeпрапором. Він відрізняється від версії без -typeпрапора двома способами. Перший - це перелік усіх відповідей PTR. Друга полягає в тому, що вона включає інформацію "Неавторитетна відповідь", яку інша команда нехтує включити. Якщо ви уважно подивіться вище на вихід налагодження, authority recordsстан 0, тож обидві ці команди повинні вказати "Неавторитетна відповідь".

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

Команда 7) nslookup -debug -d2 -type=PTR 151.101.1.69- Ось як би ви отримали якомога більше детальних відомостей про повний запит зворотного пошуку. Нагадування: Щоб вимкнути його, використовуйте -nodebugта -nod2. Цей приклад цілеспрямовано не працює на прикладі 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

Команда 8) nslookup 174.3.217.172.in-addr.arpa- Вам може бути цікаво, чи можете ви використовувати традиційний метод зворотного пошуку DNS, nslookupяк ми це робили в команді 1 dig. Ти можеш. Зауважте ті самі провали nslookup, що я вказав вище (команда 6) між цією командою та командою із -type=PTRвстановленим нижче прапором (команда 9):

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

Name:    174.3.217.172.in-addr.arpa

Команда 9) nslookup -type=PTR 174.3.217.172.in-addr.arpa- Як ви можете очікувати, вона виглядає ідентично команді 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

Це має бути прийнятою відповіддю. Я закликаю ОП відзначити це як таке.
Niall Cosgrove

1

Це те саме, що робити будь-який пошук DNS.

З командного рядка Windows: nslookup.exe <ip address>

З командного рядка linux: host <ip address>

Примітка. Можливо, найкраще запускати ці команди з комп'ютера поза вашою мережею, щоб мати доступ до загальнодоступного сервера DNS. Крім того, і nslookup, і хост пропонують способи вказати DNS-сервер для використання.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.