DNSCrypt

来源 https://www.cnblogs.com/qiudabai/articles/9219840.html

https://www.opendns.com/about/innovations/dnscrypt/

https://github.com/opendns/dnscrypt-win-client

http://opendns.github.com/dnscrypt-osx-client/

DNS(Domain Name System)是专门用来解析域名的一项协议。

比如我们要访问 Google 主页,大致过程如下:首先浏览器向 DNS 服务器发出请求,DNS 服务器会返回一个对应的 IP 地址,接着浏览器向这个 IP 地址发出 HTTP 连接请求,建立连接传输网页数据,浏览器解析网页数据。

这是一个传统的解析过程,然而由于最初设计方面的缺陷,在 DNS 解析和 HTTP 连接全过程中,都是采用明文传输的数据(类似于「裸奔」),极易泄露数据和受到攻击。

那么为了确保客户端与服务器之间安全的传输,后来制定了 DNSSEC 、HTTPS 等协议。HTTPS 加密了 HTTP 传输的数据,确保了传输安全,而 DNSSEC 只是对 DNS 数据加了电子签名,在传输过程中并没有对数据进行加密,只能验证传输过程中数据是否经过了篡改。

基于此,计算器网络界大佬——Cisco 公司,基于 DNSCurve,研发了一个加密 DNS 传输的协议——DNSCrypt(介绍页面)。使用 DNSCrypt 协议可以加密传输客户端到支持 DNSCrypt 协议的 DNS 服务器之间的连接,确保不会受到 DNS 攻击。

使用 DNSCrypt

DNSCrypt 已经开源,可以运行在绝大多数系统之上。

在 macOS 系统上使用

推荐使用 DNSCrypt-OSXClient 工具,这是一个图形化工具,安装包采用标准的 pkg 安装过程。安装完成后只需打开 DNSCrypt ,在提供的 DNS 服务器列表中选择一个服务器(按需选择,建议选择 OpenDNS 服务器),然后勾选上「Enable DNSCrypt」,DNSCrypt 就开始工作了。

在 Windows 系统上使用

推荐使用 Simple DNSCrypt 工具,这也是一个图形化易于操作的工具。打开 Simple DNSCrypt 后,在「网卡列表」中勾选要应用的网卡,然后设置服务器。这个工具提供了两个服务器设置的选项,可以根据需要设置服务器并且开始工作。

在 Linux 系统上使用

推荐使用 DNSCrypt-Loader 或 Pcap_DNSProxy 工具。当然也可以根据源码自己编译。

在 iOS、Android 系统上使用

在 iOS 上使用首先要越狱设备,Android 系统上要 Root 系统,然而这些操作可能会导致一定的安全风险,我们并不提倡这么做,除非你非要使用 DNSCrypt。

在路由器上使用

根据官网的介绍,DNSCrypt 可以在 Tomato、OpenWrt 和 Entware 系统上工作。当然也可以根据源码自己编译。

搭建服务器

你可以在传统 DNS 服务器上添加 DNSCrypt 协议的支持,最简单的方法就是通过 Docker 映像 来运行。

更多介绍请到 DNSCrypt 项目官网 了解。

测试 DNSCrypt 是否正常运行

很简单,在浏览器里面打开一个以往不是能那么顺利打开的网站(最好是 HTTPS 访问哦),如果现在很轻松就能打开了,那么 DNSCrypt 就已经在工作啦

DNSCrypt的更多相关文章

  1. 关于MAC系统的DNSCrypt的设置教程

    DNSCrypt的设计完全是为了解决某些网站DNS系统被污染的问题. 如图是查看本地的DNS DNS系统是一个主要领域的安全保障,因为受损数据从一个DNS服务器会导致你的系统或者无法找到需要的服务器需 ...

  2. 如何在 Arch Linux 中安装 DNSCrypt 和 Unbound

    DNSCrypt 是一个用于对 DNS 客户端和 DNS 解析器之间通信进行加密和验证的协议.它可以阻止 DNS 欺骗或中间人攻击. DNSCrypt 可用于大多数的操作系统,包括 Linux,Win ...

  3. 将 DNSCrypt 部署到 Openwrt 路由器上+ DNSmasq 解析国内域名用本地 DNS[ZT+实践]

    原文地址: 1.https://typcn.com/legacy/blog/posts/openwrt-dnscypt.html 2.http://www.openwrt.pro/post-376.h ...

  4. 使用DNSCrypt解决Dropbox污染问题

     作者:半点闲 时间:2014-6-27 18:27 博客:blog.csdn.net/cg_i 邮箱:b_dx@sohu.com 背景知识:防火长城(GFW) keyword:DNSCrypt ...

  5. 一个DNS统计,RCFs,工具站点

    RCFs http://www.statdns.com/rfc/ DNS resources A collection of DNS related resources DNS Servers Nam ...

  6. Centos7下dnscrypt-proxy安装

    DNS劫持指的是"一些设备"会拦截DNS解析请求,并将错误的DNS信息返回给主机:DNS污染指的是"一些设备"会将错误的域名信息下发至公共的DNS服务器中(比如 ...

  7. 解决Dropbox无法连接的问题

    同步共享服务Dropbox从6月18日开始再次遭到封锁,原因是DNS污染.Dropbox上次在2010年5月曾遭到IP封锁和网址关键字过 滤,2012年5月除文件外链功能外其它功能可正常访问:2014 ...

  8. 解决OneNote的无法同步的问题

    微软的OneNote一直是我比较喜欢的笔记软件,一些复杂的笔记用它来存储比Evernote要强大很多,然而这几天发现一直无法同步,登陆https://onedrive.live.com/看了一下,发现 ...

  9. 使用DNSSCrypt解决DNS污染问题

    本文转自 月光博客,如有需要,请阅读原文. google近期在国内是不能访问了,dropbox这货居然也被DNS污染了,幸好发现DNSCrypt这一神器,防止DNS污染的绝佳工具. 基本原理:DNSC ...

随机推荐

  1. C#中委托,匿名函数,lamda表达式复习

    一.委托 1.就给类比较,类用class声明,委托用delegate声明. 2.委托要指向一个真正的方法. 3.委托的签名,要和指向的方法一样. //1.声明一个委托 public delegate ...

  2. Golang-教程

    http://www.runoob.com/go/go-environment.html https://www.pythonav.cn/

  3. 阿里字体css代码引入方法

    1.第一步,选择自己想要的图标字体,添加入库. 2.选择下载代码. 3.我们可以发现,有如下的代码被下载下来了. 4.我们选择iconfont.css放到自己的文件夹中. 5.然后我们根据下载下来ht ...

  4. 【学习总结】Git学习-参考廖雪峰老师教程二-安装Git

    学习总结之Git学习-总 目录: 一.Git简介 二.安装Git 三.创建版本库 四.时光机穿梭 五.远程仓库 六.分支管理 七.标签管理 八.使用GitHub 九.使用码云 十.自定义Git 期末总 ...

  5. React Native之图片保存到本地相册(ios android)

    React Native之图片保存到本地相册(ios android) 一,需求分析 1,react native保存网络图片到相册,iOS端可以用RN自带的CameraRoll完美解决,但是andr ...

  6. 关于windows注册表

    Windows 注册表 应该是一个 数据库.里面包含操作系统以及在其上的软件配置信息和旗下的硬件配置信息,有点就是整体和全面,控制面包和gpedit.msc 组策略应该是抽象过后的注册表配置信息, W ...

  7. [转帖]IP /TCP协议及握手过程和数据包格式中级详解

    IP /TCP协议及握手过程和数据包格式中级详解 https://www.toutiao.com/a6665292902458982926/ 写的挺好的 其实 一直没闹明白 网络好 广播地址 还有 网 ...

  8. hdu2089_不要62

    不要62 题目大意:给你一个区间,算出该区间里不含62或4的数的个数 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2089 /* // 暴力就可以过了 ...

  9. Day 4-8 hashlib加密模块

    HASH Hash,一般翻译做“散列”,也有直接音译为”哈希”的,就是把任意长度的输入(又叫做预映射,pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值.这种转换是一种压缩映射 ...

  10. Python 爬虫 解析库的使用 --- Beautiful Soup

    知道了正则表达式的相关用法,但是一旦正则表达式写的有问题,得到的可能就不是我们想要的结果了.而且对于一个网页来说,都有一定的特殊结构和层级关系,而且有很多节点都有id或class来做区分,所以借助它们 ...