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

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

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

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

cloudflare 之前还搞过 dns over sms……
xiadong1994
xiadong1994
2021-12-02 11:39:26 +08:00
chairuosen
chairuosen
2021-12-02 11:40:24 +08:00
应该是 http 的写死 IP 的私有加密协议。https 是需要证书的,证书是针对域名的,域名就得解析,那用啥解析这个 HTTPS 的域名呢
kokutou
kokutou
2021-12-02 11:40:56 +08:00
dns over https
dns over tls
kokutou
kokutou
2021-12-02 11:41:30 +08:00
还有直接访问 ip 的骚操作
360 就有
bipy
bipy
2021-12-02 11:50:47 +08:00
@chairuosen #4 那当然是 IP 证书—— https://1.1.1.1
krixaar
krixaar
2021-12-02 11:54:35 +08:00
@chairuosen #4 用你当前设置好的 DNS 服务器啊,就跟用 IE 为了下载别的浏览器一样,用当前 DNS 去解析这个网址,返回错误 IP 你连不上,你就知道出问题了;只要能连上那就一定是正确结果,之后就只走 HTTPS 了呗。
chairuosen
chairuosen
2021-12-02 11:56:10 +08:00
@bipy #7 咦,还真有
v2000000001ex
v2000000001ex
2021-12-02 11:56:42 +08:00
我已经用上了 dot ,
coredns
forward tls://8.8.8.8
chairuosen
chairuosen
2021-12-02 11:57:48 +08:00
@krixaar #8 这样做就违背了 HTTPDNS 的初衷了,还是会被污染
yin1999
yin1999
2021-12-02 12:02:51 +08:00
@chairuosen 咋污染,后续请求走的是加密流量
ysc3839
ysc3839
2021-12-02 12:03:23 +08:00
@chairuosen #4 可以写死 IP 地址,不进行域名解析。证书里包含域名又不代表一定要进行 DNS 解析。
krixaar
krixaar
2021-12-02 12:07:15 +08:00
@chairuosen #11 但这样做绕开了单一 IP 阻断,以及给了你便捷的确认是否被污染的手段。只要默认的 DNS 解析出了 cloudflare-dns.com 的其它地址,万一 1.1.1.1 被某个傻缺 wifi 登录页面劫持了呢。
2i2Re2PLMaDnghL
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
Yadomin
2021-12-02 12:45:54 +08:00
@2i2Re2PLMaDnghL 可以 https://1.0.0.1
v2tudnew
v2tudnew
2021-12-02 13:11:59 +08:00
@krixaar DOH\DOT 不影响 WIFI 登录页面,反正 IOS 没受到影响。别说公共 WIFI 了,傻缺运维把 1.1.1.1 设置成某网关地址了,能咋办?凉拌。又不是只有一个公共 DNS ,真要有傻缺阻断所有加密流量,这不是司马昭之心么,还不快跑?
ink19
ink19
2021-12-02 13:14:31 +08:00
@xiadong1994 dns over sms ,那不得上一个小时网,话费扣 50
fkdog
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