今日学到一个东西,基于 https 的 dns 解析

2021-12-02 11:30:23 +08:00
 PepperEgg

今天抓手机包,怎么都抓不到手机的一些 dns 包,排除了缓存问题,访问的都是新网址。。。 后来筛选发现有一些对 dns 服务器的 tcp 包,还是加密的 然后请教了大佬,说有基于 https 的 dns 解析。 学到老,学到老。。。。

5600 次点击
所在节点    程序员
33 条回复
chairuosen
2021-12-02 15:41:43 +08:00
@2i2Re2PLMaDnghL #15 我想说的意思用『污染』表达不合适,我应该说是『被攻击』或者是『受运营商 DNS 波动影响』,之前在业务里用 HTTPDNS 是有可能小运营商的 DNS 服务不可靠,导致 web 服务解析失败中断,如果用了 DoH ,最开始还是要走普通 DNS ,那它断了,我的服务还是得断。我的意思是这个。
tulongtou
2021-12-02 15:44:17 +08:00
@chairuosen 证书可以给 IP 的,只是一般人申请不到
tsanie
2021-12-02 17:29:27 +08:00
还有个 https://223.5.5.5
2i2Re2PLMaDnghL
2021-12-02 18:18:30 +08:00
@chairuosen 那你这个也不是 DoH 设计上想要解决的问题,你说的这个问题范畴和 DNS over HTTPS 根本不同。
DoH 的目的是加密,而且几乎只是加密。
而且仅仅是可用性不足的话,可以手动指定 DNS 递归解析器的地址,连 http 也不需要。
v2tudnew
2021-12-02 18:31:56 +08:00
DOT\DOH 只是加密,要说可用性那就别硬编码 DNS 地址,用系统设置的,有问题用户自然会去查看 DNS 。
Showfom
2021-12-02 18:37:15 +08:00
@tulongtou #22 IPv4 的 DV 证书老早就开放给所有人申请了
chairuosen
2021-12-02 19:49:53 +08:00
@2i2Re2PLMaDnghL #24 可能标准制定时没考虑到可用性问题,但是实际应用中是有这个目的的,可以看 https://cloud.tencent.com/product/httpdns "解决移动互联网服务中域名解析异常带来的困扰。" 我理解 app 层面无法改变操作系统的 DNS 地址来发请求,只能通过 HTTPDNS 请求回 IP 后直接向该 IP 发请求来代替 DNS 过程。
2i2Re2PLMaDnghL
2021-12-03 09:22:52 +08:00
@chairuosen 哪有这么复杂,不需要改变操作系统 DNS ,你直接构造符合 rfc 1035 的数据包然后用 UDP 发给公共的或你自建的服务器就行了。
但无论如何,你 1. 离题; 2. 在无知的情况下否认了 DoH 的存在。
你看下你链接里的文档,『基于容灾考虑,建议保留使用运营商 LocalDNS 解析域名的方式作为备选。』
顺便,你这个 HTTPDNS 我花几分钟写个 mitmproxy 插件就能随意污染。
unco020511
2021-12-03 09:48:37 +08:00
就是 httpDNS 吧,腾讯和阿里都有类似的服务
wanguorui123
2021-12-03 10:02:47 +08:00
DOH/DOT/DOQ
calvincc
2021-12-03 11:10:27 +08:00
好奇是啥手机,一般手机都不会默认用 DoH 吧?
chairuosen
2021-12-03 11:43:55 +08:00
@2i2Re2PLMaDnghL #28 好,你说的都是对的
jmk92
2021-12-03 13:16:18 +08:00
我这边的程序是默认 DoT 备选 DoH ,都失败后回退 HTTPDNS ,备选 udp53 ,最大程度避免解析生效慢、不及时、运营商不遵守 TTL 缓存,以及部分运营商劫持 53 端口的问题

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/819489

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX