热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

dns提供商主机名_AndroidPie私人DNS使用教程

最近手机更新到了最新的 Android Pie (9.0) 系统,随着系统的更新,就可以体验到 Android Pie 带来了一系列的新特性。比如:全新设计的导航栏以及多任务界面、数字应用、安全和隐私

21b21e0a0f4b1dc7dfd56f4aea719b8b.png


最近手机更新到了最新的 Android Pie (9.0) 系统,随着系统的更新,就可以体验到 Android Pie 带来了一系列的新特性。比如:全新设计的导航栏以及多任务界面、数字应用、安全和隐私等新功能。其中有一项更新是非常实用的,该功能可以提升用户上网过程中的安全性,它就是:DNS over TLS,在 Android 里叫做 Private DNS(私人 DNS)。

5c2e23ece871e8919ac79058c4b71d61.png


默认情况下,如果网络的 DNS 服务器支持,设备会自动使用 DNS over TLS,但如果用户不希望使用 DNS over TLS,可选择将其关闭。

Android Pie 的这个新功能简化了在 Android 配置自定义安全的 DNS 服务器的方法。当 DNS 服务商提供 DNS 服务时,客户端和 DNS 服务器就会自动进行加密传输,第三方无法窥视 DNS 查询。这样就可确保 DNS 请求不会被 ISP、移动运营商以及客户端与 DNS 服务器之间的第三方篡改内容。

在讲这个功能之前先来了解一下什么是 DNS 和 DNS 污染。

DNS 工作原理

既然说起 DNS 和 DNS 污染问题,就不得不先看看 DNS 系统是如何工作的。

互联网所有通信都是建立在 TCP/IP 的基础上,如果想访问目标网络,就必须知道目标 IP。不过 IP 的数量有限,还有 IP 是由一串数字或十六进制组成的,不是那么好记,所以有了域名。域名本身不具有访问性,它如果想被访问,必须绑定一个或多个 IP,一个 IP 可以绑定一个或多个域名。这时候就有一个问题,如何知道域名指向的是哪个 IP。所以需要一项服务,它记载着所有域名和 IP 的关系,需要的时候询问它就可以了,这就是 DNS(域名系统)。

以访问 Wikipedia 网站为例:

48a2a46e04e245b3c86646ef922e84bc.png

DNS 解析流程图

图中可以看到我们的 ISP 的 DNS 服务器在图中叫做 DNS Recurser,在解析一个域名的时候,总共经过了以下的步骤:

  1. 向 root 服务器获取该 gTLD 的管辖服务器,图中为 org 结尾的域名。

  2. root 服务器返回 org 的管辖服务器。

  3. 向 org 的管辖服务器查询,谁来负责解析 wikipedia.org 这个域名的。

  4. org 的管辖服务器返回解析 wikipedia.org 的服务器 IP 地址。

  5. 向 wikipedia.org 的解析服务器发出查询,解析 www.wikipedia.org 的 IP 地址。

  6. 拿到最终要的 IP 地址。

从上面的 DNS 解析流程可以看出,解析一个域名一共要经历 6 个步骤。

由于 DNS 的数据是以明文传输,所以 DNS 服务器返回的数据在传输的过程中是有可能被篡改的,导致域名指向错误的 IP,引导用户访问错误或恶意的网站。比如:在最后一次查询的时候,有人假冒了 wikipedia.org 的解析服务器,则可以在中间进行欺骗攻击,致使用户最后得到的 IP 地址不是真实的地址。如图所示:

9496ffa8f264a84510e24cb480af836f.png

解析请求被劫持

为什么要使用私有 DNS

从上面的例子我们可以看出,DNS 是存在被劫持和污染的风险的。为了保护用户的上网安全,一些 DNS 加密查询技术因此应运而生。常见的有:DNS over HTTPS、DNSCrypt 和 DNS over TLS。这三种的技术原理大致一样,都是通过一些手段加密用户与 DNS 服务器之间的通信,避免 DNS 污染。

TLS (Transport Layer Security,传输层安全协议),TLS 是 IETF(Internet Engineering Task Force,Internet 工程任务组)制定的一种新的协议。TLS 是在其前身 SSL (Secure Sockets Layer,安全套接层)的基础上发展来的。SSL 也是一种安全协议,其目的是为互联网通信提供安全及数据完整性保障。
TLS 它建立在 SSL 3.0 协议规范之上,是 SSL 3.0 的后续版本,可以理解为 SSL 3.1。TLS 协议由两层组成:TLS 记录层(TLS Record)和 TLS 传输层(TLS Handshake)。较低的层为 TLS 记录层协议,位于某个可靠的传输协议(例如:TCP)上面。记录层协议确定传输层数据的封装格式。传输层安全协议使用 X.509 认证,之后利用非对称加密演算来对通信方做身份认证,之后交换对称密钥作为会谈密钥(Session key)。这个会谈密钥是用来将通信两方交换的数据做加密,保证两个应用间通信的保密性和可靠性,使客户端与服务器应用之间的通信不被攻击者窃听。

目前支持 DNS over TLS 的平台不多, Android Pie 就是其中这一。如果你的系统暂时不支持 DNS over TLS,你可以暂时使用 SmartDNS 这个程序来作为本地 DNS 服务器,它支持将 DNS over TLS 作为 DNS 上游服务器。

SmartDNS 地址: https://github.com/pymumu/smartdns

在 Android Pie 上启用  DNS over TLS

在 Android Pie 上启用  DNS over TLS 的方法非常简单。下面以一加 5 为例,大概需要如下步骤:

  • 打开 [设置] → [WLAN 和互联网] → [私人 DNS] → [私人 DNS 提供商主机名] → 输入 DNS over TLS 提供商提供的主机名 → 保存。

fc66a815fb003ca98a3fcad3c3ff4ea5.png


保存以后,如果私人 DNS 下方显示主机名代表配置成功。

7408ebd323b3b8bb6272760806f3685b.png

1. 私有 DNS 字段并不接受类似 1.1.1.1 这样简单的 IP 地址,而是需要一个主机名。如:dns.google。Google 之所以要求私有 DNS 字段是主机名而非 IP 地址,这是因为考虑到移动运营商需要兼顾 IPv4 和 IPv6 共存的问题。

2. 如果你使用原生 Android Pie 可使用 [设置] → [网络和互联网] → [高级] → [私人 DNS] 。

验证私人 DNS 设置是否生效

  • 如果你使用的是 Cloudflare 提供的私人 DNS,可以访问 https://1.1.1.1/help 进行验证。如果 “使用 DNS over TLS(DoT)” 显示为 “是” 就表示配置成功了。

4c57d0a411c966ece6c190bd98e679dc.png

  • 你也可以访问 https://whoer.net/zh 这个网站来测试 DNS 匿名性。

0e63e5eece9a72fabe8f830eb1edf0a6.png

一些可用的 DNS over TLS 提供商

  • Google: dns.google

  • Cloudflare: 1dot1dot1dot1.cloudflare-dns.com

  • Quad9: dns.quad9.net

  • CleanBrowsing: security-filter-dns.cleanbrowsing.org

  • 红鱼 DNS: dns.rubyfish.cn

参考文档

https://www.google.com

http://t.cn/EicGa97

http://t.cn/EiVVF4K

http://t.cn/EiVfk7i

http://t.cn/EiVc5Uf

http://t.cn/E2m0Ytz

最后我们来搞个小投票,看看大家所使用的手机品牌和系统。

9e14c88d8b64688eb532c5193a28d436.png


今日思想

我们这个时代的痛苦在于,那些愚蠢的人都非常自信,那些有想象力和理解能力的人充满了怀疑和犹豫不决。

—— 「关于愚蠢」

ba8189808a9cf44e30ea960f8c413306.png

推荐阅读

  • 图解 Docker 架构

  • 谈谈监控那些事

  • 谈谈 996 工作制

  • 浅谈 MySQL 优化实施方案

  • 抓包神器 TCPDUMP 使用教程

ba8189808a9cf44e30ea960f8c413306.png

1ea1f9da204d4b16c0ad606a80be5ed8.png

9e14c88d8b64688eb532c5193a28d436.png


推荐阅读
  • 网络编程:其实就是在学socketsocket是什么?翻译过来称为套接字是对底层的TCPIPUDP等网络协议进行封装使得上层的应用程序开发者,不用直接接触这对复杂,丑陋的协议在程序 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • 本文整理了315道Python基础题目及答案,帮助读者检验学习成果。文章介绍了学习Python的途径、Python与其他编程语言的对比、解释型和编译型编程语言的简述、Python解释器的种类和特点、位和字节的关系、以及至少5个PEP8规范。对于想要检验自己学习成果的读者,这些题目将是一个不错的选择。请注意,答案在视频中,本文不提供答案。 ... [详细]
  • 后台自动化测试与持续部署实践
    后台自动化测试与持续部署实践https:mp.weixin.qq.comslqwGUCKZM0AvEw_xh-7BDA后台自动化测试与持续部署实践原创 腾讯程序员 腾讯技术工程 2 ... [详细]
  • python网络编程 day27 网络编程初识 ——socket
    一、内容回顾1、两个内置函数(装饰器)及类中的魔术方法 ... [详细]
  • Python实现变声器功能(萝莉音御姐音)的方法及步骤
    本文介绍了使用Python实现变声器功能(萝莉音御姐音)的方法及步骤。首先登录百度AL开发平台,选择语音合成,创建应用并填写应用信息,获取Appid、API Key和Secret Key。然后安装pythonsdk,可以通过pip install baidu-aip或python setup.py install进行安装。最后,书写代码实现变声器功能,使用AipSpeech库进行语音合成,可以设置音量等参数。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • RouterOS 5.16软路由安装图解教程
    本文介绍了如何安装RouterOS 5.16软路由系统,包括系统要求、安装步骤和登录方式。同时提供了详细的图解教程,方便读者进行操作。 ... [详细]
  • Asp.net Mvc Framework 七 (Filter及其执行顺序) 的应用示例
    本文介绍了在Asp.net Mvc中应用Filter功能进行登录判断、用户权限控制、输出缓存、防盗链、防蜘蛛、本地化设置等操作的示例,并解释了Filter的执行顺序。通过示例代码,详细说明了如何使用Filter来实现这些功能。 ... [详细]
  • PG12新增的VACUUM命令的SKIP_LOCKED选项
    PG12版本的VACUUM命令新增了SKIP_LOCKED选项,该选项使得vacuum命令在遇到被lock住的table时可以跳过并被视为成功执行。之前的版本中,vacuum命令会一直处于等待状态。本文还提到了PostgreSQL 12.1版本的相关信息。 ... [详细]
  • 指示|厂家_UDS协议
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了UDS协议相关的知识,希望对你有一定的参考价值。UDS的第二类诊断服务,数据传输 ... [详细]
  • 今天搭建了redis环境,使用自带的benchmark进行了性能测试选择测试键的范围大小默认情况下面,基准测试使用单一的key。在一个基于内存的数据库里,单一key测试和真实情况下 ... [详细]
  • python图书管理系统类_Python标准库socketserver使用线程混入实现异步TCP服务器
    推荐图书:《Python程序设计开发宝典》,ISBN:978-7-302-47210-0,董付国,清华大学出版 ... [详细]
author-avatar
重庆制造漫画社
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有