自分でDNS over HTTPS (DoH)のリクエストを出したい - 1.1.1.1とかGoogle Public DNSとか
https://gyazo.com/7e3c10de01c567fd9e955161d8d348d7
curlコマンドとかで自分でDNS over HTTPS(DoH)を体験したくて調べたもの。
以下のコマンドでexample.comの情報がわかる。
IPv6ではなく、IPv4がほしいなら、type=Aにすればいい。
code:結果(インデント済み)
{
"Status": 0,
"TC": false,
"RD": true,
"RA": true,
"AD": true,
"CD": false,
"Question": [
{
"name": "example.com.",
"type": 28
}
],
"Answer": [
{
"name": "example.com.",
"type": 28,
"TTL": 4400,
"data": "2606:2800:220:1:248:1893:25c8:1946"
}
]
}
上記の参考では、「1.1.1.1」ではなく「cloudflare-dns.com」が使われているが、1.1.1.1でもいけた。
accept: application/dns-jsonは必須の様子。これがないと「415 Unsupported Media Type」が返ってきた。
Cloudflare(1.1.1.1)がUDP wireformatにも対応しているからかもしれない。ぱっと見る限り同じパス(/dns-query)を使っていてJSONかUDP wireformatの識別にcontent-typeを使っている感じがする。
以下のコマンドでexample.comの情報がわかる。
code:結果(インデント済み)
{
"Status": 0,
"TC": false,
"RD": true,
"RA": true,
"AD": true,
"CD": false,
"Question": [
{
"name": "example.com.",
"type": 1
}
],
"Answer": [
{
"name": "example.com.",
"type": 1,
"TTL": 18916,
"data": "93.184.216.34"
}
]
}