Làm cách nào để kiểm tra bản ghi PTR?


30

Tôi cần kiểm tra bản ghi PTR để đảm bảo rằng tập lệnh tôi có đang gửi email thực sự sẽ được người dùng của tôi nhận và không bị đánh dấu không chính xác là thư rác.

Tôi hiểu rằng ISP sở hữu dải IP phải thiết lập bản ghi PTR, nhưng làm cách nào để kiểm tra xem nó đã được thiết lập chưa?


Xin chào Daisetsu, tôi chỉ muốn đề cập đến nhận xét của bạn: "ISP sở hữu dải IP phải thiết lập bản ghi PTR", đó không phải là ISP. Điều này được cấu hình với Nhà đăng ký của bạn. Nếu bạn sở hữu 'daisetsu.com', bạn có thể tạo bản ghi PTR cho tên miền của riêng bạn. Bạn cũng có thể tạo bản ghi PTR cục bộ nếu bạn có tên miền nội bộ trên máy chủ DNS của mình.
dự án

Câu trả lời:


42

Nếu bạn có Unix hoặc Linux , bạn có thể thực hiện việc này bằng cách nhập lệnh này vào dấu nhắc lệnh:

dig -x xx.yy.zz.aa

Bạn sẽ nhận được câu trả lời với thẩm quyền của aa.zz.yy.xx.in-addr.arpa và máy chủ giải quyết địa chỉ này.

Trong Windows bạn có thể làm nslookup xx.yy.zz.aa.

Bạn cũng có thể kiểm tra trực tuyến tại www.intodns.com và nhập tên miền của mình ... Nó sẽ báo lỗi về kết quả kiểm tra tìm kiếm vùng đảo ngược.

xx.yy.zz.aa = Địa chỉ IP bạn đang cố gắng giải quyết


Cập nhật:

Khi sử dụng dig, nslookup hoặc lưu trữ, việc sử dụng máy chủ DNS ngoài tầm kiểm soát của bạn như Google (8.8.8.8) thường rất hữu ích để bạn nhận được mọi thứ xác nhận là đúng từ bên thứ 3. - Zoredache

Zoredache làm cho một điểm tốt. Dưới đây là các lệnh để kiểm tra / giải quyết với các máy chủ DNS bên ngoài / bên ngoài:

Dig (kiểm tra DNS ngược trên máy chủ DNS của Google là 8.8.8.8):

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

Máy chủ và Nslookup (thử nghiệm dns ngược trên máy chủ DNS của Google là 8.8.8.8)

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

1
Khi sử dụng dig, nslookup hoặc lưu trữ, việc sử dụng máy chủ DNS ngoài tầm kiểm soát của bạn như Google (8.8.8.8) thường rất hữu ích để bạn nhận được mọi thứ xác nhận là đúng từ bên thứ 3.
Zoredache

12

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:

  1. google.com 's địa chỉ IP 172.217.3.206 bởi vì nó không có một bản ghi PTR.
  2. 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à digmộ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, digbạ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 digcô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.arpavà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, -xcờ 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 -debugvẫ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 -typecờ. Nó khác với phiên bản không có -typecờ 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 recordstrạ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-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 nslookupnhư 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=PTRcờ đượ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

Không có vấn đề gì, tôi nghĩ rằng tôi vẫn còn thiếu một số kiến ​​thức về ý nghĩa và tầm quan trọng của thẩm quyền vì nó liên quan đến đầu ra. Tôi sẽ làm một số nghiên cứu và thêm nó khi tôi hoàn thành.
dự án

Đây phải là câu trả lời được chấp nhận. Tôi khuyến khích OP đánh dấu nó như vậy.
Niall Cosgrove

1

Nó giống như làm bất kỳ loại tra cứu DNS nào.

Từ dấu nhắc lệnh của windows: nslookup.exe <ip address>

Từ một dòng lệnh linux: host <ip address>

Lưu ý: Có lẽ tốt nhất là chạy các lệnh này từ máy tính bên ngoài mạng của bạn, để bạn truy cập vào máy chủ DNS công cộng. Ngoài ra, cả nslookup và máy chủ lưu trữ đều cung cấp các cách để chỉ định máy chủ DNS sẽ sử dụng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.