平淡
在默认的情况下,我们访问一个网站的常规方法是在浏览器的地址栏中输入域名(如www.baidu.com)进行访问,这样就需要通过DNS服务器将输入的域名解析为IP地址,传统的DNS解析服务是通过标准UDP/TCP协议(端口号:5 3)进行传输的。为了解决明文传输的问题,谷歌公司启用了DoH域名安全查询服务,它提供了DNS请求的端到端验证,可以对DNS请求和响应进行加密,这样可以有效地防止用户的数据遭到泄露。后来国际互联网工程任務组(即IETF)正式采用了DoH标准,现在主流的浏览器均支持DoH服务。而Windows 10的DoH服务则从系统层面开启DNS解析加密服务,开启后系统中的所有(并不仅限于浏览器)程序都会默认使用DoH服务。
目前在Windows 10中还没有开启DoH的设置界面,我们可以通过注册表手动开启。以管理员身份启动注册表编辑器,依次定位到[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Ser vices\Dnscache\Parameters],接着在右侧的窗格中新建一个“DWORD(32位)”项,将其命名为“EnableAutoDoh”,并将其“数值数据”设置为“2”,重启系统后生效(图2)。
重新进入系统后,在桌面上右击任务托盘上的网络连接图标并选择“打开网络和Internet设置”,继续在打开的窗口中的“状态”下选择当前网卡的连接,并点击“更改适配器选项”(图3)。
然后在打开的窗口中依次选择本机网卡,右击选择“属性”,继续在打开的窗口中点击“Internet协议版本4 (TCP/IPv4)”,最后在打开的窗口中点击“使用下面的DNS服务器地址(E):”,将首选DNS服务器和备用DNS服务器依次设置为“1.1.1.1.1”和“8.8.8.8”(图4)。
如上所述,如果我们开启了DoH,那么DNS解析的数据是通过HT TPS(端口:443)协议进行传输,默认原来的U D P/ TCP协议(端口号:53)就不会再有数据传输流量。对于端口数据传输流量的监控可以使用系统自带的命令来查看,以管理员身份启动PowerShell,依次输入下列的命令(输入每一行命令后均需按下回车键确认,#语句为注释无需输入):
#重置网络流量分析
pktmon filter remove
#过滤普通DNS服务器的53端口流量
pktmon filter add -p 53
#开始记录数据
pktmon start --etw -m real-time
通过屏幕窗口可以看到,53端口的流量显示为“empty”,表示现在已经没有数据通过传统DNS解析端口(图5)。