[黑科技]DNS隧道-繞過wifi熱點登陸免費上網
DNS隧道實現原理
常見的熱點都需要登錄才能夠上網,而提供熱點的ISP對熱點的DNS查詢服務並不作限制,這樣我們就可以在利用DNS查詢機制傳遞信息.
也就是說,如果我們的請求數據包中的數據,不含過濾規則時,有限制的ISP或者防火牆則不會進行丟包處理.
所以,我們在發起請求時,將請求數據包內容通過標準的DNS協議進行加密,標記解析請求的DNS地址,則有限制的ISP在解析客戶端發起的域名請求時,無法識別地址,而去指定的DNS服務器上進行請求查詢.此時,我們在指定的DNS服務器上進行數據包解密.
再將查詢內容返回.此時,有限制的ISP或者防火牆會再次檢測內容是否爲非認證狀態,如果是非認證狀態,則將查詢結果內容進行丟包處理.
所以,在特定的DNS服務器上,我們需要將結果進行標準DNS協議加密返回客戶端.此時ISP無法識別結果,而直接返回客戶端進行解密處理.這樣我們就完成了一次DNS隧道請求,而完全繞過的ISP服務商的認證.
建立DNS隧道的環境需求
- 可以連接有限制的ISP服務商,比如連接CMCC的無線信號
- 需要一臺擁有公網IP的服務器
- DNS隧道工具,用來提供客戶端,服務器通信加解密操作,以下總結幾個流行的工具
- tcp-over-dns http://analogbit.com/software/tcp-over-dns/
- dns2tcp http://www.hsc.fr/ressources/outils/dns2tcp/
- iodine http://code.kryo.se/iodine/
- 客戶端代理工具
實戰操作
本次配置的服務器環境爲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/