如何检查DNS是否加密?

我已经为Ubuntu和其他Linux用户安装了DNSCrypt ,它的OpenDNS加密DNS补丁,它运行正常。

我怎么知道我的DNS是否加密? 我用谷歌搜索但没有找到任何东西。

状态

one@onezero:~$ status dnscrypt dnscrypt start/running, process 1013 one@onezero:~$ sudo netstat -atnlp Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.2:53 0.0.0.0:* LISTEN 1013/dnscrypt-proxy 

更新

Wireshark的

@Alvar

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

没有DNSCrypt

在此处输入图像描述

您可以通过收听网卡来查看Wireshark ,只需按照以下步骤操作:

  1. sudo apt-get install wireshark (将其粘贴到终端)
  2. 从带有sudo wireshark的终端开始(你需要sudo才能收听你的网卡。)
  3. 然后开始监听并过滤掉除了你自己的ip以外的一切。

现在只检查dns协议是否加密。

  1. 使用filter仅显示dns
  2. 停止扫描。
  3. 点击一个列出dns的列表项,来自你的ip。
  4. 现在单击传输协议以查看它是否已加密。

如果您使用OpenDNS作为支持DNS服务器的dnscrypt,检查它是否正常工作的方法是使用以下命令之一:

drill txt debug.opendns.com

dig txt debug.opendns.com

答案文本应包含一行“启用dnscrypt”:

 ;; ANSWER SECTION: debug.opendns.com. 0 IN TXT "server 11" debug.opendns.com. 0 IN TXT "flags 22 2 222 2" debug.opendns.com. 0 IN TXT "id 6666666" debug.opendns.com. 0 IN TXT "source 209.6.69.160:44444" debug.opendns.com. 0 IN TXT "dnscrypt enabled (...)" 

我在Ubuntu 12.10上安装了dnscrypt 1.1。

我编辑了/etc/NetworkManager/NetworkManager.conf来注释掉

 dns=dnsmasq 

然后添加/etc/init/dnscrypt.conf并在其中包含以下内容:

  description "dnscrypt startup script" start on (local-filesystems and started dbus and stopped udevtrigger) stop on runlevel [016] script exec /usr/sbin/dnscrypt-proxy -a 127.0.0.1 -d end script 

接下来,我将网络设置更改为使用127.0.0.1进行DNS:

然后我重新启动并确保dnscrypt正在运行并且dnsmasq不是:

  ps aux | grep dns root 6581 0.0 0.0 16116 720 ? Ss 04:47 0:00 /usr/sbin/dnscrypt-proxy -a 127.0.0.1 -d 

然后我打开wireshark来validationDNS是否已加密:

看来不是。

访问http://www.opendns.com/welcome/validation我正在使用opendns。

]

好的,我知道了!

运行dnscrypt-proxy –deamonize(它应该已经运行)

  1. 转到顶部的“网络”图标,然后转到“网络设置”。
  2. 转到当前连接,然后单击配置…
  3. 转到IPv4设置选项卡。
  4. 在“DNS服务器和搜索域”字段下,输入:127.0.0.1
  5. 前往http://opendns.com/welcome

如果您被重定向到http://opendns.com/welcome/oops,那么它设置不正确。

对于那个很抱歉。 我不想痛苦地把它全部搞定,但它非常容易! 嗯,希望你学到了一些东西。 我确定做到了!

dnscrypt-proxy接受DNS请求,使用* dnscrypt *对它们进行加密和签名,并将它们转发到启用了远程dnscrypt的解析器

预计还将对解析器的回复进行加密和签名。

代理validation回复的签名,解密它们,然后将它们转发到本地存根解析器。

dnscrypt-proxy默认侦听127.0.0.1 / port 53。

您转到OpenDNS欢迎页面 ,您会看到类似“欢迎使用OpenDNS!您的Internet更安全,更快速,更智能,因为您正在使用OpenDNS”。 这意味着您使用OpenDNS作为DNS提供商, 如果您没有在没有dnscrypt情况下配置OpenDNS, 则应加密您的DNS请求。

另一种方法是使用wireshark,tcpdump等监听DNS流量,看看它是否确实加密但是更复杂,需要一些深入的知识。