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. 我的微信小程序第一篇(入门)

    前言 微信小程序出来已经有一段时间了,已经有很多大牛都写过相关教程了,那么我为啥还要写这篇文章呢?其实仅仅是个人对微信开发的一个兴趣吧,觉得是个很有意思的事情,后面有时间可能会发更多关于小程序的文章, ...

  2. 利用tushare进行对兴业银行股价的爬取,并使用numpy进行分析

    import sysimport tushare as tsimport numpy as npdata=ts.get_h_data('601066')print(data)#读出兴业银行7列数据da ...

  3. Django之用户上传文件的参数配置

    Django之用户上传文件的参数配置 models.py文件 class Xxoo(models.Model): title = models.CharField(max_length=128) # ...

  4. mysql_查的小理解

    show create table employee; 对这个语句的小理解: 顿悟呀,之前一直不太理解这条语句,现在忽然觉得明朗起来.他就是展示创建这个表格时的SQL语句.执行上述代码之后结果如下: ...

  5. 现代程序设计 homework-10

    经过大半学期的学习和练习, 我们把学到的东西综合起来. 通过<现代程序设计>这门课,自己的确学到了好多东西.其实并不是说讲课有多棒,一是因为讲课的次数其实并不多,二是讲课的内容其实感觉并没 ...

  6. CodeIgniter框架中尝试使用swoole

    ci框架版本:3.1.7.     swoole版本:1.7.      php版本:5.6 相关文档: 以cli方式运行ci框架 swoole官方手册 创建一个TestSwoole和Hello控制器 ...

  7. 【学习总结】GirlsInAI ML-diary day-16-pip install XX

    [学习总结]GirlsInAI ML-diary 总 原博github链接-day16 Pip pip是python 著名的包管理工具,在python开发过程必不可少. 本节带大家了解用pip实现的p ...

  8. 快速理解Git结构

      git pull:拉取远程服务器最新代码到本地(会自动merge) git add:将本地代码添加到暂存区 git commit:将暂存区的所有内容提交到当前分支(git会自动为我们创建第一个分支 ...

  9. Latex常用软件

    Linux texMaker sudo apt-get install texlive-full sudo apt-get install texmaker

  10. 【学亮IT手记】PL/SQL游标编程

    游标提供了一种从表中检索数据并进行操作的灵活手段,主要用在服务器上,处理由客户端发送给服务器端的sql语句,或者是批处理.存储过程.触发器中的数据处理请求. 显式游标 是由用户声明和操作的一种游标,通 ...