Tôi biết điều này đã được đánh dấu là đã trả lời nhưng tôi muốn cung cấp một câu trả lời toàn diện hơn. Ví dụ của tôi, tôi sẽ sử dụng:
- google.com 's địa chỉ IP 172.217.3.206 bởi vì nó không có một bản ghi PTR.
- serverfault.com 's địa chỉ IP 151.101.1.69 bởi vì nó không có một bản ghi PTR.
Điều đầu tiên cần lưu ý là dig
một lệnh đa nền tảng, bạn có thể lấy nó cho Windows trên trang web ISC BIND được liệt kê trong BIND, sau đó chọn nền tảng Windows của bạn (32 hoặc 64 bit). Nó có nhiều công cụ khác bao gồm cả nhị phân nslookup của riêng nó. Tôi không sử dụng phiên bản nslookup.exe đó, thay vào đó tôi sử dụng phiên bản mặc định đi kèm với Windows (C: \ Windows \ System32 \ nslookup.exe). Tuy nhiên, nếu bạn muốn sử dụng, dig
bạn có thể muốn chỉnh sửa biến môi trường PATH cục bộ của mình hoặc di chuyển dig
công cụ vào thư mục C: \ Windows \ System32.
Lệnh 1) dig PTR 206.3.217.172.in-addr.arpa
- Theo truyền thống, đây là cách người dùng thực hiện tra cứu DNS ngược. Họ sẽ chuyển địa chỉ IP theo cách thủ công: 172.217.3.206
đến 206.3.217.172
(chú ý thứ tự của mỗi trong số bốn octet) và thêm in-addr.arpa
vào cuối chuỗi. Đây là đầu ra:
; <<>> 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
Lệnh 2) dig -x 172.217.3.206
- Phiên bản lệnh này đơn giản hơn rất nhiều, như được mô tả trong dig -h
, -x
cờ là "lối tắt cho tra cứu ngược". Đầu ra giống hệt với đầu ra được hiển thị ở trên trong lệnh trước đó.
Lệnh 3) dig -x 151.101.1.69
- Ví dụ này hiển thị giao diện khi không tìm thấy bản ghi PTR, sử dụng ví dụ serverfault.com. Như bạn có thể thấy, câu trả lời không liệt kê PTR và chỉ có thể tìm thấy bản ghi SOA của 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
Lệnh 4) nslookup 172.217.3.174
- Đây là lệnh được đề xuất bởi người dùng l0c0b0x trong câu trả lời chính trên chuỗi này. Mặc dù đúng là có kết quả, nhưng không rõ đây là bản ghi PTR hay một loại bản ghi nào khác. Tôi nghĩ nó mặc định trả về PTR nếu nó được cấp IP, nhưng tôi vẫn muốn chắc chắn. Nó cũng bỏ qua các bản ghi khác nếu có nhiều PTR:
Server: google-public-dns-a.google.com
Address: 8.8.8.8
Name: sea15s11-in-f14.1e100.net
Address: 172.217.3.174
Lệnh 5) nslookup -debug 172.217.3.174
- Thay vào đó hãy sử dụng lệnh này để xem danh sách đầy đủ, bao gồm loại bản ghi và danh sách đầy đủ các kết quả. Các -debug
vẫn tồn tại cờ, để tắt nó đi bạn phải sử dụng -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
Lệnh 6) nslookup -type=PTR 172.217.3.174
- Phiên bản lệnh này chỉ định các bản ghi PTR với -type
cờ. Nó khác với phiên bản không có -type
cờ theo hai cách. Đầu tiên là nó liệt kê tất cả các câu trả lời PTR. Thứ hai là nó bao gồm thông tin "Câu trả lời không có thẩm quyền" mà lệnh khác bỏ qua. Nếu bạn cẩn thận nhìn ở trên đầu ra gỡ lỗi, authority records
trạng thái 0, vì vậy cả hai lệnh này sẽ ghi "Câu trả lời không có thẩm quyền".
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
Lệnh 7) nslookup -debug -d2 -type=PTR 151.101.1.69
- Đây là cách bạn sẽ nhận được càng nhiều chi tiết càng tốt về yêu cầu tra cứu ngược hoàn toàn. Nhắc nhở: Để tắt nó sử dụng -nodebug
và -nod2
. Ví dụ này cố tình không thành công trên ví dụ 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
Lệnh 8) nslookup 174.3.217.172.in-addr.arpa
- Bạn có thể tự hỏi liệu bạn có thể sử dụng phương pháp tra cứu DNS ngược truyền thống nslookup
như chúng ta đã làm trong Lệnh 1 với dig
. Bạn có thể. Lưu ý các lỗi nslookup tương tự như tôi đã liệt kê ở trên (Lệnh 6) giữa lệnh này và lệnh có -type=PTR
cờ được đặt bên dưới (Lệnh 9):
Server: google-public-dns-a.google.com
Address: 8.8.8.8
Name: 174.3.217.172.in-addr.arpa
Lệnh 9) nslookup -type=PTR 174.3.217.172.in-addr.arpa
- Như bạn có thể mong đợi, nó trông giống hệt với Lệnh 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