青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

不會飛的鳥

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

(RFC1928)Socket5協議中文文檔

譯者:Radeon(Radeon bise@cmmail.com)
譯文發布時間:2001-6-18

目錄

1.介紹
2.現有的協議
3.基于TCP協議的客戶
4.請求
5.地址
6.應答
7.基于UDP協議的客戶
8. 安全性考慮
9. 參考書目

1.介紹

利用網絡防火墻可以將組織內部的網絡結構從外部網絡如INTERNET中有效地隔離,這種方法在許多網絡系統中正變得流行起來。這種防火墻系統通常以應用層網關的形式工作在兩個網絡之間,提供TELNET、FTP、SMTP等的接入。隨著越來越多的使全球信息查找更容易的復雜的應用層協議的出現,有必要提供一個通用框架來使這些協議安全透明地穿過防火墻。而且在實際應用中還需要一種安全的認證方式用以穿越防火墻。這個要求起源于兩個組織的網絡中客戶/服務器關系的出現,這個關系需要得到控制并要求有安全的認證。
在這兒所描述的協議框架是為了讓使用TCP和UDP的客戶/服務器應用程序更方便安全地使用網絡防火墻所提供的服務所設計的。這個協議從概念上來講是介于應用層和傳輸層之間的“中介層(shim-layer)”,因而不提供如傳遞ICMP信息之類由網絡層網關的所提供的服務。


2.現有的協議
當前存在一個協議SOCKS 4,它為TELNET、FTP、HTTP、WAIS和GOPHER等基于TCP協議的客戶/服務器程序提供了一個不安全的防火墻。而這個新的協議擴展了SOCKS V4,以使其支持UDP、框架規定的安全認證方案、地址解析方案(addressing scheme)中所規定的域名和IPV6。為了實現這個SOCKS協議,通常需要重新編譯或者重新鏈接基于TCP的客戶端應用程序以使用SOCKS庫中相應的加密函數。
注意:
除非特別注明,所有出現在數據包格式圖中的十進制數字均以字節表示相應域的長度。如果某域需要給定一個字節的值,用X’hh’來表示這個字節中的值。如果某域中用到單詞’Variable’,這表示該域的長度是可變的,且該長度定義在一個和這個域相關聯(1 – 2個字節)的域中,或一個數據類型域中。


3.基于TCP協議的客戶
當一個基于TCP協議的客戶端希望與一個只能通過防火墻可以到達的目標(這是由實現所決定的)建立連接,它必須先建立一個與SOCKS服務器上SOCKS端口的TCP連接。通常這個TCP端口是1080。當連接建立后,客戶端進入協議的“握手(negotiation)”過程:認證方式的選擇,根據選中的方式進行認證,然后發送轉發的要求。SOCKS服務器檢查這個要求,根據結果,或建立合適的連接,或拒絕。
除非特別注明,所有出現在數據包格式圖中的十進制數字均以字節表示相應域的長度。如果某域需要給定一個字節的值,用X’hh’來表示這個字節中的值。如果某域中用到單詞’Variable’,這表示該域的長度是可變的,且該長度定義在一個和這個域相關聯(1 – 2個字節)的域中,或一個數據類型域中。
客戶端連到服務器后,然后就發送請求來協商版本和認證方法:

VER NMETHODS METHODS
1 1 1 to 255

這個版本的SOCKS協議中,VER字段被設置成X'05'。NMETHODS字段包含了在METHODS字段中出現的方法標示的數目(以字節為單位)。
服務器從這些給定的方法中選擇一個并發送一個方法選中的消息回客戶端:

VER METHOD
1 1

如果選中的消息是X’FF’,這表示客戶端所列出的方法列表中沒有一個方法被選中,客戶端必須關閉連接。
當前定義的方法有:
· X’00’ 不需要認證
· X’01’ GSSAPI
· X’02’ 用戶名/密碼
· X’03’ -- X’7F’ 由IANA分配
· X’80’ -- X’FE’ 為私人方法所保留的
· X’FF’ 沒有可以接受的方法
然后客戶和服務器進入由選定認證方法所決定的子協商過程(sub-negotiation)。各種不同的方法的子協商過程的描述請參考各自的備忘錄。
開發者如果要為自己的方法得到一個方法號,可以聯系IANA。可以參考關于已經被分配號碼的文檔以得到當前所有方法的列表和相應的協議。
符合本文檔的SOCKS V5實現必須支持GSSAPI,并且在將來支持用戶名/密碼認證方式。

4.請求

一旦子協商過程結束后,客戶端就發送詳細的請求信息。如果協商的方法中有以完整性檢查和/或安全性為目的的封裝,這些請求必須按照該方法所定義的方式進行封裝。
SOCKS請求的格式如下:

VER CMD RSV ATYP DST.ADDR DST.PROT
1 1 X’00’ 1 Variable 2

其中
· VER 協議版本: X’05’
· CMD
· CONNECT:X’01’
· BIND:X’02’
· UDP ASSOCIATE:X’03’
· RSV 保留
· ATYP 后面的地址類型
· IPV4:X’01’
· 域名:X’03’
· IPV6:X’04’'
· DST.ADDR 目的地址
· DST.PORT 以網絡字節順序出現的端口號
SOCKS服務器會根據源地址和目的地址來分析請求,然后根據請求類型返回一個或多個應答。

5.地址
ATYP字段中描述了地址字段(DST.ADDR,BND.ADDR)所包含的地址類型:
· X'01'
基于IPV4的IP地址,4個字節長
· X'03'
基于域名的地址,地址字段中的第一字節是以字節為單位的該域名的長度,沒有結尾的NUL字節。
· X'04'
基于IPV6的IP地址,16個字節長


6.應答
一旦建立了一個到SOCKS服務器的連接,并且完成了認證方式的協商過程,客戶機將會發送一個SOCKS請求信息給服務器。服務器將會根據請求,以如下格式返回:

VER REP RSV ATYP BND.ADDR BND.PORT
1 1 X’00’ 1 Variable 2

其中:
· VER 協議版本: X’05’
· REP 應答字段:
· X’00’ 成功
· X’01’ 普通的SOCKS服務器請求失敗
· X’02’ 現有的規則不允許的連接
· X’03’ 網絡不可達
· X’04’ 主機不可達
· X’05’ 連接被拒
· X’06’ TTL超時
· X’07’ 不支持的命令
· X’08’ 不支持的地址類型
· X’09’ – X’FF’ 未定義
· RSV 保留
· ATYP 后面的地址類型
· IPV4:X’01’
· 域名:X’03’
· IPV6:X’04’
· BND.ADDR 服務器綁定的地址
· BND.PORT 以網絡字節順序表示的服務器綁定的段口
標識為RSV的字段必須設為X’00’。
如果選中的方法中有以完整性檢查和/或安全性為目的的封裝,這些應答必須按照該方法所定義的方式進行封裝。

CONNECT
在對一個CONNECT命令的應答中,BND.PORT包含了服務器分配的用來連到目標機的端口號,BND.ADDR則是相應的IP地址。由于SOCKS服務器通常有多個IP,應答中的BND.ADDR常和客戶端連到SOCKS服務器的那個IP不同。

SOCKS服務器可以利用DST.ADDR和DST.PORT,以及客戶端源地址和端口來對一個CONNECT請求進行分析。

BIND
BIND請求通常被用在那些要求客戶端接受來自服務器的連接的協議上。FTP是一個典型的例子。它建立一個從客戶端到服務器端的連接來執行命令以及接收狀態的報告,而使用另一個從服務器到客戶端的連接來接收傳輸數據的要求(如LS,GET,PUT)。
建議只有在一個應用協議的客戶端在使用CONNECT命令建立主連接后才可以使用BIND命令建立第二個連接。建議SOCKS服務器使用DST.ADDR和DST.PORT來評價BIND請求。
在一個BIND請求的操作過程中,SOCKS服務器要發送兩個應答給客戶端。當服務器建立并綁定一個新的套接口時發送第一個應答。BND.PORT字段包含SOCKS服務器用來監聽進入的連接的端口號,BAND.ADDR字段包含了對應的IP地址。客戶端通常使用這些信息來告訴(通過主連接或控制連接)應用服務器連接的匯接點。第二個應答僅發生在所期望到來的連接成功或失敗之后。在第二個應答中,BND.PORT和BND.ADDR字段包含了連上來的主機的IP地址和端口號。

UDP ASSOCIATE
UDP ASSOCIATE請求通常是要求建立一個UDP轉發進程來控制到來的UDP數據報。DST.ADDR和DST.PORT 字段包含客戶端所希望的用來發送UDP數據報的IP地址和端口號。服務器可以使用這個信息來限制進入的連接。如果客戶端在發送這個請求時沒有地址和端口信息,客戶端必須用全0來填充。
當與UDP相應的TCP連接中斷時,該UDP連接也必須中斷。
應答UDP ASSOCIATE請求時,BND.PORT 和BND.ADDR字段指明了客戶發送UDP消息至服務器的端口和地址。

應答處理
當一個應答(REP值不等于00)指明出錯時,SOCKS服務器必須在發送完應答消息后一小段時間內終止TCP連接。這段時間應該在發現錯誤后少于10秒。
如果一個應答(REP值等于00)指明成功,并且請求是一個BIND或CONNECT時,客戶端就可以開始發送數據了。如果協商的認證方法中有以完整性、認證和/或安全性為目的的封裝,這些請求必須按照該方法所定義的方式進行封裝。類似的,當以客戶機為目的地的數據到達SOCKS服務器時,SOCKS服務器必須用正在使用的方法對這些數據進行封裝。


7.基于UDP協議的客戶
在UDP ASSOCIATE應答中由BND.PORT指明了服務器所使用的UDP端口,一個基于UDP協議的客戶必須發送數據報至UDP轉發服務器的該端口上。如果協商的認證方法中有以完整性、認證和/或安全性為目的的封裝,這些數據報必須按照該方法所定義的方式進行封裝。每個UDP數據報都有一個UDP請求頭在其首部:

RSV FRAG ATYP DST.ADDR DST.PORT DATA
2 1 1 Variable 2 Variable

在UDP請求頭中的字段是:

· RSV 保留 X’0000’
· FRAG 當前的分段號
· ATYP 后面的地址類型
· IPV4:X’01’
· 域名:X’03’
· IPV6:X’04’
· DST.ADDR 目的地址
· DST.PORT 以網絡字節順序出現的端口號
· DATA 用戶數據
當一個UDP轉發服務器轉發一個UDP數據報時,不會發送任何通知給客戶端;同樣,它也將丟棄任何它不能發至遠端主機的數據報。當UDP轉發服務器從遠端服務器收到一個應答的數據報時,必須加上上述UDP請求頭,并對數據報進行封裝。
UDP轉發服務器必須從SOCKS服務器得到期望的客戶端IP地址,并將數據報發送到UDP ASSOCIATE應答中給定的端口號。如果數據報從任何IP地址到來,而該IP地址與該特定連接中指定的IP地址不同,那么該數據報會被丟棄。
FRAG字段指明數據報是否是一些分片中的一片。如果SOCKS服務器要實現這個功能,X’00’指明數據報是獨立的;其他則越大越是數據報的尾端。介于1到127之間的值說明了該分片在分片序列里的位置。每個接收者都為這些分片提供一個重組隊列和一個重組的計時器。這個重組隊列必須在重組計時器超時后重新初始化,并丟棄相應的數據報。或者當一個新到達的數據報有一個比當前在處理的數據報序列中最大的FRAG值要小時,也必須重新初始化從組隊列。重組計時器必須小于5秒。只要有可能,應用程序最好不要使用分片。
分片的實現是可選的;如果某實現不支持分片,所有FRAG字段不為0的數據報都必須被丟棄。
一個SOCKS的UDP編程界面(The programming interface for a SOCKS-aware UDP)必須報告當前可用UDP數據報緩存空間小于操作系統提供的實際空間。
· 如果 ATYP是 X’01’ - 10+method_dependent octets smaller
· 如果 ATYP是X’03’ - 262+method_dependent octets smaller
· 如果 ATYP是X’04’ - 20+method_dependent octets smaller

8. 安全性考慮
這篇文檔描述了一個用來透過IP網絡防火墻的應用層協議。這種傳輸的安全性在很大程度上依賴于特定實現所擁有以及在SOCKS客戶與SOCKS服務器之間經協商所選定的特殊的認證和封裝方式。
系統管理員需要對用戶認證方式的選擇進行仔細考慮。

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


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美日韩久久| 另类图片国产| 久久久噜噜噜久久久| 欧美在线观看视频| 国产视频精品va久久久久久| 99在线|亚洲一区二区| av不卡免费看| 国产精品极品美女粉嫩高清在线 | 亚洲综合不卡| 欧美视频1区| 亚洲欧美日韩成人| 久久综合999| 一本色道久久综合一区| 午夜免费在线观看精品视频| 欧美三级日本三级少妇99| 亚洲视频播放| 免费精品视频| 国产精品99久久久久久人| 国产日韩一区| 欧美日本一区二区高清播放视频| 国产精品99久久99久久久二8| 中文日韩在线| 91久久在线观看| 国产在线国偷精品产拍免费yy| 免费成年人欧美视频| 在线亚洲欧美视频| 亚洲国产精品一区二区www在线| 亚洲视频电影在线| 亚洲精品久久久一区二区三区| 久久综合久久综合九色| 日韩网站在线观看| 国产日韩视频| 国产精品久久一级| 欧美日韩国内| 欧美喷水视频| 欧美日韩国产首页| 欧美理论在线| 欧美精品乱码久久久久久按摩| 久久国产日韩欧美| 久久精品一区二区三区不卡牛牛| 亚洲午夜精品久久久久久app| 99国产精品自拍| 亚洲视频第一页| 99人久久精品视频最新地址| 久久久亚洲欧洲日产国码αv| 在线观看视频一区| 伊人激情综合| 一区二区国产精品| 亚洲欧美国产77777| 欧美成人有码| 男女精品网站| 日韩午夜激情电影| 亚洲私拍自拍| 久久全球大尺度高清视频| 麻豆精品视频在线观看视频| 免费黄网站欧美| 久久国产精品久久国产精品| 99精品视频免费观看视频| 一区二区三区视频免费在线观看| 亚洲五月六月| 美国十次了思思久久精品导航| 欧美激情精品久久久久久免费印度 | 免费日韩成人| 日韩一级免费| 久久亚洲精品一区二区| 欧美国产综合视频| 国产三区精品| 亚洲欧美另类中文字幕| 欧美大片一区二区| 午夜日韩在线观看| 国产精品二区二区三区| 亚洲欧洲在线视频| 久久综合色婷婷| 午夜在线不卡| 国产精品视频一区二区三区| 亚洲精选久久| 欧美激情精品久久久久久蜜臀| 午夜精品一区二区三区在线视| 欧美日韩在线播放一区二区| 毛片一区二区三区| 国产精品日韩专区| 欧美1区2区3区| 在线免费观看视频一区| 久久一区免费| 久久综合狠狠综合久久激情| 国内精品久久久久影院 日本资源| 亚洲一二三区精品| 一本久久综合亚洲鲁鲁五月天| 欧美激情一区二区三区| 亚洲精品久久久久中文字幕欢迎你| 麻豆精品一区二区综合av| 欧美在线free| 亚洲成人在线视频播放| 欧美国产一区二区在线观看| 久久精品视频在线| 亚洲日本理论电影| 亚洲人成精品久久久久| 国产精品v亚洲精品v日韩精品| 亚洲专区一区| 久久婷婷av| 一区二区三区日韩欧美| 99精品国产福利在线观看免费 | 9色精品在线| 亚洲一区影院| 一区视频在线播放| 免费不卡视频| 久久国产精彩视频| 亚洲精品欧美日韩专区| 亚洲一区二区三区精品在线| 国产日韩精品视频一区二区三区| 麻豆久久精品| 国产精品卡一卡二| 欧美国产日韩亚洲一区| 国产精品成人va在线观看| 久久婷婷国产综合国色天香| 欧美精品免费视频| 久久夜色精品一区| 欧美三区美女| 亚洲国产日韩一区| 一区二区三区在线观看国产| 亚洲午夜精品| 亚洲午夜免费福利视频| 欧美96在线丨欧| 裸体素人女欧美日韩| 国产精品网红福利| 黄色在线一区| 午夜精彩国产免费不卡不顿大片| 一本久久a久久免费精品不卡| 久久爱另类一区二区小说| 亚洲一区二区三区四区中文| 欧美精品一区二区三区四区| 欧美好骚综合网| 亚洲精品系列| 欧美黄免费看| 一区二区三区偷拍| 亚洲视频在线观看三级| 美女爽到呻吟久久久久| 亚洲女性裸体视频| 国产精品毛片大码女人| 一本色道综合亚洲| 欧美主播一区二区三区| 国产一区999| 欧美不卡一卡二卡免费版| 99riav国产精品| 久久精品欧洲| 亚洲人久久久| 国产精品日韩欧美一区二区| 久久久久久97三级| 99精品国产在热久久| 久久在线免费| 亚洲永久精品大片| 日韩午夜剧场| 国产一区美女| 欧美日韩国内自拍| 久久久久久精| 亚洲欧美激情诱惑| 91久久精品一区二区别| 久久免费高清| 久久久久久一区二区| 亚洲国产精品免费| 国产伦精品一区二区三区照片91| 欧美大片第1页| 久久噜噜噜精品国产亚洲综合| 亚洲人www| 亚洲国产精品视频| 亚洲福利久久| 亚洲国产高清在线| 亚洲国产一区二区三区a毛片 | 久久国产日韩欧美| 午夜国产精品影院在线观看| 国产精品99久久久久久久vr| 欧美激情1区2区3区| 欧美aa国产视频| 韩国美女久久| 国产日韩欧美不卡| 国产午夜亚洲精品理论片色戒| 国产伦精品一区二区三区在线观看| 欧美日韩在线播放一区| 欧美视频中文字幕| 国产欧美日本一区二区三区| 国产精品系列在线| 国产欧美一区二区在线观看| 国产视频在线观看一区| 国产亚洲美州欧州综合国| 国产一在线精品一区在线观看| 国产亚洲亚洲| 亚洲九九九在线观看| 亚洲欧美www| 久久嫩草精品久久久久| 最近中文字幕日韩精品| 日韩视频二区| 久久xxxx精品视频| 欧美国产精品久久| 国产欧美日韩不卡| 日韩视频在线播放| 久久国产精彩视频| 亚洲人成人一区二区在线观看| 亚洲激情在线| 先锋影音国产精品| 久久精品一区二区|