web-dev-qa-db-ja.com

PTRレコードを確認するにはどうすればよいですか?

PTRレコードをチェックして、ユーザーが実際に受信し、誤ってスパムとしてマークされていない電子メールをスクリプトが送信していることを確認する必要があります。

IP範囲を所有するISPがPTRレコードを設定する必要があることを理解していますが、すでに設定されているかどうかを確認するにはどうすればよいですか?

32
Daisetsu

UnixまたはLinuxを使用している場合は、コマンドプロンプトで次のように入力してこれを実行できます。

Dig -x xx.yy.zz.aa

Aa.zz.yy.xx.in-addr.arpaの権限とこのアドレスに解決するサーバーで回答が得られます。

Windowsでは、nslookup xx.yy.zz.aa

www.intodns.comonlineを確認してドメインを入力することもできます...逆ゾーンルックアップのチェック結果でエラーが発生します。

xx.yy.zz.aa =解決しようとしているIPアドレス


更新:

Dig、nslookup、またはHostを使用している場合、Google(8.8.8.8)などのコントロールの外部にあるDNSサーバーを使用すると、サードパーティから正しいことを確認できるので便利です。 – Zoredache

Zoredache は良い点になります。外部/外部DNSサーバーをテスト/解決するためのコマンドは次のとおりです。

Dig(GoogleのDNSサーバー8.8.8.8でリバースDNSをテスト):

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

ホストとNslookup(8.8.8.8のGoogleのDNSサーバーで逆DNSをテスト)

nslookup zz.yy.xx.aa 8.8.8.8
Host zz.yy.xx.aa 8.8.8.8
46
l0c0b0x

これは回答済みとしてマークされていることは承知していますが、より包括的な回答を提供したいと思います。私の例では、私は使用します:

  1. google.comのIPアドレス172.217.3.206それはdoesにはPTRレコードがあります。
  2. serverfault.comのIPアドレス151.101.1.69それはPTRレコードを持っていません

最初に注意する必要があるのは、Digがマルチプラットフォームコマンドであり、Windows用に ISC BIND Webサイト 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(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

コマンド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フラグがないバージョンとは2つの点で異なります。 1つ目は、すべてのPTR回答をリストすることです。 2つ目は、他のコマンドが無視する情報「権限のない回答」が含まれていることです。上記のデバッグ出力を注意深く見ると、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-コマンド1でnslookupを使用した場合と同様に、Digを使用して従来のDNS逆引き参照方法を使用できるかどうか疑問に思われるかもしれません。あなたはできる。このコマンドと-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
13
projectdp

これは、あらゆる種類のDNSルックアップを実行するのと同じです。

Windowsコマンドプロンプトから:nslookup.exe <ip address>

Linuxコマンドラインから:Host <ip address>

注:これらのコマンドは、ネットワーク外のコンピューターから実行して、パブリックDNSサーバーにアクセスすることをお勧めします。または、nslookupとHostの両方に、使用するDNSサーバーを指定する方法があります。

1
Evan