安全的域名解析

不想暴露域名解析过程,防止被抓包可以简单的用curl命令 如下

curl "https://cloudflare-dns.com/dns-query?name=xiaokefang.com&type=A" -H "accept:application/dns-json"

返回内容如下

{"Status": 0,"TC": false,"RD": true, "RA": true, "AD": false,"CD": false,"Question":[{"name": "xiaokefang.com.", "type": 1}],"Answer":[{"name": "xiaokefang.com.", "type": 5, "TTL": 600, "data": "overdue.aliyun.com."},{"name": "overdue.aliyun.com.", "type": 1, "TTL": 166, "data": "47.91.169.15"}]}

 上面是cloudflare的格式不是标准格式

下面介绍Google的方案

还是解析xiaokefang.com

1.需要按照rfc1035规范把域名按照DNS协议打包

2.把打包好的数据进行base64得到一个字符串

3.把得到的base64字符串末尾填充的等号去掉 如果没有就跳过

4.现在就可以用curl来请求了 如下

curl -L "https://dns.google/dns-query?dns=AAABAAABAAAAAAAACnhpYW9rZWZhbmcDY29tAAABAAE" -H "accept = application/dns-message"

5.保存好收到的数据 里面按照DNS协议解析就可以得到解析后的IP了

curl -L "https://8.8.8.8/dns-query?dns=AAABAAABAAAAAAAACnhpYW9rZWZhbmcDY29tAAABAAE" -H "accept = application/dns-message" -H "Host:dns.google"

 国内应该不能使用dns.google可以用这个链接里面的服务器试一下https://github.com/curl/curl/wiki/DNS-over-HTTPS

原文地址:https://www.cnblogs.com/yuandaozhe/p/11335105.html