내가 가지고있는 스크립트가 실제로 사용자가 수신하고 스팸으로 잘못 표시되지 않는 이메일을 보내는 지 확인하려면 PTR 레코드를 확인해야합니다.
IP 범위를 소유 한 ISP가 PTR 레코드를 설정해야한다는 것을 알고 있지만 이미 설정되어 있는지 어떻게 확인합니까?
내가 가지고있는 스크립트가 실제로 사용자가 수신하고 스팸으로 잘못 표시되지 않는 이메일을 보내는 지 확인하려면 PTR 레코드를 확인해야합니다.
IP 범위를 소유 한 ISP가 PTR 레코드를 설정해야한다는 것을 알고 있지만 이미 설정되어 있는지 어떻게 확인합니까?
답변:
당신이있는 경우 유닉스 또는 리눅스를 , 당신은 프롬프트 명령에이를 입력하여이 작업을 수행 할 수 있습니다 :
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
이것이 답변으로 표시되었지만보다 포괄적 인 답변을 제공하고자합니다. 내 예에서는 다음을 사용합니다.
가장 먼저 알아 두어야 할 것은 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.206
to 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