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