PTR 기록은 어떻게 확인합니까?


30

내가 가지고있는 스크립트가 실제로 사용자가 수신하고 스팸으로 잘못 표시되지 않는 이메일을 보내는 지 확인하려면 PTR 레코드를 확인해야합니다.

IP 범위를 소유 한 ISP가 PTR 레코드를 설정해야한다는 것을 알고 있지만 이미 설정되어 있는지 어떻게 확인합니까?


안녕하세요 Daisetsu, 난 당신의 의견에 대해 언급하고 싶었습니다 : "IP 범위를 소유 한 ISP는 PTR 레코드를 설정해야합니다", 그것은 ISP가 아닙니다. 이것은 등록 기관에서 구성합니다. 'daisetsu.com'을 소유 한 경우 자신의 도메인에 대한 PTR 레코드를 만들 수 있습니다. DNS 서버에 내부 도메인이있는 경우 로컬 PTR 레코드를 만들 수도 있습니다.
projectdp

답변:


42

당신이있는 경우 유닉스 또는 리눅스를 , 당신은 프롬프트 명령에이를 입력하여이 작업을 수행 할 수 있습니다 :

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 또는 host를 사용하는 경우 Google (8.8.8.8)과 같이 제어 할 수없는 외부의 DNS 서버를 사용하는 것이 유용한 경우가 많으므로 제 3 자로부터 올바른 정보를 얻을 수 있습니다. – Zoredache

Zoredache 는 좋은 지적입니다. 외부 / 외부 DNS 서버를 테스트 / 해결하기위한 명령은 다음과 같습니다.

발굴 (Google DNS 서버 8.8.8.8의 역방향 DNS 테스트) :

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

호스트 및 Nslookup (Google DNS 서버 8.8.8.8의 역방향 DNS 테스트)

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

1
dig, nslookup 또는 host를 사용하는 경우 Google (8.8.8.8)과 같이 제어 할 수없는 외부의 DNS 서버를 사용하는 것이 유용한 경우가 많으므로 제 3 자로부터 올바른 정보를 얻을 수 있습니다.
Zoredache

12

이것이 답변으로 표시되었지만보다 포괄적 인 답변을 제공하고자합니다. 내 예에서는 다음을 사용합니다.

  1. google.com 의 IP 주소 172.217.3.206 이 때문에 않습니다 PTR 레코드가 있습니다.
  2. serverfault.com 의 IP 주소가 151.101.1.69 것은 그것 때문에 하지 않는 PTR 레코드가 있습니다.

가장 먼저 알아 두어야 할 것은 dig다중 플랫폼 명령입니다. BIND 아래에 나열된 ISC BIND 웹 사이트 에서 Windows 용 명령을 얻은 다음 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.206to 206.3.217.172(4 개의 옥텟 각각의 순서에 주목) 그리고 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

Command 2) dig -x 172.217.3.206-이 명령 버전은에 설명 된대로 훨씬 간단 dig -h합니다. -x플래그는 "역방향 조회를위한 바로 가기"입니다. 출력은 이전 명령에서 위에 표시된 출력과 동일합니다.

명령 3) dig -x 151.101.1.69-이 예는 serverfault.com 예를 사용하여 PTR 레코드를 찾을 수없는 경우의 모습을 보여줍니다. 보시다시피, 대답은 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 레코드인지 또는 다른 유형의 레코드인지는 확실하지 않습니다. IP가 주어지면 기본적으로 PTR을 반환한다고 생각하지만 여전히 확신하고 싶습니다. 또한 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-이 명령 버전은 -type플래그를 사용하여 PTR 레코드를 지정합니다 . -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- nslookup명령 1에서 와 같이 기존의 역방향 DNS 조회 방법을 사용할 수 있는지 궁금 할 것 입니다 dig. 할 수 있습니다. 이 명령과 -type=PTR아래 플래그가 설정되어있는 명령 (명령 9) 간에 위에 나열된 (명령 6)과 동일한 nslookup 실패를 확인하십시오 .

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

이것이 정답입니다. OP가이를 표시하도록 권장합니다.
Niall Cosgrove

1

모든 종류의 DNS 조회를 수행하는 것과 같습니다.

Windows 명령 프롬프트에서 : nslookup.exe <ip address>

리눅스 명령 행에서 : host <ip address>

참고 : 공용 DNS 서버에 액세스하려면 네트워크 외부의 컴퓨터에서이 명령을 실행하는 것이 가장 좋습니다. 또는 nslookup과 host 모두 사용할 DNS 서버를 지정하는 방법을 제공합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.