楼主: lovesj
1988 7

【国内资源】【0626】代理初步知识整理 [推广有奖]

  • 3关注
  • 0粉丝

VIP

硕士生

81%

还不是VIP/贵宾

-

威望
0
论坛币
52399 个
通用积分
155.3628
学术水平
1 点
热心指数
1 点
信用等级
1 点
经验
5347 点
帖子
99
精华
0
在线时间
151 小时
注册时间
2005-9-22
最后登录
2023-12-2

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
什么是代理


      在计算机词汇中,代理的全称为代理服务器(Proxy Server),其功能就是代理网络用户去取得网络信息。

  形象的说,它是网络信息的中转站。在一般情况下,我们使用网络浏览器直接去连接其它Internet站点取得网络信息时,须送出请求(Request)信号来获得回答,然后对方再把信息以字节的方式传送回来。HTTP代理服务器是介于客户浏览器和Web服务器之间的一台服务器,有了代理服务器之后,客户浏览器就不用直接到Web服务器去取回网页而是向代理服务器发出请求,Request信号会先送到代理服务器,再由代理服务器来取回浏览器所需要的Web信息并传送给客户端的浏览器。

  而且,大部分HTTP代理服务器都具有缓冲的功能,就好象一个大的Cache,有着很大的存储空间,它不断将新取得Web数据储存到它本机的硬盘空间上,如果浏览器所请求的数据在它本机的存储器上已经存在而且是最新的,那么它就不用从Web服务器再次去取数据,而直接将本地硬盘上的数据传送给客户的浏览器,这样就能显著提高了网页浏览的速度和效率。

  另外,Proxy Server(代理服务器)是Internet链路级网关所提供的一种重要的安全措施,它主要工作在开放系统互联(OSI)七层模型的对话层,为机关、企事业单位、教育机构等内部网络起到了防火墙(Firewall)的作用。

  对于教育科研网(CERNET)和科技网(CASNET)的用户来说,可以访问网内的站点而无须支付费用。但是不能直接访问Internet的网络资源。要出国浏览英文网站就得通过连接了Internet的代理服务器。而对于可以直接访问Internet的163等拨号用户,在碰到某些Internet站点访问不了、或者访问速度太慢时,也可以选用代理服务器来解决这些问题。或者你想匿名访问某些Internet网络资源,代理服务器同样可以为你做到。


HTTP代理常识



一、HTTP代理的匿名性
  This is a proxy that hides the original users' IP address and other details from the remote server. 这种代理,对远端服务器隐藏原始用户的IP地址以及其它细节(可能,但不必需)。
  HTTP代理匿名性是指不通过非常技术手段,直接使用时代理的匿名安全性。(说明:这里的匿名与其它如FTP服务器的匿名意义是不一样的,不论匿名与否,代理服务器均能起到“代理”的作用。只是匿名代理可以确保被访问方不能追溯到源IP,在一定程度上更加安全而已。这并不是一个重要的指标,是否必要则仁者见仁、智者见智。)
  测试自己的http代理是否匿名,简单方法:访问http://cpcug.org/scripts/env.cgi, 先看“REMOTE_ADDR”显示的ip,如果不是你本身的ip,说明代理服务器起作用了。再看“HTTP_X_FORWARDED_FOR”,如果有,并显示你的ip,为非匿名代理。如果没有显示,则为匿名代理。(Tips:看一下“HTTP_USER_AGENT”和“HTTP_ACCEPT_LANGUAGE”,你就能知道你的代理提供了多大的安全性。)

二、HTTP CONNECT代理
  对于HTTP代理,不少人有认识上的误区,有必要说明一下,不是所有的HTTP代理都只能代理HTTP的,vice versa!
  HTTP CONNECT代理服务器是一种能够允许用户建立TCP连接到任何端口的代理服务器,这意味着这种代理不仅可用于HTTP,还包括FTP、IRC、RM流服务等,甚至扫描、攻击。

三、三种代理的区别
  · 全匿名代理 不改变你的request fields,使服务器端看来就像有个真正的客户浏览器在访问它。当然,你的真实IP是隐藏起来的。服务器的网管不会认为你使用了代理。
  · 普通匿名代理 能隐藏你的真实IP,但会更改你的request fields,有可能会被认为使用了代理,但仅仅是可能,一般说来是没问题的。不过不要受它的名字的误导,其安全性可能比全匿名代理更高,有的代理会剥离你的部分信息(就好比防火墙的stealth mode),使服务器端探测不到你的操作系统版本和浏览器版本。
  · 透明代理(简单代理) 改编你的request fields,并会传送真实IP

跳板是一个程序,也可以说是一种socks5代理的应用吧。
* 从本地机器连接到远程机器, 中间通过安装的代理跳板。对应用程序而言,相当于普通的sock代理调用。
* 在跳板之间传输的数据,是已经被动态加密的。加密种子每次不同。
* 跳板的数目由 1 到 255,不限制,当数目为0时,相当于Sock5代理服务器。

代理格式的含义
以 10.48.72.2:80@HTTP$6&263,1987,2543#哈尔滨 为例

10.48.72.2 表示为代理服务器的IP地址为10.48.72.2
:80 “:”后的80表示该代理服务器的服务端口为80(21、23、80、81、1080、3128、8080等)
@HTTP “@“后的HTTP表示该代理服务器的类型为HTTP代理(HTTP、FTP、SOCKS4/5、TELNET五类)
$ ”$”后的数值表示代理服务器验证状态
$4:正在验证
$5:验证超时(网络连接太慢,再校验多几次会有所发现)
$6:免费的(这才是我们所要的^.^)
$7:要密码(可以用demo/demo、guest/gues、temp/temp、share/ahare、test/test作为口令/密码试试)
$8:不合符协议
$9:不匹配(如果代理服务器太忙也会出现这种情况)
$10:不支持的协议
$11:无法确定
& "&"后的以 “.” 分隔的三个数值是反映该代理本地连接的三个时间特性
第一个是反应速度,第二个是校验时间,第三个是连接时间;
所以当然也就是数值越小的代理就是越快的。
# 注释代理为哈尔滨(自定义)


HTTP代理之墨分五色




1,仅支持HTTP1.0的代理,这种代理通常在80端口,这种代理连一下就断,浏览网页还可以,对于这种代理的内幕知道的人越少越这种代理就越多,所以不能多说;

2,能支持HTTP1.1,显著特征是可以支持Keep-Alive保持不断线,这种代理一般都可以CONNECT到443端口也就是HTTPS代理,但是其中能任意CONNECT 端口的却不多,可以使用roxyExpert的SSL验证得到;

3,HTTPS代理能任意CONNECT到端口例如21端口的就可以用来上FTP,功能相当于SOCKS4,但是不能执行BIND指令。当然也很容易被SOCKS2HTTP成SOCKS4代理,即使被转化成SOCKS5代理也是掩耳盗铃,因为不能支持UDP, 远程DNS解析是可以支持的.这种代理可以用roxyExpert 的CONNECT验证得到;

4,HTTPS代理不能CONNECT到21端口却可以CONNECT到80端口的比例大约和3所述的代理比例相当,这代理可以用来配合另一个80端口代理架设二级代理。要的到这种代理需要动一点脑筋,就是把ProxyExpert的SSL验证参数 www.sun.com:443 修改 www.sun.com:80

5,二级代理,由两级代理级连的代理,第一级必须是SOCKS或是支持CONNECT的HTTP代理,第二级是任意代理,使用起来性能和第二级的代理性能一样。这种代理把URL放到数据包中所以能躲过URL检测.这种代理由ProxyExpert的二级代理验证得到并通过MTServer自动实现。

一个值得推荐的代理验证工具special

HTTP代理之墨分五色

引用:
声明:

本程序绝对绿色,不需要任何安装,也不向注册表写任何东西,不带有任何配置文件,只有一个可执行程序。
该程序主要有以下功能:
1)代理服务器验证(单个地址或从文件导入或粘贴待验证的地址),在导入代理或粘贴时,可以含有非代理的内容,程序会自动提取代理并排序结果;
2)可以保证不出现重复结果;
3)支持全部选定,反向选定,取消选定,同端口选定,同类型选定;
4)将验证的结果导出到文件;
5)将选定的代理添加到文件;
6)支持多线程,支持用户设置验证参数包括超时限制,线程数和测试站点;
7)可以只验证选中的部分代理,支持将待验证的代理粘贴到代理列表;
8)用户可以通过鼠标选择菜单或加速键来将选定的代理添加到浏览器的代理设置里。浏览器的不同窗口可以使用不同的代理,目前只能支持IE浏览器;
9)可以验证支持SSL的代理,验证结果的类型里将被标记为HTTPS;
10)能够去除大部分伪代理;
11)验证结果可以由FlashGet和NetTransport导入;
12)新增查找功能

常见问题:

1)为什么不加上验证时间?
验证时间包括连接时间和从发出请求到首次接收到数据的时间。而这两个参数并不能完全反映代理服务器的性能。因为这和你本地的网络状况,网络负荷,连接站点的服务器性能以及代理服务器的负荷有关。所以这个参数仅具有参考意义。

2)为什么不加上验证日期?
如果单从程序上来讲绝对没有问题,但是我想加上去意义不是很大,因为我们用的都是免费代理。很难说哪天就不能用了。加上日期又有什么用呢?还是多验证一下的好。

3)为什么用相同的站点验证的结果两次验证结果不完全一样?
这可能是因为代理服务器不稳定,或者本地网络性能不佳,也可能是被验证站点负荷过重等。这并不能说验证结果不准,这和很多因素有关。

4)为什么用不同的站点验证的结果不一样?
有一部分原因是因为网络不稳定,测试站点负荷过大,或者超时时间设置得太短;另一个原因有可能是,不同的代理配置情况不一样。比如有的代理重定向,有的代理确实不允许访问某站点等。建议选择稳定的站点,比www.google.com

5)为什么验证结果中有的代理不能用?
这种情况多发生在使用IE浏览器用socks5代理时,由于IE不支持socks5代理(但支持Socks4),所以建议选择支持socks5代理的浏览器或使用其他类型的代理。

6)什么样的站点是支持SSL的站点?
在IE浏览器的右下角,有一把锁的标记的站点是支持安全连接的站点(在NetScape的浏览器的左下角有一把钥匙)。

7)为什么我www.hotmail.com来验证得不到结果?
这是因为该站点被配置为重定向其他的URL,处于算法效率的考虑,没有特别处理重定向的问题。建议不要使用该站点来测试代理。

8)为什么我www.sohu.com来验证一个结果也没有?
出于程序效率的考虑,算法对内置的四个测试站点进行了强优化。对于其他的测试站点不建议使用,尤其www.sohu.com。如果用它来验证的话,是不会得到验证结果的,可能其他的某些站点会得到结果。强烈建议使用程序内置的测试站点来验证。

9)为什么导入代理数据时要一个一个导入?
因为程序并不假定要导入的文件里含有符合代理格式的书写形式。所以要在文件里边读入边搜索,提取。这一点对于从网页上复制代理,然后粘贴更是必须的。不过,我想等下一次版本进行较大升级时,我会考虑到代理库得维护,代理库由程序实现本地维护,格式由程序自己管理,到时候由文件导入就要快得多了,但是对于粘贴的代理仍然考虑采用搜索,提取的方式。

TIPS:

1)如何从网站上复制代理更简捷?
在从网站上拷贝代理列表时,不一定非要选定代理,然后复制,再粘贴到代理列表;推荐在浏览器窗口,点击鼠标右键选择"全选",然后再点击右键选择"复制",这样就把本网页的内容全部复制下来了。在程序的代理列表窗口点击右键,选择"粘贴",程序会自动在复制过来得内容里自动寻找代理,并添加排序到代理列表。

2)怎样更快的寻找到我需要的代理?
如果只需要某范围段的代理,可以在代理列表里,选中该范围段的代理,然后点击"验证",这样的话,只有被选中的代理会被验证。代理列表里其他的代理不会被验证。

3)怎样让不同的浏览器窗口使用不同的代理?
当前已经打开的浏览器窗口使用的代理,会被从"文件"菜单,选择"新建",点击"窗口",创建的浏览器使用,即这样打开的浏览器会继承当前已经打开的浏览器使用的代理;如果用代理验证程序将某个代理导入浏览器,并不会影响当前已经打开的浏览器使用的代理。只有重新打开得浏览器(比如双击桌面上IE得图标)会使用刚才导入的代理。显然通过该浏览器创建的浏览器窗口,也会使用这个代理。

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:国内资源 Transport Internet Language firewall 资源 知识 代理

沙发
lovesj 发表于 2008-7-9 11:53:00 |只看作者 |坛友微信交流群
SOCKS 5协议详解



由于在有些软件用到了socks5(如oicq,icq等),对其原理不甚了解,相信很多朋友对其也不是很了解,于是仔细研读了一下rfc1928,觉得有必要译出来供大家参考。

1.介绍:

  防火墙的使用,有效的隔离了机构的内部网络和外部网络,这种类型的Internet 架构变得越来越流行。这些防火墙系统大都充当着网络之间的应用层网关的角色,通常提供经过控制的Telnet,FTP,和SMTP访问。为了推动全球信息的交流,更多的新的应用层协议的推出。这就有必要提供一个总的架构使这些协议能够更明显和更安全的穿过防火墙。也就有必要在实际上为它们穿过防火墙提供一个更强的认证机制。这种需要源于客户机-服务器联系在不同组织网络之间的实现,而这种联系需要被控制和是很大程度上被认证的。

  该协议被描述为用来提供在TCP和UDP域下为客户机-服务器应用程序便利和安全的穿过防火墙的一个架构。该协议在概念上被描述为一个介于应用层和传输层之间的"隔离层",但是这类服务并不提供网络层网关服务,如ICMP报文的传输。

2.现状:

  SOCKS 4为基于TCP的客户机-服务器应用程序提供了一种不安全的穿越防火墙的机制,包括TELNET,FTP和当前最流行的信息发现协议如HTTP,WAIS和GOPHER.

  新协议为了包括UDP扩展了SOCKS 4,为了包括对总体上更强的认证机制的支持扩展了协议架构,为了包括域名和IPv6地址的支持扩展了地址集。

  SOCKS协议执行最具代表性的是包括了在SOCKS库中利用适当的封装程序来对基于TCP的客户程序进行重编译和重链结。

注意:

  除非特别提及,封装在包格式中的十进制数表示的是通讯域的长度(用八位组octect表示)。一个给定的八位组必须具有指定的值,格式X'hh'被用来表示在该域中单个八位组的值。当单词"变量Variable"被使用时,它指出了通讯域拥有一个可变长度,这个可变长度要么由一个联合的(一个或两个八位组)长度域定义,要么由一个数据类型域所定义。

[此贴子已经被作者于2008-7-9 11:59:54编辑过]

使用道具

藤椅
lovesj 发表于 2008-7-9 11:53:00 |只看作者 |坛友微信交流群
3.基于TCP客户机的程序

  当一台基于TCP的客户机希望和目标主机建立连接时,而这台目标主机只有经过防火墙才能到达(这种情况?一直持续到?它被执行时),它就必须在SOCKS服务器端的适当的SOCKS端口打开一个TCP连结。SOCKS服务按常例来说定位于TCP端口1080。如果连接请求成功,客户机为即将使用的认证方式进行一种协商,对所选的方式进行认证,然后发送一个转发请求。SOCKS服务器对该请求进行评估,并且决定是否建立所请求转发的连接。

  客户机连接到服务器,发送一个版本标识/方法选择报文:

  +----+----------+----------+

  |VER | NMETHODS | METHODS |

  +----+----------+----------+

  | 1 |   1  | 1 to 255 |

  +----+----------+----------+

  VER(版本)在这个协议版本中被设置为X'05'。NMETHODS(方法选择)中包含在METHODS(方法)中出现的方法标识八位组的数目。

  服务器从METHODS给出的方法中选出一种,发送一个METHOD selection(方法选择)报文:

  +----+--------+

  |VER | METHOD |

  +----+--------+

  | 1 |  1  |

  +----+--------+

  如果所选择的METHOD的值是X'FF',则客户机所列出的方法是没有可以被接受的,客户机就必须关闭连接。

当前被定义的METHOD的值有:

  >> X'00' 无验证需求

  >> X'01' 通用安全服务应用程序接口(GSSAPI)

  >> X'02' 用户名/密码(USERNAME/PASSWORD)

  >> X'03' 至 X'7F' IANA 分配(IANA ASSIGNED)

  >> X'80' 至 X'FE' 私人方法保留(RESERVED FOR PRIVATE METHODS)

  >> X'FF' 无可接受方法(NO ACCEPTABLE METHODS)

***IANA是负责全球INTERNET上的IP地址进行编号分配的机构(译者著)***

  于是客户机和服务器进入方法细节的子商议。方法选择子商议另外描述于独立的文档中。

  欲得到该协议新的METHOD支持的开发者可以和IANA联系以求得到METHOD号。已分配号码的文档需要参考METHOD号码的当前列表和它们的通讯协议。

  如果想顺利的执行则必须支持GSSAPI和支持用户名/密码(USERNAME/PASSWORD)认证方法。

[此贴子已经被作者于2008-7-9 12:00:18编辑过]

使用道具

板凳
lovesj 发表于 2008-7-9 11:54:00 |只看作者 |坛友微信交流群
4.需求

  一旦方法选择子商议结束,客户机就发送请求细节。如果商议方法包括了完整性检查的目的和/或机密性封装,则请求必然被封在方法选择的封装中。

SOCKS请求如下表所示:

  +----+-----+-------+------+----------+----------+

  |VER | CMD | RSV | ATYP | DST.ADDR | DST.PORT |

  +----+-----+-------+------+----------+----------+

  | 1 |  1 | X'00' |  1 | Variable |   2  |

  +----+-----+-------+------+----------+----------+

其中:

 o VER protocol version:X'05'

 o CMD

 o CONNECT X'01'

 o BIND X'02'

 o UDP ASSOCIATE X'03'

 o RSV RESERVED

 o ATYP address type of following address

 o IP V4 address: X'01'

 o DOMAINNAME: X'03'

 o IP V6 address: X'04'

 o DST.ADDR desired destination address

 o DST.PORT desired destination port in network octet order

5.地址

  在地址域(DST.ADDR,BND.ADDR)中,ATYP域详细说明了包含在该域内部的地址类型:

    o X'01'

  该地址是IPv4地址,长4个八位组。

    o X'03'

  该地址包含一个完全的域名。第一个八位组包含了后面名称的八位组的数目,没有中止的空八位组。

    o X'04'

  该地址是IPv6地址,长16个八位组。

[此贴子已经被作者于2008-7-9 12:00:58编辑过]

使用道具

报纸
lovesj 发表于 2008-7-9 12:01:00 |只看作者 |坛友微信交流群
6.回应

  到SOCKS服务器的连接一经建立,客户机即发送SOCKS请求信息,并且完成认证商议。服务器评估请求,返回一个回应如下表所示:

  +----+-----+-------+------+----------+----------+

  |VER | REP | RSV | ATYP | BND.ADDR | BND.PORT |

  +----+-----+-------+------+----------+----------+

  | 1 | 1 | X'00' | 1  | Variable |   2  |

  +----+-----+-------+------+----------+----------+

其中:

  o VER protocol version: X'05'

  o REP Reply field:

  o X'00' succeeded

  o X'01' general SOCKS server failure

  o X'02' connection not allowed by ruleset

  o X'03' Network unreachable

  o X'04' Host unreachable

  o X'05' Connection refused

  o X'06' TTL expired

  o X'07' Command not supported

  o X'08' Address type not supported

  o X'09' to X'FF' unassigned

  o RSV RESERVED

  o ATYP address type of following address

  o IP V4 address: X'01'

  o DOMAINNAME: X'03'

  o IP V6 address: X'04'

o BND.ADDR server bound address

o BND.PORT server bound port in network octet order

标志RESERVED(RSV)的地方必须设置为X'00'。

  如果被选中的方法包括有认证目的封装,完整性和/或机密性的检查,则回应就被封装在方法选择的封装套中。

CONNECT

  在CONNECT的回应中,BND.PORT包括了服务器分配的连接到目标主机的端口号,同时BND.ADDR包含了关联的IP地址。此处所提供的BND.ADDR通常情况不同于客户机连接到SOCKS服务器所用的IP地址,因为这些服务器提供的经常都是多址的(muti-homed)。都期望SOCKS主机能使用DST.ADDR和DST.PORT,连接请求评估中的客户端源地址和端口。

使用道具

地板
lovesj 发表于 2008-7-9 12:02:00 |只看作者 |坛友微信交流群
BIND

  BIND请求被用在那些需要客户机接受到服务器连接的协议中。FTP就是一个众所周知的例子,它通过使用命令和状态报告建立最基本的客户机-服务器连接,按照需要使用服务器-客户端连接来传输数据。(例如:ls,get,put) 都期望在使用应用协议的客户端在使用CONNECT建立首次连接之后仅仅使用BIND请求建立第二次连接。都期望SOCKS主机在评估BIND请求时能够使用ST.ADDR和DST.PORT。

  有两次应答都是在BIND操作期间从SOCKS服务器发送到客户端的。第一次是发送在服务器创建和绑定一个新的socket之后。BIND.PORT域包含了SOCKS主机分配和侦听一个接入连接的端口号。BND.ADDR域包含了关联的IP地址。  

  客户端具有代表性的是使用这些信息来通报应用程序连接到指定地址的服务器。第二次应答只是发生在预期的接入连接成功或者失败之后。在第二次应答中,BND.PORT和BND.ADDR域包含了欲连接主机的地址和端口号。

UDP ASSOCIATE(连接?)

  UDP 连接请求用来建立一个在UDP延迟过程中操作UDP数据报的连接。DST.ADDR和DST.PORT域包含了客户机期望在这个连接上用来发送UDP数据报的地址和端口。服务器可以利用该信息来限制至这个连接的访问。如果客户端在UDP连接时不持有信息,则客户端必须使用一个全零的端口号和地址。

  当一个含有UDP连接请求到达的TCP连接中断时,UDP连接中断。

  在UDP连接请求的回应中,BND.PORT和BND.ADDR域指明了客户端需要被发送UDP请求消息的端口号/地址。

回应过程

  当一个回应(REP值非X'00')指明失败时,SOCKS主机必须在发送后马上中断该TCP连接。该过程时间必须为在侦测到引起失败的原因后不超过10秒。

  如果回应代码(REP值为X'00')时,则标志成功,请求或是BIND或是CONNECT,客户机现在就可以传送数据了。如果所选择的认证方法支持完整性、认证机制和/或机密性的封装,则数据被方法选择封装包来进行封装。类似,当数据从客户机到达SOCKS主机时,主机必须使用恰当的认证方法来封装数据。

使用道具

7
lovesj 发表于 2008-7-9 12:03:00 |只看作者 |坛友微信交流群
7.基于UDP客户机的程序

  一个基于UDP的客户端必须使用在BND.PORT中指出的UDP端口来发送数据报到UDP延迟服务器,而该过程是作为对UDP连接请求的回应而进行的。如果所选择的认证方法提供认证机制、完整性、和/或机密性,则数据报必须使用恰当的封装套给予封装。每一个UDP数据报携带一个UDP请求的报头(header):

  +----+------+------+----------+----------+----------+

  |RSV | FRAG | ATYP | DST.ADDR | DST.PORT |  DATA |

  +----+------+------+----------+----------+----------+

  | 2 |  1 |  1 | Variable |  2   | Variable |

  +----+------+------+----------+----------+----------+

UDP请求报头是:

o RSV Reserved X'0000'

o FRAG Current fragment number

o ATYP address type of following addresses:

o IP V4 address: X'01'

o DOMAINNAME: X'03'

o IP V6 address: X'04'

o DST.ADDR desired destination address

o DST.PORT desired destination port

o DATA user data

  当一个UDP延迟服务器决定延迟一个UDP数据报时,它会按兵不动,对客户机无任何通报。类似的,它会将它不能或不打算延迟的数据报Drop?掉。当一个UDP延迟服务器接收到一个来自远程主机的延迟数据报,它必须使用上面的UDP请求报头来封装该数据报,和任何认证方法选择的封装。

  一个UDP延迟服务器必须从SOCKS服务器获得所期望的客户机的IP地址,而该客户机要发送数据报到BND.PORT--在至UDP连接的回应中已经给出。UDP延迟服务器还必须drop掉除了特定连接中的一条记录之外的其它的所有源IP地址。

  FRAG域指出了数据报是否为大量的数据片(flagments)中的一片。如果标明了,高序(high-order)位说明是序列的结束段,而值为X'00'则说明该数据报是独立的。值介于1-127之间片断位于数据片序列中间。每一个接收端都有一个和这些数据片相关的重组队列表(REASSEMBLY QUEUE)和一个重组时间表(REASSEMBLY TIMER)。重组队列必须被再次初始化并且相关联的数据片必须被丢掉,而无论该重组时间表是否过期,或者一个新的携带FRAG域的数据报到达,并且FRAG域的值要小于正在进行的数据片序列中的FRAG域的最大值。且重组时间表必须不少于5秒。无论如何最好避免应用程序直接与数据片接触(?)。

  数据片的执行是可选的,一个不支持数据片的执行必须drop掉任何除了FRAG域值为X'00'了数据报。

  一个利用SOCKS的UDP程序接口必须预设有效的缓冲区来装载数据报,并且系统提供的实际缓冲区的空间要比数据报大:

o if ATYP is X'01' - 10+method_dependent octets smaller

o if ATYP is X'03' - 262+method_dependent octets smaller

o if ATYP is X'04' - 20+method_dependent octets smaller


使用道具

8
lovesj 发表于 2008-7-9 12:03:00 |只看作者 |坛友微信交流群
8.安全考虑

  该文档描述了一个应用层的用于穿越IP网络防火墙的协议。这种穿越的安全性是高度依赖于正规的认证和正规执行方法提供的有效封装,以及在SOCKS客户端和SOCKS服务端所选择的安全性,还有管理员对认证方法选项所作的小心周密的考虑。

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加JingGuanBbs
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-6-16 20:10