通過(guò)DNS隧道制造工具 iodine實(shí)現(xiàn)免費(fèi)上網(wǎng)

odine可以通過(guò)一臺(tái)DNS服務(wù)器制造一個(gè)IPv4數(shù)據(jù)通道,這個(gè)工具可幫助滲透測(cè)試人員用于穿越防火墻等情景。這款工具運(yùn)行于 Linux, Mac OS X, FreeBSD, NetBSD, OpenBSD和Windows,并需要一個(gè)TUN/TAP設(shè)備。同時(shí)對(duì)帶寬也有一定要求。
特性:
高性能
跨平臺(tái)
安全性
安裝簡(jiǎn)單
以前寫過(guò)這篇文章,對(duì)DNS tunnel進(jìn)行了詳細(xì)介紹,并附了DNS2tcp工具的使用方法,詳見:[DNS tunnel(DNS隧道)技術(shù)應(yīng)用工具-DNS2tcp的使用方法及原理] 。不過(guò)那個(gè)工具在windows下好像不太好用,我就又找了一個(gè)工具,叫iodine。
官方網(wǎng)站:http://code.kryo.se/iodine/
官方下載地址:http://code.kryo.se/iodine/iodine-0.7.0-windows.zip
此外,在服務(wù)器及客戶端都需要安裝openVPN。下載地址:http://www.dbjr.com.cn/softs/120505.html (Win7 64位測(cè)試有效)。
代理軟件:ccproxy(代理服務(wù)器)
使用方法:
服務(wù)器端:
1.下載openVPN。安裝時(shí)僅選擇TAP-Win32 driver即可。安裝后,可以發(fā)現(xiàn)服務(wù)器多出一塊網(wǎng)卡,我這里給隨便設(shè)置了一個(gè)IP:10.0.0.100。
2.下載iodine win32 binaries。解壓后可以得到兩個(gè)exe文件及一個(gè)dll。進(jìn)入解壓目錄,輸入命令:
iodined -c -f 10.0.0.100 dns.guanwei.org (這里我已經(jīng)將dns.guanwei.org的NS記錄設(shè)置為服務(wù)器的IP了詳見上篇文章)
設(shè)置一個(gè)password,出現(xiàn)“Listening to dns for domain dns.guanwei.org ”代表已經(jīng)成功!
客戶端:
1.下載openVPN。安裝時(shí)僅選擇TAP-Win32 driver即可。安裝后,可以發(fā)現(xiàn)服務(wù)器多出一塊網(wǎng)卡。
2.下載iodine win32 binaries。解壓后可以得到兩個(gè)exe文件及一個(gè)dll。進(jìn)入解壓目錄,輸入命令:
iodine -f -P 剛才設(shè)置的密碼 服務(wù)器的IP dns.guanwei.org
出現(xiàn)“Connection setup complete, transmitting data.”代表已經(jīng)成功!
此時(shí),TCP over DNS已經(jīng)建立成功。在客戶端ping 10.0.0.100可以發(fā)現(xiàn)成功ping通。
如果想實(shí)現(xiàn)免費(fèi)上網(wǎng),只需在服務(wù)器端安裝一個(gè)代理軟件即可,這里我推薦CCproxy(http://www.dbjr.com.cn/softs/2199.html)。
這時(shí),將IE的代理服務(wù)器設(shè)置為10.0.0.100即可。下面就請(qǐng)免費(fèi)上網(wǎng)吧!
下面是其他網(wǎng)友的補(bǔ)充:
用DNS隧道實(shí)現(xiàn)免費(fèi)上網(wǎng)
大多數(shù)機(jī)場(chǎng)、酒店之類場(chǎng)所,當(dāng)你輸入一個(gè)網(wǎng)址比如www.google.com時(shí),會(huì)彈出一個(gè)頁(yè)面要你輸入帳號(hào)密碼才能上網(wǎng)。這個(gè)時(shí)候DNS能正確解析,但是上網(wǎng)要付費(fèi)認(rèn)證。
可以通過(guò)DNS隧道來(lái)實(shí)現(xiàn)免費(fèi)上網(wǎng)。具體做法是:
(1)找一個(gè)支持DNS解析的域名,現(xiàn)在這類免費(fèi)域名很多,比如tk的、co.cc的。假設(shè)該域名是
abc123.tk
(2)在tk的注冊(cè)機(jī)構(gòu)里,設(shè)置abc123.tk的NS服務(wù)器為你自己的主機(jī)(最好是Linux VPS),例如:
abc123.tk. IN NS ns.abc123.tk.
ns.abc123.tk. IN A 74.81.81.81
(3)在74.81.81.81上,以root身份運(yùn)行一個(gè)Perl腳本(這個(gè)腳本來(lái)自Dan Kaminsky的OzymanDNS包):
./nomde.pl -i 0.0.0.0 abc123.tk
上述腳本會(huì)偵聽在UDP 53端口,接受DNS請(qǐng)求,并且只解析abc123.tk域。
(4)在客戶機(jī)上(要求有ssh,最好是Linux系統(tǒng)),運(yùn)行如下命令:
ssh -ND 7070 -o ProxyCommand=”./droute.pl sshdns.abc123.tk” user@localhost
上述ssh命令,-ND 7070表示在本機(jī)打開7070的socks 5代理端口。droute.pl是DNS隧道的客戶端工具,同樣來(lái)自于OzymanDNS包。sshdns是固定的主機(jī)名,加在域名abc123.tk前面。user是你在74.81.81.81上的登錄名字,@localhost是固定的,不需要改(因?yàn)樗淼肋^(guò)去后,就是74.81.81.81本機(jī))。
運(yùn)行上述ssh命令后,會(huì)提示輸入密碼。輸入正確密碼后,就和遠(yuǎn)程主機(jī)建立了ssh連接,獲取到一個(gè)SSH終端。并且,在本機(jī)打開了7070的socks 5代理端口。配置瀏覽器使用這個(gè)代理端口,開始享受免費(fèi)沖浪吧!
DNS 隧道
有那么幾天,我們?cè)诨蒽`頓的海邊山頂租了個(gè)屋子,一切都很舒服,但是不能上網(wǎng)。甚至于附近連 wifi 信號(hào)都收不到,想"借用"一下別人的 wifi 熱點(diǎn)都不成。我頂著海邊的狂風(fēng)在院子里豎起天線,捕捉著周圍微弱的信號(hào),最終未果。然后轉(zhuǎn)戰(zhàn)屋里的有線電視。我發(fā)現(xiàn)和國(guó)內(nèi)的有線電視一樣,機(jī)頂盒是接有網(wǎng)線的。也就是說(shuō),物理上,存在一條鏈路接入了互聯(lián)網(wǎng)。但是我插上電腦后,發(fā)現(xiàn) ip 包根本發(fā)不出去。不過(guò),好似有個(gè) DNS 服務(wù)是可以用的。
當(dāng)時(shí)也沒多想,只是覺得有辦法可以利用一下。不過(guò)隔天就搬走了,沒有深入下去。今天回味一下,感覺的確可以利用 DNS 服務(wù)和外部建立連接。當(dāng)然,一開始就需要在外界把接應(yīng)的程序程序搭建好。
原理很簡(jiǎn)單,你在做 DNS 查詢的時(shí)候,如果查的域名在 DNS 服務(wù)器本機(jī)的 cache 中沒有,它就會(huì)去互聯(lián)網(wǎng)上查詢,最終把結(jié)果返回給你。如果你在互聯(lián)網(wǎng)上有臺(tái)定制的服務(wù)器。只要依靠 DNS 的這層約定,就可以交換數(shù)據(jù)包了。從 DNS 協(xié)議上看,你是在一次次的查詢某個(gè)特定域名,并得到解析結(jié)果。但實(shí)際上,你在和外部通訊。你沒有直接連到局域網(wǎng)外的機(jī)器,因?yàn)榫W(wǎng)關(guān)不會(huì)轉(zhuǎn)發(fā)你的 IP 包出去。但局域網(wǎng)上的 DNS 服務(wù)器幫你做了中轉(zhuǎn)。這就是 DNS Tunnel 了。
我覺得有趣,就按文章所述做了試驗(yàn)。
這需要一個(gè)自己的域名,一臺(tái)運(yùn)行在互聯(lián)網(wǎng)上的機(jī)器可以自由安裝軟件。這些都有。那個(gè)假的 DNS 是由 OzymanDNS 提供的。不過(guò)今天我搜到的 OzymanDNS 網(wǎng)站上已經(jīng)沒有了下載包。好在 google 很強(qiáng)大,這個(gè) 2004 年編寫的小 perl 程序,并不難找到。
不過(guò)我反復(fù)試驗(yàn)也沒有成功,按文章所述的,利用 ssh 在本機(jī)上的 proxycommand 我怎么都無(wú)法通過(guò) dnstunnel 連上主機(jī)。估計(jì)是我哪里配置的不對(duì)吧。不過(guò)接下來(lái) google 到了更好的選擇。那就是 iodine 這個(gè)小玩意。非常簡(jiǎn)單的就裝好了。第一次運(yùn)行發(fā)現(xiàn)找不到 tun 設(shè)備??磥?lái)需要手工建一個(gè)。在 linux 上可以自己來(lái): mkdir /dev/net ; mknod /dev/net/tun c 10 200 這樣即可。
windows 版麻煩一些,需要裝軟件。安裝個(gè) openvpn 包里的 TAP driver 就行了。
然后利用 iodine 可以利用 dns tunnel 建立起虛擬網(wǎng)。接下來(lái)可以方便的用 ssh -D 建起 socks5 了。不過(guò)我覺得這個(gè)都是多余的。為了節(jié)約 dns tunnel 上的帶寬,我直接建了個(gè) socks5 服務(wù)器。就是用的我前段寫的一篇 blog 中提到的 ssocks 。同樣需要修改一下,把監(jiān)聽端口綁定在 10.0.0.1 上。
最后,居然沒遇到什么麻煩就接通了。我想我所在網(wǎng)絡(luò)出口上的 dns 服務(wù)器肯定覺得很疼。這真是一個(gè)超級(jí)淡疼的 tunnel 方案啊。嗯,可以留作日后翻墻的備用方案,以備不時(shí)之需。
ps. 好想知道到處都有的諸如 CMCC 的 wifi 熱點(diǎn)能不能用。下次到商業(yè)區(qū)別忘記試試看。
相關(guān)文章
微軟新版Outlook將推出郵件分類快捷鍵及多項(xiàng)優(yōu)化:5月開始部署
微軟計(jì)劃在新版Outlook for Windows中引入郵件分類快捷功能,用戶可通過(guò)預(yù)設(shè)快捷鍵快速對(duì)郵件進(jìn)行分類,從而大幅提升工作效率并優(yōu)化管理流程2025-04-21rsync The --password-file option may only be used when accessing a
客戶端上傳文件執(zhí)行命令出錯(cuò),提醒The --password-file option may only be used when accessing an rsync daemon.查找資料也很少這樣的說(shuō)法,最后發(fā)現(xiàn)是冒號(hào)的問(wèn)題2025-02-26郵箱密碼忘記了怎么找回來(lái)? 網(wǎng)易郵箱密碼找回流程
郵箱在使用的時(shí)候,由于各種原因,有時(shí)候我們可能會(huì)遇到忘記密碼、賬號(hào)被盜等問(wèn)題,這時(shí)候就需要進(jìn)行163郵箱找回操作,本文將為大家介紹如何進(jìn)行163郵箱找回操作2025-02-01電子郵件注冊(cè)教程! 郵箱號(hào)怎么注冊(cè)看這篇就夠了
電子郵件成為了我們?nèi)粘I詈凸ぷ髦胁豢苫蛉钡囊徊糠郑瑹o(wú)論是注冊(cè)社交媒體、購(gòu)物平臺(tái),還是與他人溝通,一個(gè)穩(wěn)定的郵箱賬號(hào)都變得至關(guān)重要,本文將為您提供詳細(xì)的電子郵件2025-02-01wps調(diào)用Outlook 批量發(fā)送電子郵件時(shí)持續(xù)彈出警告框怎么辦?
如何解決程序調(diào)用outlook時(shí)一直警告,wps調(diào)用outlook發(fā)送郵件時(shí),發(fā)送的時(shí)候,會(huì)一直出現(xiàn)警告,需要你一個(gè)個(gè)點(diǎn)確定或拒絕,本文介紹如何解決這個(gè)警告2025-02-01QQ郵箱文件怎么發(fā)送微信? 電腦qq郵箱中轉(zhuǎn)站中文件分享到微信的方法
在使用郵箱軟件的時(shí)候,有的用戶想要通過(guò)QQ郵箱文件,QQ郵箱中存在這種功能,但是很多小伙伴不知道到底要如何操作,下面小編就給大家?guī)?lái)QQ郵箱文件發(fā)送微信教程,感興趣的2024-09-29微信電腦版怎么獨(dú)立窗口中打開訂閱號(hào)? 訂閱號(hào)獨(dú)立窗口顯示的教程
微信電腦版看訂閱號(hào)的時(shí)候,想要獨(dú)立窗口顯示訂閱號(hào),該怎么操作呢?下面我們就來(lái)看看詳細(xì)的教程2024-09-29Outlook在windows系統(tǒng)中有哪些快捷鍵? Outlook的鍵盤快捷方式大全
Outlook可以用它來(lái)收發(fā)電子郵件、管理聯(lián)系人信息、記日記、安排日程、分配任務(wù),新版Outlook for Windows帶來(lái)了許多新功能,今天我們就來(lái)看看Outlook快捷鍵匯總2024-09-13微信怎么調(diào)默認(rèn)瀏覽器? 微信設(shè)置默認(rèn)瀏覽器打開網(wǎng)頁(yè)鏈接的教程
微信怎么調(diào)默認(rèn)瀏覽器?只需簡(jiǎn)單設(shè)置,在微信就可以使用默認(rèn)瀏覽器打開網(wǎng)站,該怎么設(shè)置呢?詳細(xì)請(qǐng)看下文介紹2024-08-14GameViewer怎么刪除設(shè)備 GameViewer刪除設(shè)備的步驟
GameViewer怎么刪除設(shè)備?GameViewer 是一款專為游戲玩家設(shè)計(jì)的遠(yuǎn)程控制助手,下文中為大家?guī)?lái)了GameViewer刪除設(shè)備步驟,需要的朋友快來(lái)看看吧2024-06-17