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

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

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

5732 次点击
所在节点    程序员
33 条回复
foolnius
2021-12-02 11:36:40 +08:00
DoH DoT
xiadong1994
2021-12-02 11:39:02 +08:00
DoH ,DoT 。

cloudflare 之前还搞过 dns over sms……
xiadong1994
2021-12-02 11:39:26 +08:00
chairuosen
2021-12-02 11:40:24 +08:00
应该是 http 的写死 IP 的私有加密协议。https 是需要证书的,证书是针对域名的,域名就得解析,那用啥解析这个 HTTPS 的域名呢
kokutou
2021-12-02 11:40:56 +08:00
dns over https
dns over tls
kokutou
2021-12-02 11:41:30 +08:00
还有直接访问 ip 的骚操作
360 就有
bipy
2021-12-02 11:50:47 +08:00
@chairuosen #4 那当然是 IP 证书—— https://1.1.1.1
krixaar
2021-12-02 11:54:35 +08:00
@chairuosen #4 用你当前设置好的 DNS 服务器啊,就跟用 IE 为了下载别的浏览器一样,用当前 DNS 去解析这个网址,返回错误 IP 你连不上,你就知道出问题了;只要能连上那就一定是正确结果,之后就只走 HTTPS 了呗。
chairuosen
2021-12-02 11:56:10 +08:00
@bipy #7 咦,还真有
v2000000001ex
2021-12-02 11:56:42 +08:00
我已经用上了 dot ,
coredns
forward tls://8.8.8.8
chairuosen
2021-12-02 11:57:48 +08:00
@krixaar #8 这样做就违背了 HTTPDNS 的初衷了,还是会被污染
yin1999
2021-12-02 12:02:51 +08:00
@chairuosen 咋污染,后续请求走的是加密流量
ysc3839
2021-12-02 12:03:23 +08:00
@chairuosen #4 可以写死 IP 地址,不进行域名解析。证书里包含域名又不代表一定要进行 DNS 解析。
krixaar
2021-12-02 12:07:15 +08:00
@chairuosen #11 但这样做绕开了单一 IP 阻断,以及给了你便捷的确认是否被污染的手段。只要默认的 DNS 解析出了 cloudflare-dns.com 的其它地址,万一 1.1.1.1 被某个傻缺 wifi 登录页面劫持了呢。
2i2Re2PLMaDnghL
2021-12-02 12:20:19 +08:00
@chairuosen 这个就是 bootstrap 问题
一个是用 IP 证书
一个是预置的 hosts ,Firefox 有一个 network.trr.bootstrapAddress 设置
最后就是用常规 DNS 解析 DoH 服务器域名

你这里有个误解,常规 DNS 污染是可以被发现的(证书与地址不符),而 DoH 仍然是不会被污染的(通过 TLS 加密)
这里是个两层结构

(顺便,1.1.1.1 被深信服占了)
Yadomin
2021-12-02 12:45:54 +08:00
@2i2Re2PLMaDnghL 可以 https://1.0.0.1
v2tudnew
2021-12-02 13:11:59 +08:00
@krixaar DOH\DOT 不影响 WIFI 登录页面,反正 IOS 没受到影响。别说公共 WIFI 了,傻缺运维把 1.1.1.1 设置成某网关地址了,能咋办?凉拌。又不是只有一个公共 DNS ,真要有傻缺阻断所有加密流量,这不是司马昭之心么,还不快跑?
ink19
2021-12-02 13:14:31 +08:00
@xiadong1994 dns over sms ,那不得上一个小时网,话费扣 50
fkdog
2021-12-02 13:21:31 +08:00
概念意义上来说,dns 是通过域名换取主机 ip 地址。实现上包括 DNS 报文协议和传输协议,但是概念上并没有规定 dns 的传输实现一定要基于 udp 。

只不过最开始搞 dns 服务实现的人采用了 udp ,然后这个东西推广开了默认成为了事实标准,只不过他没有想到如今的网络安全问题会这么严重。
2i2Re2PLMaDnghL
2021-12-02 13:49:41 +08:00
@fkdog 你这边可能混淆了 Name 到 IP 转换和现有的 DNS 协议体系 rfc 1034/1035

而且 rfc1035 可以用 tcp ,你也可以用 dig +tcp 实际使用。之前甚至可以用来避免污染(因为有三次握手,纯抢答没用),现在会被选择性 RST

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

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

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

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

© 2021 V2EX