Tiny Asynchronous Mode Socks5 Proxy V1.1
Tiny Asynchronous Mode Socks5 Proxy V1.1 Build 07/11/2006 By WinEggDrop
07/11/2006
1.串联下使用类DNS层层向上的解析方法解析域名,从第一级代理开始解析,如果解析失败,让下一级解析,如果也失败,让下一级代理解析……
2.更好的控制是否使用全局二级代理或局部和全局二级代理失败后,不使用串联代理直接连接目标还是断开客户端
07/04/2006
1.修正了UDP串联的一些问题
2.修正了UDP数据使用域名的一些问题
3.在串联代理情况下,将域名的解析交给最后一层代理进行,避免中间代理无法解析域名或解析到错误IP的问题
05/14/2006
1.修正了内网中使用UDP协议的问题
这个项目是以前写下的,尝试"挑战"风靡多年,家传户喻的snake的跳板代理程序.
Snake跳板代理具有小型,使用资源低,支持串联代理,并支持串联代理间对数据
进行加密等功能,但最大缺点是不支持验证,而且也无法对登陆客户连接进行任何限制.
这个代理程序的编写模式和Snake是一样的,都是使用单线程处理所有客户请求.
适用系统: Win9X/ME/2K/XP/2003
功能:
1. 小巧玲珑(压缩后为20KB)
2. 支持多帐号配置(最多为1000个帐号)
3. 支持二级代理(可以将代理串联起来)
4. 支持串联代理间数据加密(每个连接的加密的Key不尽相同)
5. 可以限制所有客户可使用的总带宽
6. 可以限制单个连接的带宽
7. 可以设置帐号何时到期
8. 可以设置帐号最大连接数
9. 可以设置代理允许的最大连接数
10.可以设置同一个IP登陆某帐号的最大连接
11.可以设置允许登陆某个帐号的IP或IP段
12.可以设置不允许登陆某个帐号的IP或IP段
13.可以设置某帐号可以连接到远程目标的IP或IP段
14.可以设置某帐号不可以连接到远程目标的IP或IP段
15.可以设置某帐号可以连接到远程目标的端口或端口列表
16.可以设置某帐号不可以连接到远程目标的端口或端口列表
17.可以打开多个不同端口处理客户连接
18.可以使用绑定不同的外部IP,用哪个外部IP进行连接
19.可以实时显示CPU使用率情况(调试模式下会显示)
20.可以简单的防止数量不高的(并发少于1000连接的)Open/Close攻击
21.使用极少的资源,每个登陆的连接只会使用8KB左右物理内存
22.灵活的二级代理配置(可以有全局二级代理或以帐号为基础的二级代理)
23.支持日志记录
使用方法:
A.安装
1.将socks5.ini和aSock.exe上传,aSock.exe可以放在任何目录,Socks5.ini一定要放在系统目录下
2.ASock.exe -install
3.ASock.exe -start
B.停止服务
aSock.exe -stop
C.删除服务
1.先将服务停止(aSock.exe -stop)
2.ASock.exe -remove
D.以调试模式执行
aSock.exe -debugmode
E.以隐藏的调试模式执行
aSock.exe -Hidemode
注:
A.Socks5.ini的文件一定要配置正确,不时则程序会出现问题或根本不会执行成功,如何配置Socks5.ini,请看ConfigRe.txt
B.由于Socks5.ini中对于无论全局或帐号的设置,都有很多项,但有相当部分项,可以保留默认设置(将某些项删除,也当成是
使用默认设置),但有些项是一定需要存在的.所以在使用前,先仔细看清楚ConfigRe.txt中有关说明.
限制:
1.内建简单的防火墙最后去除了(为了使程序小型些)
2.远程控制也没有加上(如果加上了,可以作为商业软件使用,并不想这样)
如果发现程序有什么问题,或有什么建议,请到www.ph4nt0m.org/bbs中的Security Programming板块中进行讨论
FAQ
1.为什么代理不能启动?
原因1: socks5.ini配置有问题,如果是socks5.ini配置有问题,使用asock.exe -debugmode模式启动,可以看到错误原因
原因2: 代理要打开的端口,已被其它程序所占用,这样就要修改socks5.ini配置
2.串联代理中的数据加密,是属于强壮的加密吗?
不是强壮的加密,只是简单的加密.强壮的加密必然要牺牲更多的CPU时间,因为socks5代理在接收和发送的数据都需要加密或解密,如果
流量比较大的话,会导致系统CPU在加密或解密时使用太多的CPU时间.最重要的话,数据的加密,只是为了将敏感数据不是以明文显示,就算
数据被其他人得到,也减少被人知道原文的可能,还有就是这个加密主要是用于越开国内对我们访问的数据的过滤,所以不要以为数据加密了,
就算通过代理做坏事,也不会被人抓到,请不要这么天真.还有就是数据只是在串联的代理间只是加密的,数据在发送到第二级代理或在最后一级
代理向目标发送时,数据还是明文来的
3.代理启动成功,为什么我不能通过代理去访问远程目标服务器?
原因1: 代理的配置中限制了你无法访问某些远程目标服务器,请查看ConfigRe.txt中有关配置.
原因2: 代理运行中的系统所处的ISP(网络提供商)本身限制了访问一些IP段
原因3: 远程目标服务器所在的ISP的上游戏路由拒绝了代理运行中的系统所处的ISP的客户的访问
原因4: 由于代理运行中的系统所处的网络到要访问的远程目标间的网络过慢,造成超时现象或数据难于发送现象.
4.我只有一台服务器做代理,如何进行串联代理呢?
很简单,在本地中也做一个代理,然后二级是设置到你另一台服务器,这样就是一个串联.
5.代理最多能支持多少个连接?
这个不是由代理本身决定,是代理程序所运行的系统本身的资源所决定(CPU,带宽,内存等),内存一般是够用的,因为代理程序本身比较节省物理内存,
1000个登陆连接,也只是大约用8M的物理内存,所以关键的是CPU和带宽.如果资源足够的话,上5,6千连接也是没问题的(多线程模式的代理程序,最高只能上2028连接,有点先天不足吧)
6.代理的稳定性如何?
Socks代理程序的核心就是数据的传输,基本上只要这个核心模块是稳定的,程序没有些低极的数组越界的问题的话,就是比较稳定的了。
这个程序在几个月前核心模块已经开始测试,就我所知是稳定的,当然我不能100%保证程序没有问题,如果真有问题的话,请在论坛中告诉我.
7.为什么代理帐号的密码没有加密,都是明文的?
原因1: 因为代理程序本身没有远程控制,如果密码是加密的话,又要多一个配置程序去配置,我不想弄这个配置程序.
原因2: 最重要原因是因为代理帐号和密码,就算被第三者知道,他最多也只是能使用这个代理罢。代理帐号的密码和ftp或其它服务软件的密码不一样,
就算被人知道,人家也无法做到入侵系统或破坏系统数据的行为.FTP服务软件又不同,因为ftp的帐号如果权限足够,不但可以下载文件,还能
上传,删除或直接在系统中执行命令.
8.串联代理为什么不能用?
原因1: 配置错误问题,例如有些项的设置是决定是否使用二级代理的,也有可能是二级代理的信息错误,例如IP错误,端口错误,帐号或密码错误等,请查看ConfigRe.txt
原因2: 二级代理没有正常工作.
原因3: 如果配置没错,下一级代理也正常工作,当前级别代理,没法连接上下一级代理,由于当前级别的或下一级别代理的ISP问题(有些ISP限制它的客户无法连接到哪些IP段,
有些ISP也限制哪些IP段不能访问它的客户)
原因4: 二级代理并不是使用这个代理软件建的.串联代理必须使用这软件,否则无法正常工作.Snake那个也是一样的.
9.查看日志
日志文件会保存在系统目录中(%SystemRoot%\system32),日志文件以.ben为后缀,前缀是年月日的组合.
10.写这程序真是为了去挑战Snake那个代理吗?
完全不是。原因是在写了个多线程的代理程序后(已发布过),发现多线程的代理程序无论是在资源使用或在其它方面都拥有一些先天性的缺陷,无意中发现Snake那个代理并非使用
多线程模式编写的,就用Snake那个代理的模式重写了这个socks代理程序.