• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            不會飛的鳥

            2010年12月10日 ... 不鳥他們!!! 我要用自己開發(fā)的分布式文件系統(tǒng)、分布式調(diào)度系統(tǒng)、分布式檢索系統(tǒng), 做自己的搜索引擎!!!大魚有大志!!! ---楊書童

            SOCKS5協(xié)議的原理和應(yīng)用

            首先解釋一下為什么它被稱之為SOCKS。其實該協(xié)議設(shè)計之初是為了讓有權(quán)限的用戶可以穿過過防火墻的限制,使得高權(quán)限用戶可以訪問一般用戶不能訪問的外部資源。當(dāng)時設(shè)計者考慮到幾乎所有使用TCP/IP通信的應(yīng)用軟件都使用socket(套接字,實際上是一組應(yīng)用程序接口)完成底層的數(shù)據(jù)通信。為了方便軟件開發(fā)者使用該協(xié)議,協(xié)議設(shè)計者就刻意對應(yīng)了幾組socket編程最經(jīng)典的操作,并且將協(xié)議定名為SOCKS。

            最先被廣泛使用的SOCKS協(xié)議是其第四版本,就是SOCKS4。IE和一些其他應(yīng)用程序直接用“Socks”表示SOCKS4協(xié)議。該版本支持TCP的connect(作為客戶端連接)和listen(打開一個監(jiān)聽端口),不支持UDP協(xié)議。SOCKS4A對SOCKS4作了一點增強,即允許客戶端將域名發(fā)送給SOCKS服務(wù)器,讓SOCKS服務(wù)器進(jìn)行域名解析。

            SOCKS5是第五版,相對第四版作了大幅度的增強。首先,它增加了對UDP協(xié)議的支持;其次,它可以支持多種用戶身份驗證方式和通信加密方式;最后,修改了SOCKS服務(wù)器進(jìn)行域名解析的方法,使其更加優(yōu)雅。經(jīng)過這次脫胎換骨的升級,SOCKS5于1996年被IETF確認(rèn)為標(biāo)準(zhǔn)通信協(xié)議,RFC編號為1928。經(jīng)過10余年的時間,大量的網(wǎng)絡(luò)應(yīng)用程序都支持SOCKS5代理。

            SOCKS5雖然可以支持多種用戶身份驗證方式,但是應(yīng)用程序真正實現(xiàn)的一般也只有兩種:不驗證和用戶名密碼驗證。所以大多數(shù)應(yīng)用程序SOCKS5代理設(shè)置也只有用戶名/密碼這一種可選驗證方法。另外,盡管從SOCKS4開始,就支持打開TCP監(jiān)聽端口,但是直到SOCKS5,也只允許這個端口接收一個客戶端連接。因此網(wǎng)絡(luò)服務(wù)提供者(如http服務(wù)器)不能使用SOCKS。實際上,很多SOCKS服務(wù)器的實現(xiàn)也不支持打開TCP監(jiān)聽端口。

            由于SOCKS5實際上仍然對應(yīng)了socket的經(jīng)典操作,所以有人利用這一點編寫了一種通用軟件,可以讓不支持SOCKS5協(xié)議的應(yīng)用軟件也能通過SOCKS5服務(wù)器進(jìn)行網(wǎng)絡(luò)通信,而應(yīng)用軟件則對此一無所知。這類軟件最著名的莫過于SocksCap32了,它是Permeo公司(其前身是NEC北美公司的一個部門,而SOCKS最初就是NEC北美公司的工程師開發(fā)并維護(hù)的)早期推出的一款產(chǎn)品。用戶可以免費使用其試用版。試用版和正式版相比,沒有功能上的限制,只有使用時間的限制。但是到目前為止,Permeo總是會在老版本到期之前推出一個延后了期限的“新”版本,所以用戶實際上可以免費使用。SocksCap32是利用API鉤子,截獲應(yīng)用軟件對socket函數(shù)的調(diào)用來實現(xiàn)對SOCKS5客戶端的模擬。盡管SocksCap32很有名,但是由于推出的時間較早,對很多現(xiàn)代應(yīng)用軟件時常表現(xiàn)的力不從心,所以Permeo又提供了Permeo Security Driver(以下稱為PSD)。這款產(chǎn)品使用了驅(qū)動技術(shù)從底層直接截獲應(yīng)用軟件的socket通信,因此幾乎可以為所有應(yīng)用軟件提供SOCKS5客戶端的支持。PSD不提供試用版,但是可以找到其早期版本的注冊碼。

            雖然說設(shè)計SOCKS協(xié)議的初衷是在保證網(wǎng)絡(luò)隔離的情況下,提高部分人員的網(wǎng)絡(luò)訪問權(quán)限,但是國內(nèi)似乎很少有組織機(jī)構(gòu)這樣使用。一般情況下,大家都會使用更新的網(wǎng)絡(luò)安全技術(shù)來達(dá)到相同的目的。但是由于SocksCap32和PSD這類軟件,人們找到了SOCKS協(xié)議新的用途——突破網(wǎng)絡(luò)通信限制,這和該協(xié)議的初衷實際上正好相反。比如某些網(wǎng)游的部分服務(wù)器設(shè)置為只接收部分地區(qū)的IP地址的連接。為了突破這種限制,可以找一個該地區(qū)的SOCKS5代理服務(wù)器,然后用PSD接管網(wǎng)游客戶端,通過SOCKS5代理服務(wù)器連接游戲服務(wù)器。這樣游戲服務(wù)器就會認(rèn)為該客戶端位于本地區(qū),從而允許進(jìn)行游戲。還有一種情況是:防火墻僅允許部分端口(如http的80端口)通信,那么可以利用SOCKS5協(xié)議和一個打開80端口監(jiān)聽的SOCKS5服務(wù)器連接,從而可以連接公網(wǎng)上其他端口的服務(wù)器。利用一些額外的技術(shù)手段,甚至可以騙過內(nèi)部的http代理服務(wù)器,這時在使用內(nèi)網(wǎng)http代理上網(wǎng)的環(huán)境下也可以不受限制的使用網(wǎng)絡(luò)服務(wù),這稱之為SOCKS over HTTP。通通通([url]www.tongtongtong.com[/url])是老牌SOCKS over HTTP代理提供商,實現(xiàn)了所有的SOCKS5的連接功能,且有多組國內(nèi)外服務(wù)器。信天游([url]www.xtyproxy.com[/url]),則是最近剛剛出現(xiàn)的代理服務(wù)提供商,功能和通通通相比還有差距,但是目前完全免費。當(dāng)然,使用代理服務(wù)器后,將不可避免的出現(xiàn)通信延遲,所以應(yīng)該盡量選擇同網(wǎng)絡(luò)(指網(wǎng)通/ 電信),距離近的服務(wù)器。

            sock5代理的工作程序是:
            1.需要向代理方服務(wù)器發(fā)出請求信息。
            2.代理方應(yīng)答
            3.需要代理方接到應(yīng)答后發(fā)送向代理方發(fā)送目的ip和端口
            4.代理方與目的連接
            5.代理方將需要代理方發(fā)出的信息傳到目的方,將目的方發(fā)出的信息傳到需要代理方。代理完成。
            由于網(wǎng)上的信息傳輸都是運用tcp或udp進(jìn)行的,所以使用socks5代理可以辦到網(wǎng)上所能辦到的一切,而且不輿目的方會查到你的ip,既安全又方
            便 sock5支持UDP和TCP,但兩種代理是有區(qū)別的,以下分類說明
            如何用代理TCP協(xié)議
            1.向服務(wù)器的1080端口建立tcp連接。
            2.向服務(wù)器發(fā)送 05 01 00 (此為16進(jìn)制碼,以下同)
            3.如果接到 05 00 則是可以代理
            4.發(fā)送 05 01 00 01 + 目的地址(4字節(jié)) + 目的端口(2字節(jié)),目的地址和端口都是16進(jìn)制碼(不是字符串!!)。 例202.103.190.27 -7201 則發(fā)送的信息為:05 01 00 01 CA 67 BE 1B 1C 21 (CA=202 67=103 BE=190 1B=27 1C21=7201)
            5.接受服務(wù)器返回的自身地址和端口,連接完成
            6.以后操作和直接與目的方進(jìn)行TCP連接相同。
            如何用代理UDP連接
            1.向服務(wù)器的1080端口建立udp連接
            2.向服務(wù)器發(fā)送 05 01 00
            3.如果接到 05 00 則是可以代理
            4.發(fā)送 05 03 00 01 00 00 00 00 + 本地UDP端口(2字節(jié))
            5.服務(wù)器返回 05 00 00 01 +服務(wù)器地址+端口
            6.需要申請方發(fā)送 00 00 00 01 +目的地址IP(4字節(jié))+目的端口 +所要發(fā)送的信息
            7.當(dāng)有數(shù)據(jù)報返回時 向需要代理方發(fā)出00 00 00 01 +來源地址IP(4字節(jié))+來源端口 +接受的信息
            注:此為不需要密碼的代理協(xié)議,只是socks5的一部分,完整協(xié)議請RFC1928

            posted on 2009-12-26 19:39 不會飛的鳥 閱讀(19473) 評論(0)  編輯 收藏 引用


            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            久久久久波多野结衣高潮| 91久久成人免费| 无码任你躁久久久久久| 国产精品99久久久久久宅男 | 亚洲第一永久AV网站久久精品男人的天堂AV | 久久WWW免费人成—看片| 久久精品国产亚洲一区二区| 久久久亚洲欧洲日产国码二区 | 久久夜色精品国产欧美乱| 777午夜精品久久av蜜臀| 尹人香蕉久久99天天拍| 中文字幕乱码久久午夜| 日韩人妻无码精品久久久不卡| 久久久久人妻一区二区三区vr| 国产精品久久久久aaaa| 99久久免费国产精品| 亚洲第一永久AV网站久久精品男人的天堂AV| 久久久网中文字幕| 久久久久免费精品国产| 国产精品一区二区久久国产| 欧美综合天天夜夜久久| 欧美亚洲另类久久综合婷婷| 77777亚洲午夜久久多喷| 久久久久亚洲av无码专区喷水| 久久精品国产99国产电影网 | 久久久久99这里有精品10| 热re99久久精品国99热| 国产成人99久久亚洲综合精品| 合区精品久久久中文字幕一区| 欧美牲交A欧牲交aⅴ久久| 国产99久久久国产精品~~牛| 波多野结衣久久一区二区| 久久国产高清字幕中文| 久久亚洲国产最新网站| 久久国产色AV免费观看| 中文成人无码精品久久久不卡 | 青青青青久久精品国产h久久精品五福影院1421 | 色99久久久久高潮综合影院| 国产精品久久久久久久久鸭 | 久久久久国产亚洲AV麻豆| 久久99亚洲网美利坚合众国|