私はDNSシステムについてさらに学び、現在Goで記述された非常に素晴らしいプロジェクトを研究しています。コードでnowhere/?name=probe-test.dns.nextdns.io
に向けていくつかのDNSレコードをクエリしていることに気付きました
最初はこれは正しくないと思いました。ドメイン名ではなく無効なURLのように見えますが、コンソールを起動してDig nowhere/?name=probe-test.dns.nextdns.io
を押すと、Aレコードが返されました。
$ Dig nowhere/?name=probe-test.dns.nextdns.io
; <<>> Dig 9.11.3-1ubuntu1.11-Ubuntu <<>> nowhere/?name=probe-test.dns.nextdns.io
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 53429
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1452
;; QUESTION SECTION:
;nowhere/?name=probe-test.dns.nextdns.io. IN A
;; ANSWER SECTION:
nowhere/?name=probe-test.dns.nextdns.io. 300 IN A 45.90.28.0
;; Query time: 26 msec
;; SERVER: 1.1.1.1#53(1.1.1.1)
;; WHEN: Thu Mar 12 18:55:41 EET 2020
;; MSG SIZE rcvd: 84
これが有効なエントリである方法を誰かが私に説明できますか?.
ワイルドカードDNSエントリ です。 dns.nextdns.ioゾーンは、dns.nextdns.io
の前にあるものに対するクエリへの応答として45.90.28.0を返すように構成されています。 foo
とbar
を探す例をいくつか示します。また、テストとデモに一般的に使用されているので、それらのゾーンにすでに2つある可能性があります。そのため、予期しないものを探しましょう-NoWayThisExists
。
C:\Users\me>nslookup foo.dns.nextdns.io 8.8.8.8
Server: dns.google
Address: 8.8.8.8
Non-authoritative answer:
Name: foo.dns.nextdns.io
Address: 45.90.28.0
C:\Users\me>nslookup bar.dns.nextdns.io 8.8.8.8
Server: dns.google
Address: 8.8.8.8
Non-authoritative answer:
Name: bar.dns.nextdns.io
Address: 45.90.28.0
C:\Users\me>nslookup NoWayThisExists.dns.nextdns.io 8.8.8.8
Server: dns.google
Address: 8.8.8.8
Non-authoritative answer:
Name: NoWayThisExists.dns.nextdns.io
Address: 45.90.28.0
したがって、最初に配置したものにDNSリゾルバーを作動させる無効な文字が含まれていない限り、応答として45.90.28.0が返されます。そして、あなたの場合、nowhere/?name=probe-test
の文字は問題を引き起こしません。実際、/
、?
、=
、-
の記号のみで構成される名前を検索できます。
C:\Users\me>nslookup ///???===---.dns.nextdns.io 8.8.8.8
Server: dns.google
Address: 8.8.8.8
Non-authoritative answer:
Name: ///???===---.dns.nextdns.io
Address: 45.90.28.0