Я знаю, що це було позначено як відповідь, але я хочу надати більш вичерпну відповідь. Для моїх прикладів я буду використовувати:
- google.com «s IP адреса 172.217.3.206 , тому що це робить мають PTR запис.
- 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