[黑科技]DNS隧道-绕过wifi热点登陆免费上网

[黑科技]DNS隧道-绕过wifi热点登陆免费上网

DNS隧道实现原理

常见的热点都需要登录才能够上网,而提供热点的ISP对热点的DNS查询服务并不作限制,这样我们就可以在利用DNS查询机制传递信息.

也就是说,如果我们的请求数据包中的数据,不含过滤规则时,有限制的ISP或者防火墙则不会进行丢包处理.
所以,我们在发起请求时,将请求数据包内容通过标准的DNS协议进行加密,标记解析请求的DNS地址,则有限制的ISP在解析客户端发起的域名请求时,无法识别地址,而去指定的DNS服务器上进行请求查询.此时,我们在指定的DNS服务器上进行数据包解密.
再将查询内容返回.此时,有限制的ISP或者防火墙会再次检测内容是否为非认证状态,如果是非认证状态,则将查询结果内容进行丢包处理.
所以,在特定的DNS服务器上,我们需要将结果进行标准DNS协议加密返回客户端.此时ISP无法识别结果,而直接返回客户端进行解密处理.这样我们就完成了一次DNS隧道请求,而完全绕过的ISP服务商的认证.

建立DNS隧道的环境需求

  1. 可以连接有限制的ISP服务商,比如连接CMCC的无线信号
  2. 需要一台拥有公网IP的服务器
  3. DNS隧道工具,用来提供客户端,服务器通信加解密操作,以下总结几个流行的工具
  4. 客户端代理工具

实战操作

本次配置的服务器环境为centos:

[root@iZ28hcmbsi9Z ~]# cat /etc/issue
CentOS release 6.3 (Final)
Kernel \r on an \m

为服务器添加A记录和NS记录

a.abc.xyz NS b.abc.xyz
b.abc.xyz A 1.2.3.4(填你的服务器IP,这里用1.2.3.4为例)

配置DNS工具服务端

这里我们选用dns2tcp为例
在服务器上安装dns2tcp

wget http://www.hsc.fr/ressources/outils/dns2tcp/download/dns2tcp-0.5.2.tar.gz
tar zxf dns2tcp-0.5.2.tar.gz
cd dns2tcp-0.5.2
./configure
make
make install

在/etc目录建立一个名为dns2tcpd.conf的文件,然后输入以下配置:

listen = 1.2.3.4(Linux服务器的IP)  
port = 53  
user = nobody  
chroot = /tmp  
domain = a.abc.xyz(上面配置NS记录的域名)  
resources = ssh:127.0.0.1:22,socks:127.0.0.1:1082,http:127.0.0.1:3128 

最后的resources里面配置的是dns2tcp供客户端使用的资源。作用是:客户端在本地监听一个端口,并指定使用的资源,当有数据往端口传送后,dns2tcp客户端将数据用DNS协议传动到服务器,然后服务器将数据转发到对应的资源配置的端口中。

服务端执行如下命令启动dns2tcp

dns2tcpd -f /etc/dns2tcpd.conf -F -d 2

参数意义:
-f 读取配置文件
-F 强制前台运行
-d 2 开启debug,等级为2

到此为止,服务端配置完成

配置DNS工具客户端

DNS2TCP的客户端配置较为简单,一条命令就行:

dns2tcpc -r ssh -z a.abc.xyz 1.2.3.4 -l 8888 -d 2

-r 后接服务名称,这里我们用ssh
-z 后接NS记录的网址,ip,注意IP地址最好写上,可以不写
-l 后接本地端口
-d 开启debug

注意本地需要安装dns2tcp工具,windows用户请从网盘下载(http://pan.baidu.com/s/1c05APFE 密码:rem5)

到此为止,服务端配置完成
可以用ssh 测试一下

ssh [email protected]:8888

连通的话就说明dns2tcp成功了可以直接用ssh通道建立代理上网,chrome再用SwitchOmega接入,也可以在客户端那写http或socks服务,前提是服务器那要有对应服务(可以找Kingate架设HTTP和SOCKS代理的文章)
放上成果图
结果图

资源链接:
http://pan.baidu.com/s/1c05APFE 密码:rem5
参考文档:
http://www.houhongwei.xyz/shi-yong-dns2tcpmian-fei-shang-wang/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章