1. 编写了一个HTTP高匿代理
本以为编写http代理和上一篇的端口转发差不多的,结果实际一编写起来发现要复杂的多。怎么回事呢,就在于要手动解析http协议。
说简单点吧,如果直接用ie上一个网站,用sniffe一看http请求头是这样的。
GET / HTTP/1.1
Accept: application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, application/x-shockwave-flash, application/QVOD, application/QVOD, */* Accept-Language: zh-CN
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)
Accept-Encoding: gzip, deflate
Host: https://www.doczj.com/doc/4d9336627.html,
Connection: Keep-Alive
Cookie: xxxxxxxxx
但是如果用代理就变成了这样
GET https://www.doczj.com/doc/4d9336627.html,/ HTTP/1.1
Accept: application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, application/x-shockwave-flash, application/QVOD, application/QVOD, */* Accept-Language: zh-CN
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)
Accept-Encoding: gzip, deflate
Host: https://www.doczj.com/doc/4d9336627.html,
Proxy-Connection: Keep-Alive
Cookie: xxxxxxxxx
区别就在这里,用代理get那地方会把完整url写上,而且Connection加上了proxy标志,其他一样。所以用TcpListener和TcpClient每接受一个连接,就要首先把提交的http请求的头部分改写,就是把下面的改成上面的。
这是GET方法,只有请求的头部分没有实体部分。
还有一种POST方法,是包含实体部分的,比如上传图片了什么的,都是用的POST方法。post方法紧跟在头部分后面。
怎么判断哪是头那是实体呢?
http协议规定头必然有2个连续的"/r/n",就像上面Cookie后面就跟了2个/r/n,所以读取请求头的时候只要读到/r/n/r/n,那么前面就是头,后面就是实体。实体大小在上面有一个Content-Length标记。所以从/r/n/r/n后面读Content-Length大小后就结束了
还有一种是CONNECT方法,凡是用connect的就是ssl加密通信,当收到 CONNECT
https://www.doczj.com/doc/4d9336627.html,:443 HTTP /1.0之类的请求后,代理服务器要给客户(如IE)返回一个"HTTP/1.1 200 Connection established/r/n/r/n",然后就tcpclinet一个服务器的443,后只负责客户和服务器的转发就可以了,就像上一篇的转发一样,什么都不用管了。这种反而最简单。
就以上3种最常用。
其他的请求方法还有put option什么的,因为实在是没见过,也不知道去哪里试所以都按照get post的方法处理了。
服务器返回更麻烦,麻烦就在于http协议过于宽松,如果每个回应或者请求都包括Content-Length或者chunked之类表明实体大小的东西那么就好判断了,http协议规定判断实体大小的方法有好几种
,当然最准确的就是有Content-Length和chunked,还有以服务器断开连接来判断的,有的回应中没有Content-Length或者chunked,以什么时候断开来判断,疑似那些网络上下坏文件的就是这么造成的,客户根本不知道有多大,如果读取完了服务器断开那么没问题,如果读着读着网络中断了了
,客户还以为是服务器断开了是吧。
所以读取服务器回应的时候就要判断好几个值
1、判断状态码,http协议规定1xx 204 304肯定不包括实体,所以读到/r/n/r/n就不用再读了
2、判断没有Content-Length
3、判断有没有chunked
如果有Content-Length,那么读取和上面请求头一样,/r/n/r/n后面读Content-Length个返回给客户。
还有一种是chunked编码,这种编码一般是gzip压缩的,微软论坛就是用的这种,当你请求页面的时候,服务器一边把页面gzip压缩一点传给你再压缩一点传给你,所以开始没法得到Content-Length,但是每chunked却有标记的大小
HTTP/1.1 200 OK
Cache-Control: private
Content-Type: text/html; charset=utf-8
Server: Microsoft-IIS/7.5
X-AspNetMvc-Version: 2.0
X-AspNet-Version: 4.0.30319
Set-Cookie: Set-Cookie: X-Powered-By: https://www.doczj.com/doc/4d9336627.html,
P3P: CP=ALL IND DSP COR ADM CONo CUR CUSo IVAo IVDo PSA PSD TAI TELo OUR SAMo CNT COM INT NAV ONL PHY PRE PUR UNI
Server: CO1VB06
Date: Fri, 24 Sep 2010 09:33:28 GMT
ntCoent-Length: 166137
Content-Encoding: gzip
Transfer-Encoding: chunked
2D23
...........}.s.G.......j....*u......y....%...;QO.M.[....3..,...
.!..O....H-."v..>.............=YY
像上面chunked/r/n/r/n后面是实体,第一行2D23就是一chunk的大小所以在2D23/r/n后面开始读
2D23个然后会紧跟着/r/n,然后后面就是下一chunk的大小,直到最后一chunk是0大小。实体结束
,最后再来一个/r/n。也就是说chunked的最后7个一定是/r/n0/r/n/r/n,本来判断读到/r/n0/r/n/r/n就结束应该没问题,但是为了保险起见,还是一次一次的读大小再读大小。
最讨厌的就是既没有content-length也没有chunked,如果返回的是conntion: close还好点,读着读着发现那边断开了就行了,如果返回的是keep-alive,networkstream.read那里就卡住了,表现在ie就是看似页面都加载完了,但是进度条还是在慢慢地走着,所以只能加个读取超时,比如3秒钟还读不出来就断开连接。反而ie那里却显示“完成”,
而且如果再分析keep-alive那就太麻烦了,我是从服务器那里一旦读取完,不管是不是keep-alive一律关闭连接,也就说ie每一个请求都单独的tcpclient一次服务器完后关闭。
但是处理ie就不能这样了,ie每开一的端口和代理服务器连接发送的请求是一个或多个,所以tcplistener每进来一个ie的tcpclient(即ip+端口),处理完这个tcpclient的请求后不能像断开服务器那样断开,否则ie就什么都不显示一直走那个进度条或者找不到服务器。所以处理完一次请求后要循环再读这个tcpclient的下一个请求,如果发现这个请求断开了就彻底关闭这个tcpclient。所以整个流程是这样的
1、tcplistener监听
2、循环tcplistener.accepttcpclient()
3、进来一个tcpclient()后,启动一个线程处理,上面继续循环等待
4、同时3的那个tcpclient开始处理,读取他的http请求头,改写http请求头,然后把改写的请求头和下面实体部分发送到请求的服务器,这里要注意必须是随读随改随发送,不能等到全读取完了再发送,否则就超时了。
5、发送完毕,开始从服务器接收
6、和第4差不多,也是从服务器随读随往ie发送,也是不能读取完再发否则就超时
7、读取完毕,断开和服务器的连接,不管是不是keep-alive
8、重复到第4步开始,再从ie读取下一个请求,如果有那么再执行5/6/7/8,直到发现ie的这个tcpclient断开了,就彻底结束掉这个线程。
大体就是这个样子了,所以把上面的条件用代码写出来就是http代理服务器了,把上面这些条件用代码写出来是很麻烦的,所以写出来的代码是非常丑陋的,而且我本来写的代码就很难看,这样一来就更没法看了,所以我就不献丑了,关键是解释这个大体过程比代码要重要,当时我找这过程别人的文章解释的都不太清楚,看了几页http协议文档,应该是机器翻译的,很难看懂,总共100几十页,看全了不值当的,有一篇介绍c#2003做代理的文章,一看根本就是端口转发没改请求头都,一试果然不行,还有一个外国人的,很长不愿看了,那种风格就像反编译.net类库看到的那种感觉,坐一块右一块的,而且运行后发现也不大行,所以只好一点一点的抠,但是好在编译后运行效果还是挺好的,测试了一下午,cpu占用率没超过3%的时候,内存占用10兆左右,下载什么的ssl都可以,只是上网偶尔出现进度条等待的情况,就是上面说的因为服务器那边没有实体长度信息等待超时的情况,但是这无关大雅了。大部分网站都是和直接用ie一样刷的就出来了,感觉不到慢。下载更没问题了,和直接用ie下载速度一样的。
最后就是为什么说是高匿呢,本来想查查原理的代理部分,又想先试试是什么结果,本以为是透明代理,结果试了好几个检查代理匿名性的网站,结果全都说是“高匿”,关于匿名性,代码体现的仅仅是把ie发送的proxy-connection改成了connection,难道这样就“高匿”了?那就高匿吧。对了
,picasaweb本来是打不开的,我用了我这个代理后就能打开了。
大家有兴趣的可以下载来测试一下
搭建代理服务器 1.代理服务器的优点: 能够缓存增加访问速度提供使用私有IP访问internet的访问 提高了网络的安全性方便对用户的管理 2.代理方式: 普通代理:客户端主机必须在自己的浏览器里指定代理服务器的IP地址和代理服务器监听的端口号,才可以通过代理服务器访问互联网。 透明代理:客户端主机不需要在自己的浏览器里指定代理服务器的IP地址和代理服务器监听的端口号,只要把自己的网关指向代理服务器的内网接口的ip地址就可以了。 反向代理:代替公网客户端访问访问局域网内服务器 利用nginx的反向代理和tomcat整合 Nginx+tomcat整合的安装与配置 目标:nginx处理静态页面,tomcat处理jsp页面 步骤: 1. 准备软件 apache-tomcat-6.0.26.tar.gz https://www.doczj.com/doc/4d9336627.html,/download-60.cgi jdk-6u20-linux-i586.bin https://www.doczj.com/doc/4d9336627.html,/javase/downloads/index.jsp nginx-0.8.15.tar.gz https://www.doczj.com/doc/4d9336627.html,/en/download.html pcre-7.9.tar.gzhttps://www.doczj.com/doc/4d9336627.html,/projects/pcre/files/ 以上软件放到/usr/local/目录下 2. 安装jdk #cd /usr/local/ #./jdk-6u20-linux-i586.bin 输入yes,一直安装 配置环境变量 vi /etc/profile 按shift+g跳到最后,添加一下代码 JAVA_HOME="/usr/local/jdk1.6.0_20" CLASS_PATH="$JAVA_HOME/lib:$JAVA_HOME/jre/lib" PATH=".:$PATH:$JAVA_HOME/bin " CATALINA_HOME="/usr/local/tomcat" export JAVA_HOME CATALINA_HOME # source /etc/profile 让配置生效 3.安装tomcat # cd /usr/local # tar zxvf apache-tomcat-6.0.18.tar.gz # mv apache-tomcat-6.0.18 tomcat # mkdir –p /home/www/web # cp -rf /usr/local/tomcat/webapps/* /home/www/web/ 修改/home/www/web/为网站目录 vi /usr/local/tomcat/conf/server.conf 把Host name="localhost"处将appBase=的指向路径改为/home/www/web
它提供超高速缓存,保存网络带宽,改善客户机的响应时问,减少网络的拥挤,并且在不加重最终用户和网络管理员负担的情况下改善对网络资源的控制。 1 Microsoft Proxy Server Microsoft Proxy Server是把对Intemet的访问带入一个组织内部每一个桌面上去的一种容易而又安全的方法,它包括Web Proxy服务器,Winsock Proxy服务器和Socks Proxy服务器。Web Proxy为Cache类代理软件,Winsock Proxy通过Winsock协议代理使LAN内的计算机好像直接连接在上一级网络上一样,实际上是通过代理服务器发送请求,但客户端要安装Microsoft Winsock Proxy Client软件。Microsoft ProxyServer 2.0是Microsoft Bank Ofice客件之一,运行在Windows NT 或Windows 2000环境下。在Windows NT Server4.0上安装时,必须安装3.0或更高版本的IIS(Internet InformationServer)及Windows Service Pack 3或更高版本的补丁。 它容易与安全地安装,充分利用内建在Windows NTServer里的安全性,并允许网络操作员对进入或来自Intemet的访问作有效地控制。它支持全部的Internet协议包括HTTP、FTP、Gopher、RealAudio、VDOfive、IRC、邮件和新闻协议,支持IPX/SPX 和TCP/IP协议来容易访问Intemet服务器以及内部网上的应用软件。它提供超高速缓存,保存网络带宽,改善客户机的响应时问,减少网络的拥挤,并且在不加重最终用户和网络管理员负担的情况下改善对网络资源的控制。管理员可以根据用户、服务、端口或IP域来允许或拒绝入站或出站的连接,可以阻止对一些指定站点的访问,但不能采用直接导入方法来设定允许访问站点地址。它与NT网络系统管理服务集成,ProxyServer生成一套Windows NT Performance Counters来监视网络上任何一台代理服务器的状态,与Windows NT ServerDirectory Services集成来用户等级的验证。井提供防火墙等Intemet安全认证特性。 2 Wingate Wingate是Qbic公司的产品,软件分为服务器和客户两部分。服务器可运行于Win 98或Win NT平台,提供用户认证,各种网络应用层协议代理,Intemet访问控制,包过滤等服务;客户部分为一个用户登录程序Gatekeeper,用户使用它在代理服务器上进行登录,代理服务器将用户的IP地址与相应用户账号绑在一起。如果这一用户是管理员,还可以使用Gatekeeper进行远程管理。Wingate支持双网络接口,一个接口通过网络适配器卡连接内部局域网络,另一个网络接口连接Intemet,两块网卡问的IP转发要禁用,使内部网络与外部网络完全隔开,形成双宿网关防火墙。Wingate也支持单网卡,在许多校园网中,只允许部分计算机具有Intemet访问权,利用这些计算机作为代理服务器,为其他的计算机提供服务,只是它不具备防火墙的功能。Wingate除了提供FTP Proxy、Telnet Proxy、POP3 Proxy、RealAudio Proxy、Socks Pmxy代理服务之外,还提供了DNS、DHCP、拨号管理等丰富功能。 3 SyGate
实验四代理服务器的搭建和Windows防火墙的使用 【实验目的】 通过本实验初步掌握利用软件HomeShare搭建代理服务器的方法、基本配置和操作技能,掌握Windows防火墙的基本配置、使用方法和操作技能,掌握代理服务器和Windows 防火墙的应用技能,包括如下几个方面: ?掌握HomeShare的基本配置方法。 ?掌握HomeShare的管理方法。 ?掌握代理服务器的基本组建方法。 ?掌握Windows防火墙的基本配置方法和使用方法。 实验前学生应具备以下知识: ?了解代理服务器的工作原理。 ?了解代理服务器的组建特点。 ?了解防火墙的工作原理和特点。 实验过程中,部分实验内容需要与相邻的同学配合完成。此外,学生需要将实验的结果记录下来,并回答相关思考题,填写到实验报告中。 【实验类型】综合型实验 【实验环境】 实验设备:交换机S3100H六台、准备好HomeShare这一款软件。 实验组成:每两位同学为一组,使用S3100H交换机的两个端口,使两台计算机在一个局域网内。 【实验内容】 以下实验内容可根据实验室的具体情况和课时安排的变化进行适当的调整,实验内容中的思考题以书面形式解答并附在实验报告的后面。 需要注意的是,学生在实验过程中要严格按实验指导书的操作步骤和要求操作,且小组成员应紧密配合,以保证实验过程能够顺利完成。 本次实验的主要项目包括以下几个方面: ?代理服务器的组建方法; ?HomeShare的基本配置方法; ?代理服务器的测试; ?Windows防火墙的基本配置方法; ?对Windows防火墙的简单测试; 具体的实验内容和步骤如下: 一、实验环境简介 1. 实验拓扑 实验组成:每排两台PC机为一组,占用一台S3100H交换机的两个端口,模拟一个局域网,如图1所示。 图1 实验拓扑
目录 一、绪论 (1) 二、需求分析 (2) 三、详细设计 (5) 四、软件测试 (9) 五、设计小结 (10) 参考文献 (11) 附录 (11)
一、绪论 本次课设主要要做的是要理解winsock技术网络编程的技术,分析http 代理应用程序设计原理,然后选择合适的开发环境用winsock技术来设计http代理的应用程序。 首先先简单的介绍几个相关名词的基本概念: 1.Winsock Windows下网络编程的规范-Windows Sockets是Windows下得到广泛应用的、开放的、支持多种协议的网络编程接口,现已成为Windows网络编程的事实上的标准。Windows Sockets规范本意在于提供给应用程序开发者一套简单的API,并让各家网络软件供应商共同遵守。此外,在一个特定版本Windows的基础上,Windows Sockets也定义了一个二进制接口(ABI),以此来保证应用Windows Sockets API的应用程序能够在任何网络软件供应商的符合Windows Sockets协议的实现上工作。因此这份规范定义了应用程序开发者能够使用,并且网络软件供应商能够实现的一套库函数调用和相关语义。 2.http代理 www对于每一个上网的人都再熟悉不过了,www连接请求就是采用的http协议,所以我们在浏览网页,下载数据(也可采用ftp协议)是就是用http代理。它通常绑定在代理服务器的80、3128、8080等端口上。 3.http协议 HTTP协议即超文本传输协议,是Internet上进行信息传输时使用最为广泛的一种非常简单的通信协议。部分局域网对协议进行了限制,只允许用户通过HTTP协议访问外部网站。 4.http代理服务器 代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息。形象的说:它是网络信息的中转站。在一般情况下,我们使用网络浏览器直接去连接其他Internet站点取得网络信息时,须送出Request信号来得到回答,然后对方再把信息以bit方式传送回来。
HTTP代理与反向代理的解析 出于安全性考虑,局域网络内的机器浏览访问墙外的网站借助代理服务器进行,假如把局域网络外Internet想象成一个巨大的资源库,局域网络内的用户要浏览这个库里的资源务必统一利用代理服务器进行。相反,假如局域网络向Internet供应资源,让Internet上的用户浏览局域网络内的资源也能设置成一个代理服务器,只不过是与我们常用的代理服务器方向恰好相反,因此叫反向代理(ReverseProxy)。 1、代理可分为三种:标准的代理缓冲服务器、透明代理缓冲服务器、反向代理缓冲服务器 (1)标准的代理缓冲服务器 这类方法需要在浏览器配置中指出代理服务器的IP地址和端口号。浏览器每一次都把请求送给代理服务器解决。代理服务器能够有缓存的功能:它依据请求明确是否连接到远程web服务器获取数据,假如在本地缓冲区有目标数据信息,则会直接将缓存数据发给用户即可,要是没有的话则先取回数据信息,先在本地保存一份缓冲,随后将数据信息发给客户端浏览器。 (2)透明代理缓冲服务器 透明代理缓冲服务器和标准代理服务器的功能基本相同,可是代理实际操作对客户端的浏览器是透明的(即不需指出代理服务器的IP和端口号)。透明代理服务器阻断网络通信,然后过滤出浏览外部的HTTP(80端口)流量。假如客户端的恳求在本地有缓冲则将缓冲的数据信息会直接发给用户,假如在本地没有缓冲则向远程web服务器发出请求,其他实际操作和标准的代理服务器基本相同。对于Linux操作系统而言,透明代理使用Iptables或者Ipchains实现。由于不
用对浏览器作任何设置,因此透明代理对于ISP(Internet服务器提供商)非常有用。 (3)反向代理缓冲服务器 反向代理是和前两种代理完全不同的一种代理服务,使用它能够降低原始web 服务器的负载。反向代理服务器承担了对原始web服务器的静态网页的恳求,防止原始服务器过载。它地处本地web服务器和Internet之间,解决全部对web服务器的恳求,组织了web服务器和Internet的会直接通信。假如互联网用户恳求的页面在代理服务器上有缓冲的话,代理服务器随时将缓冲内容发给用户;要是没有缓冲,则先向web服务器发出请求,取回数据信息并在本地缓存后再发给用户。这类方法利用降低了向web服务器的恳求数,进而降低了web 服务器的负载。 2、反向代理有两种使用方法: (1)一种是为多个网站的Web服务器供应代理,这种网站的域名都指向反向代理服务器,对这种网站的恳求全都发给了反向代理,由反向代理服务器转发HTTP恳求给相应网站的Web服务器。 (2)一种是为一个网站的Web服务器集群供应代理,反向代理身为负载均衡器决定具体哪个Web服务器接收恳求。 反向代理一直位于Web服务器的前端,Internet上的用户对Web服务器的连接要先经过反向代理,随后由反向代理决定哪个Web服务器解决用户恳求,并将恳求路由给相应的Web服务器。对静态内容能够在反向代理上缓存,这样就不用再向Web服务器路由了。 3、除了缓存和负载均衡,反向代理还能供应以下功能:
HTTP SOCK5代理服务器 5 [ 标签:http,sock5 ] 最好是免费的``便宜一点的也行全面些``偶再给你追加分谢谢了!! 分都无所谓大家交个朋友哈!! 匿名回答:3 人气:62 解决时间:2008-09-15 00:09 满意答案 好评率:0% 建议您最好用免费代理服务器,寻找免费代理服务器的方法有很多,你可以试试用ProxyHunter(代理猎手),它能自动为您搜索出多个免费代理服务器,并验证各个服务器的连接速度,从而让你选择最佳途径。更重要的是,代理服务器不仅支持浏览软件,而且支持电子邮件、FTP、下载、离线浏览等功能软件,可谓无所不在。【点击下载代理猎手 3.1】。不过这种方法比较费时、费事,建议不到万不得以时还是不用为好。最好的方法是使用现成的免费代理服务器,现在网上有不少网站定期提供最新的免费代理服务器,如这里提供的代理服务器的更新速度就非常快,而且各种类型的代理都有: https://www.doczj.com/doc/4d9336627.html,/8341/myann/index.asp 。建议大家把这个网页放入你的收藏夹,这样你就再也不用为找不到好的免费代理服务器而发愁了。 找到免费代理服务器后,就可以使用它了。以IE浏览器为例,运行IE,点击“工具”→“Interner选项”,在弹出的“Interner选项”对话框中选择“连接”标签,再点击“设置”按钮,在弹出的对话框中把“对此连接使用代理服务器”前面的框勾选上,然后在“地址”和“端口”栏中填入你找到的代理服务器IP 和所用端口即可。 同时在“高级”设置中你还可以对不同的服务器,例如HTTP、FTP设定不同的代理服务器地址和端口。这样一来,当你再访问那些网页时,页面上显示的就不再是你的真实IP了。 不过,并不是所有的代理都不将你的真正的IP向目标地址上发送,假如你使用A4proxy之类的程序检测一些代理,发现http-ip-forward是存在的话,那证明该代理会把你的真正IP向目标地址发去,如果在一些聊天室中使用,会被高级别的人看到真正的IP。 另外,在代理中有HTTP和SOCKS代理之分,在SOCKS代理中又有SOCKS4和SOCKS5代理之分,SOCKS4和SOCKS5不同之处在于 SOCKS5支持UDP这种协议,但SOCKS4是不支持的,所以在QQ上不可以使用SOCKS4代理,因为QQ使用的是UDP协议,但在ICQ上就可以使用SOCKS4或SOCKS5代理。 隐藏IP的另外一个方法是利用受控于你的电脑上的木马(也就是利用肉鸡),该电脑可以自由访问网络且不限于和你在一起(比方说单位或学校的电脑)。一
建立代理服务器 一IP地址配置方法: 1、在控制面板里打开网络和Internet连接 网络连接出现下图: 2、双击本地连接,出现下图: 3、点击属性出现下图:
4、双击Internet协议(TCP/IP) 填写ip地址:172.16.237.(保持不变) 子网掩码:255.255.248.0 默认网关:172.16.232.1 dns服务器:202.195.112.1 选中“连接后在通知区域显示图标” 以能登上校园网主页视为ip地址配置成功。 Ccproxy Ccproxy 软件介绍: 主要用于局域网内共享Modem、ADSL、宽带、专线、ISDN等代理上网。它具有两项最主要功能:代理共享上网和客户端代理权限管理。只要局域网内有一台机器能够上网,其它机器就可通过这台机器上安装的CCProxy代理共享上网。支持浏览器代理、邮件代理、游戏代理等等,可以控制客户端代理上网权限,针对不同用户合理安排上网时间,监视上网记录,限制
不同用户带宽流量,十种文字界面,设置简单,功能强大,适合中小企业共享代理上网。新版本6.2中又增加了服务器IP绑定功能、详细的日志分析功能、加强过滤功能(端口屏蔽、站点过滤)、更强大的帐号管理功能(组管理、使用时间),还有远程WEB方式帐号管理。 功能和特点 共享上网无论是宽带、ADSL还是ISDN,都可以通过CCProxy共享上网。 安全管理 CCProxy提供了帐号管理方式,可以有效的管理上网用户。 高稳定性经过多年发展和完善,CCProxy可以说是众多代理软件中最稳定的。 易操作 CCProxy是按照中国用户的操作习惯设计的,全中文操作界面。 功能强大经过多年积累,CCProxy已经具备了非常丰富的功能,而且还在进一步完善。 1.服务器端设置: 从ftp://172.16.237.80中下载遥志代理服务器(CCProxy) V6.50 破解版,解压到桌面,双击打开CCProxy.exe。 点击设置窗口进行设置端口号,可以把端口设置成特殊端口,当然也可以采用默认的808端口等。设置好之后关闭设置窗口
使用HTTP代理方法 1.IE5.0以上版本中设置代理:菜单栏“工具”->下拉菜单“Internet选项”->选项卡“连接”->在“局域网设置”->在中间的“代理服务器”栏选中“使用代理服务器”->在“地址” 和“端口”栏输入本站提供的HTTP代理服务器->确定。 查看图示 2.Maxthon(遨游)中设置代理服务器:菜单栏“选项”——》“代理服务器”——》“管理代理服务器列表”——》”添加”——》在输入框中输入标准格式的代理服务器,如XXX.XXX.XXX.XXX:端口,然后“确定”并退出,继续,菜单栏“选项”——》“代理服务器”——》然后选择刚才输入的代理服务器 查看图示 3.腾讯浏览器(TT浏览器)中设置代理服务器:菜单栏“工具”——》“代理服务器”——》“设置代理”——》在代理设置对话框中,点击“添加”——》在代理设置区中,输入代理,然后“确定”并退出,继续,菜单栏“工具”——》“代理服务器”——》然后选择刚才输入的代理服务器 查看图示 4.Google Chrome(谷歌浏览器)中设置代理服务器:菜单栏“选项”——》“选项”——》“更改代理设置”——》“局域网设置”——》在中间的“代理服务器”栏选中“使用代理服务器”在“地址” 和“端口”栏输入本站提供的HTTP代理服务器->确定 查看图示 FTP软件中Socks代理使用方法 在FTP和P2P软件中我们可以使用SOCKS4/SOCKS5代理服务器,常见的软件的代理设置方法如下: 1.迅雷/BT/Emule电驴/PPlive/PPS等软件中设置代理:菜单栏“选项”——》参数设置——》代理,然后在“代理服务器”项中选择代理类型,填写代理 2.FlashFXP 3.0以后版本中设置代理:菜单栏“选项”——》参数设置——》连接,然后在“代理服务器”项中选择代理类型,填写代理 3.CuteFTP XP 5.0.2 中文版中设置代理:菜单栏“编辑”——》设置——》连接——》SOCKS--》选择代理类型,如SOCKS4或者SOCKS5,并填写代理
http代理和socks代理的区别: SOCKS其实是一种网络代理协议。该协议所描述的是一种内部主机(使用私有ip地址) 通过SOCKS服务器获得完全的Internet访问的方法。具体说来是这样一个环境:用一台运行S OCKS的服务器(双宿主主机)连接内部网和Internet,内部网主机使用的都是私有的ip 地址 ,内部网主机请求访问Internet时,首先和SOCKS服务器建立一个SOCKS通道,然后再将请求 通过这个通道发送给SOCKS服务器,SOCKS服务器在收到客户请求后,向客户请求的Internet 主机发出请求,得到相应后,SOCKS服务器再通过原先建立的SOCKS通道将数据返回给客户。当然在建立SOCKS通道的过程中可能有一个用户认证的过程。 SOCKS和一般的应用层代理服务器完全不同。一般的应用层代理服务器工作在应 用层,并且针对不用的网络应用提供不同的处理方法,比如HTTP、FTP、SMTP等,这样,一旦 有新的网络应用出现时,应用层代理服务器就不能提供对该应用的代理,因此应用层代理服务器的可扩展性并不好;与应用层代理服务器不同的是,SOCKS代理服务器旨在提供一种广义 S代理工作再线路层(即应用层和传输层之间),这和单纯工作在网络层或传输层的ip欺骗( 或者叫做网络地址转换NAT)又有所不同,因为SOCKS不能提供网络层网关服务,比如ICMP 包 socks4和socks5都属于socks协议,只是由于所支持的具体应用不同而存在差异。socks4代理只支持TCP应用,而socks5代理则可以支持TCP和UDP两种应用。不过由于socks5代理还支持各种身份验证机制,服务器端域名解析等,而socks4代理没有,所以通常对外开放的socks代理都是socks4代理,因此,UDP应用通常都不能被支持。也就是说,socks4能干的socks5都可以干,反过来就不行了。
1. 编写了一个HTTP高匿代理 本以为编写http代理和上一篇的端口转发差不多的,结果实际一编写起来发现要复杂的多。怎么回事呢,就在于要手动解析http协议。 说简单点吧,如果直接用ie上一个网站,用sniffe一看http请求头是这样的。 GET / HTTP/1.1 Accept: application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, application/x-shockwave-flash, application/QVOD, application/QVOD, */* Accept-Language: zh-CN User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E) Accept-Encoding: gzip, deflate Host: https://www.doczj.com/doc/4d9336627.html, Connection: Keep-Alive Cookie: xxxxxxxxx 但是如果用代理就变成了这样 GET https://www.doczj.com/doc/4d9336627.html,/ HTTP/1.1 Accept: application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, application/x-shockwave-flash, application/QVOD, application/QVOD, */* Accept-Language: zh-CN User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E) Accept-Encoding: gzip, deflate Host: https://www.doczj.com/doc/4d9336627.html, Proxy-Connection: Keep-Alive Cookie: xxxxxxxxx
代理服务器环境下Proxifier怎么设置 1. Proxifier简介 Proxifier是一款SOCKS5客户端通用代理软件,支持网络应用程序通过HTTPS或SOCKS代理上网。Proxifier支持XP,Vista,Win7和MAC OS等操作系统,支持SOCKS4,SOCKS5,HTTP,TCP和UDP 等协议; Proxifier还支持玩各种网页游戏,与CCProxy相接合后,游戏速度非常流畅。 2. Proxifier功能 1) 如果网络应用程序不能设置代理,或者没有设置代理的功能,可以使用Proxifier代理上网。 2) 客户端设置Proxifier后,所有网络应用程序都可以实现代理上网,不需要逐一设置代理。 3. 安装CCPrxoxy 在服务器上安装代理服务器CCProxy(假设代理服务器IP地址是:192.168.1.123,SOCKS端口是1080)。CCProxy的安装方法,详细请参考:“如何简单快捷的安装代理服务器CCProxy?” 4. Proxifier设置 很多用户希望代理客户端可以全局代理,但是不是知道proxifier怎么用,也不清楚proxifier怎么设置, 请参考: 4.1 设置代理 1) 在客户端上安装Proxifier。 2) 在Proxifier的“配置文件”菜单上,单击“代理服务器”选项。
图1-1 3) 在弹出的“代理服务器”对话框中,单击“添加”按钮。 图1-2 4) 在弹出的“代理服务器”对话框中,输入代理服务器的IP地址和SOCKS端口,选中“SOCKS版本5”单选按钮,再单击“确定”按钮。
图1-3 5) 在“代理服务器”对话框中,单击“检查”按钮。 图1-4 6) 在弹出“代理检查器”对话框中,将显示测试信息。
用Windows Server 2003配置VPN 一需求描述 单位项目组在局域网中使用VSS(visual source safe 6.0C and visual source safe 2005,分别对应visual studio 2003 和 visual studio2005)进行源代码管理协同开发。一般VSS在局域网内工作(VSS 2005 可以通过http在整个英特网使用,不过没有使用过,不知道好不好用,还是习惯于局域网的使用方式)。 近阶段在学习biztalk,在单位完成正常工作之余,会拿出一些时间做biztalk文档所带的tutorial的示例项目,还会做些测试项目,回家之后也会继续白天正在做的项目,所以有必要把家里的机器跟单位自己的机器连起来用VSS管理所做的项目,这样单位所做的工作和家里所做的工作可以相互衔接。 单位的机器是局域网之后通过路由接入公网,本身也不具有公网IP,家中的机器是通过adsl上网路由上网,也不具公网IP。正好单位有一台在公网的服务器我可以控制,通过这个服务器可以搭建一个VPN虚拟局域网,把单位我用的机器和家里的机器都拨入这个VPN 服务器,两台机器就处于一个虚拟局域网中了,在单位的机器上设置VSS数据库,然后共享,家里的机器通过虚拟局域网访问共享VSS数据库。 二配置windows 2003 VPN服务器 服务器是Windows 2003系统,2003中VPN服务叫做“路由和远程访问”,系统默认就安装了这个服务,但是没有启用。 在管理工具中打开“路由和远程访问” 在列出的本地服务器上点击右键,选择“配置并启用路由和远程访问”。下一步
3Proxy代理服务器搭建 目录 一、3Proxy简介 (2) 二、下载安装程序 (2) 三、配置常用参数 (2) 1、配置DNS相关 (3) 2、配置日志记录 (3) 4、ACL的定义 (5) 5、创建用户及密码 (6) 6、配置认证方法 (6) 7、开启代理服务 (7) 8、配置代理链重定向 (7) 9、配置限速 (8) 10、注册为windows服务运行 (8) 11、命令行执行验证 (9) 四、一个生产的配置样例 (9)
一、3Proxy简介 3Proxy tiny free proxy server is really tiny cross-platform (Win32/Win64&Unix) freeware proxy servers set. It includes HTTP proxy with HTTPS and FTP support, SOCKSv4/SOCKSv4.5/SOCKSv5 proxy (socks/socks.exe), POP3 proxy, SMTP proxy, AIM/ICQ proxy (icqpr/icqpr.exe), MSN messenger / Live messenger proxy (msnpr/msnpr.exe), FTP proxy, caching DNS proxy, TCP and UDP portmappers. You can use every proxy as a standalone program (socks, proxy, tcppm, udppm, pop3p) or use combined program (3proxy). Combined proxy additionally supports features like access control, bandwidth limiting, limiting daily/weekly/monthly traffic amount, proxy chaining, log rotation, syslog and ODBC logging, etc. It's created to be small, simple and yet very functional. It may be compiled with Visual C or gcc. Native Win32 version included in archive and supports installation as a service. Currently 3proxy is tested to work under Windows 98/NT/2000/2003/2008/XP/Vista/Windows 7 both i386 and x64, FreeBSD/i386, NetBSD/i386, OpenBSD/i386, Linux/i386, Linux/PPC, Linux/Alpha, Mac OS X/PPC, Solaris 10/i386. 官方网站:http://www.3proxy.ru/ 二、下载安装程序 1、下载地址http://www.3proxy.ru/download/: http://www.3proxy.ru/0.7.1.2/3proxy-0.7.1.2-x64.zip 2、将程序解压之后放到c:\3proxy目录下 Bin64目录是执行程序目录 Cfg是存放配置的目录 Doc存放帮助文档的目录 Logs存放日志的目录 三、配置常用参数 配置文件C:\3proxy\cfg\ 3proxy.cfg
通过验证的各种代理服务器地址列表 ★教育网访问国际网之HTTP代理★210.12.154.245:8080@HTTP 211.92.194.35:3128@HTTP 210.83.156.99:80@HTTP 211.91.23.162:8888@HTTP 211.92.8.58:80@HTTP 211.96.233.128:80@HTTP 210.14.216.14:3128@HTTP 210.83.158.6:8080@HTTP 211.91.239.253:80@HTTP 211.96.233.129:80@HTTP 211.163.113.98:8080@HTTP 211.163.117.37:3128@HTTP 211.163.117.61:3128@HTTP 210.15.46.45:80@HTTP 210.15.70.50:80@HTTP 210.77.126.69:81@HTTP 211.162.251.245:8080@HTTP 210.82.164.80:80@HTTP 211.162.108.49:80@HTTP ★教育网访问国际网之SOCKS5代理★210.28.150.50:1080@SOCKS5 210.83.17.242:1080@SOCKS5 202.109.73.166:1080@SOCKS5 210.83.126.113:1080@SOCKS5 211.91.108.131:1080@SOCKS5 211.92.203.150:1080@SOCKS5 ★教育网访问国际网之SOCKS4代理★61.155.92.2:1080@SOCKS4 210.28.150.50:1080@SOCKS4 210.82.164.80:1080@SOCKS4 210.83.17.242:1080@SOCKS4 210.83.126.113:1080@SOCKS4 211.162.251.245:1080@SOCKS4 211.91.108.131:1080@SOCKS4 61.156.19.49:1080@SOCKS4 上海8888vip、81000代理服务器更新:◆HTTP: 202.96.80.59:80 202.96.80.59:8080 202.96.174.106:3128 202.109.207.128:80 202.120.19.102:3128
一个实用的HTTP代理程序设计与实现 摘要:本文介绍了HTTP代理服务器基本工作原理、代理服务器的总体设计框架和其中采用的用以提高性能的关健技术、进程池技术和缓存机制以及核心模块的具体实现流程,最后提出了一种实用的HTTP代理服务器的设计方案。 关键词:代理服务器; 进程池; 缓存机制 Abstract:The design and implementation of HTTP proxy server with high performance are described. First, the basic mechanism of HTTP proxy server is introduced and then, the whole framework of proxy server and the key techniques process pool and cache technique are presented which are adopted to improve performance. Finally, the implementations of core modules are given. Key words: proxy server; process pool; cache mechanism 目录 第一章前言 (2) 第二章HTTP原理与代理模型的设计 (3) 2.1 HTTP协议 (3) 2.2 HTTP代理模型 (3) 2.3 模型的实现 (4) 2.4 优化的代理技术 (7) 2.4.1 身份认证 (7) 2.4.2 Cache技术 (8) 第三章总体设计 (10) 3.1框架结构 (10) 3.2关键技术 (10) 3.2.1进程池管理 (10) 3.2.2缓存管理 (12) 第四章核心模块的实现 (14) 4.1主守护进程的实现 (14) 4.2代理服务模块的实现 (14) 4.3缓存管理进程的实现 (16) 结语 (17) 参考文献: (17)
代理服务器 引例 顾名思义代理就是帮助你上网的某种服务,作为网络管理员来说代理有什么用呢?假设某公司有好几个机房,原来使用操作系统的共享连接来接入网络,实际中发现很多上网的用户经常运行非法程序,病毒和黑客工具无孔不入,更有甚者在上班时间玩网络游戏。 如何禁止这些行为呢?最有效的还是建立一个代理服务器来过滤非法信息,代理服务器可以提供帮助,在公司网络出口那台服务器安装了ISA2000后启用了他的代理功能,这样机房中的计算机就只能通过IE浏览器访问网页信息了,游戏和聊天工具都无法正常使用了。因此代理服务器在实际工作中应用还是非常广泛的,他可以帮助我们这些管理员有效的管理网络资源 代理服务器的工作机制 代理服务器的工作机制很象我们生活中常常提及的代理商,假设你自己的机器为A机,你想获得的数据由服务器B提供,代理服务器为C。那实际工作中A机需要B机的数据,A直接与C机建立连接,C机接收到A机的数据请求后,与B机建立连接,下载A机所请求的B机上的数据到本地,再将此数据发送至A机,从而完成代理任务。 什么是代理服务器(Proxy)? Proxy是什么呢,是代理。普通的因特网访问是一个典型的客户机与服务器结构:用户利用计算机上的客户端程序,如浏览器发出请求,远端WWW服务器程序响
应请求并提供相应的数据。而Proxy处于客户机与服务器之间,对于服务器来说,Proxy是客户机,Proxy提出请求,服务器响应;对于客户机来说,Proxy 是服务器,它接受客户机的请求,并将服务器上传来的数据转给客户机。它的作用很象现实生活中的代理服务商。因此Proxy Server的中文名称就是代理服务器。 代理服务器(Proxy Server)是网上提供转接功能的服务器,在一般情况下,我们使用网络浏览器直接去连接其他Internet站点取得网络信息时,是直接联系到目的站点服务器,然后由目的站点服务器把信息传送回来。代理服务器是介于客户端和Web服务器之间的另一台服务器,有了它之后,浏览器不是直接到Web服务器去取回网页而是向代理服务器发出请求,信号会先送到代理服务器,由代理服务器来取回浏览器所需要的信息并传送给你的浏览器。 比如你想访问的目的网站是A,由于某种原因你不能访问到网站A或者你不想直接访问网站A(这样通过代理服务器网站A,对网站A而已可以隐藏你自己的身份,也就是不知道是谁访问的网站,而认为是代理服务器访问的),此时你就可以使用代理服务器,在实际访问网站的时候,你在浏览器的地址栏内和你以前一样输入你要访问的网站,浏览器会自动先访问代理服务器,然后代理服务器会自动给你转接到你的目标网站。 代理服务器的主要功能 (1)设置用户验证和记账功能,可按用户进行记账,没有登记的用户无权通过代理服务器访问Internet网。并对用户的访问时间、访问地点、信息流量进行统计。
建立代理服务器竟然如此简单(图) 【IT168 专稿】作为网络管理员的我们经常被计算机病毒和黑客入侵而烦恼,特别是对于那些有自己培训机房的企业来说,隔三差五的要对不同人员进行培训,在培训过程中难免需要受训人员用自己的U盘或移动硬盘复制必备资料,这样才培训过程中难免会感染病毒。一般来说病毒都是通过网络传播的,随着培训机房的计算机感染病毒,病毒会快速蔓延到和培训机房在同一个网段的其他计算机,如果规划不好的话,办公室计算机也将成为入侵对象。 在实际中网络管理员都是使用具备VLAN虚拟局域网划分功能的交换机来完成对网络分割的功能,不过如果你的公司由于经费或其他种种原因无法通过划分VLAN完成分割网络的工作时就可以通过本文介绍的架设代理服务器来将不同部门的计算机进行划分。 我们通过在培训机房和办公室计算机之间架设一个中转代理服务器,从而完成了逻辑上将两部分网络中的计算机进行分割的目的。虽然多使用一台服务器(实际上用配置高点的普通PC机即可)但是却可以最大限度的将病毒传播限制在最小范围内。 一、代理服务器软件的选择: 一般来说供我们使用的代理服务器软件有很多种,最常见的是SYGATE和WINGATE,不过这些代理服务器仅仅是帮助宽带用户多人共享上网的,而且网上的都是试用版,用一段时间后就会失效而无法使用;如果采用专门的代理服务器软件,像ISA这样的又有点大材小用,而且版权问题也需要额外注意。 笔者经过对多款工具的比较并深入分析,发现当我们实际使用时仅仅用做分割网络的代理服务,通过一个小工具就可以完成,该工具还是绿色的,不需要安装就可以运行,占用系统资源也很小,适合于小型网络,他就是flosproxy。 flosproxy小档案: 软件版本:1.0 软件类型:免费软件 软件大小:16.5KB 软件语言:中文版 适用平台:windows 2000/xp/2003 下载地址:点击下载 二、架设代理服务器: 由于flosproxy是绿色软件,只有一个主程序,所以我们直接运行他即可,架设代理服务器非常简单。 第一步:下载flosproxy.rar并解压缩。你会发现该工具只有一个名为flosproxy.exe的程序。(如图1)
网络组建代理服务器类型 按照代理服务器的用途,代理服务器可以进行如下分类: ●HTTP代理 HTTP协议(Hypertext Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。而HTTP代理则可以代理客户机的http访问,主要代理浏览器访问网页,它的端口一般为80、8080、3128等。 ●FTP代理 FTP是File Transfer Protocol的简称,该协议是Internet文件传送的基础。而FTP代理则可以代理客户机上的FTP软件访问ftp服务器,其端口一般为21、2121。 ●Socks代理 Socks代理是全能代理,就像有很多跳线的转接板,它只是简单地将一端的系统连接到另外一端。支持多种协议,包括http、ftp请求及其它类型的请求。它分socks 4和socks 5两种类型,Socks 4只支持TCP协议而Socks 5支持TCP/UDP协议,还支持各种身份验证机制等协议。其标准端口为1080。 ●SSL代理 它支持最高128位加密强度的http代理,可以作为访问加密网站的代理。加密网站是指以https://开始的网站。SSL的标准端口为443。 ●HTTP CONNECT代理 允许用户建立TCP连接到任何端口的代理服务器,这种代理不仅可用于HTTP,还包括FTP、IRC、RM流服务等。 ●POP3代理 代理客户机上的邮件软件用pop3方式收邮件,其端口一般为110。 ●文献代理 可以用来查询数据库的代理,通过这些代理,可以获得互联网的相关科研学术的数据库资源,例如查询Sciencedirect网站(简称SD)、Academic Press、IEEE,SPRINGER等数据库。 ●教育网代理 教育网代理指学术教育机构局域网通过特定的代理服务器可使无出国权限或无访问某IP段权限的计算机访问相关资源。 另外,按照代理服务器的安全性,它可以进行如下分类: ●elite代理 其匿名隐藏性更高,可隐藏系统及浏览器资料信息等。此种代理安全性特强。 ●全匿名代理 全匿名代理不改变客户机的请求,这样在服务器看来就像有个真正的客户浏览器在访问它,这时客户的真实IP是隐藏的,服务器端不会认为我们使用了代理。 ●普通匿名代理 普通匿名代理能隐藏客户机的真实IP,但会改编我们的请求信息,服务器端有可能会认为我们使用了代理(仅仅是可能而已,一般说来是没问题的),但其实这种代理的安全性可能比全匿名代理更高,有的代理甚至会剥离客户机发送信息中的一部分,这样服务器端就根本探测不到我们所用的操作系统版本和浏览器版本。 ●透明代理 透明代理,也叫简单代理,它不但改编我们的请求信息,还会传送真实的IP地址。