代理服务器
代理(英语:Proxy)也称网络代理,是一种特殊的网络服务,允许一个网络终端(一般为客户端)通过这个服务与另一个网络终端(一般为服务器)进行非直接的连接。一些网关、路由器等网络设备具备网络代理功能。一般認為代理服务有利于保障网络終端的私隱或安全,防止攻击。
提供代理服务的電腦系统或其它类型的网络终端称为代理服务器(英文:Proxy Server)。一个完整的代理请求过程为:客户端首先与代理服务器建立连接,接着根据代理服务器所使用的代理协议,请求对目标服务器建立连接、或者获得目标服务器的指定资源(如:文件)。在后一种情况中,代理服务器可能对目标服务器的资源下載至本地缓存,如果客户端所要获取的资源在代理服务器的缓存之中,则代理服务器并不会向目标服务器发送请求,而是直接傳回已缓存的资源。一些代理协议允许代理服务器改变客户端的原始请求、目标服务器的原始响应,以满足代理协议的需要。代理服务器的选项和设置在计算机程序中,通常包括一个“防火墙”,允许用户输入代理地址,它会遮盖他们的网络活动,可以允许绕过互联网过滤实现网络访问。
代理服务器的基本行为就是接收客户端发送的请求后转发给其他服务器。代理不改变请求URI,会直接发送给前方持有资源的目标服务器。
持有资源实体的服务器被称为源服务器。从源服务器返回的响应经过代理服务器后再传给客户端。
目录
1 代理协议
1.1 Socks
1.2 HTTP
2 功能
3 种类
3.1 根据协议区分
3.2 根据匿名程度区分
4 代理服务器与网络安全
4.1 对网络安全的贡献
4.2 对网络安全的破坏
5 反向代理服务器
6 分布式代理服务器
7 参见
8 注释
9 外部連結
代理协议
Socks
- SOCKS 4/5
HTTP
- HTTP 协议
功能
- 提高访问速度:通常代理服务器都设置一个较大的缓冲区,当有外界的信息通过时,同时也将其保存到缓冲区中,当其他用户再访问相同的信息时, 则直接由缓冲区中取出信息,传给用户,以提高访问速度。
- 控制对内部资源的访问:如某大学FTP(前提是该代理地址在该资源的允许访问范围之内),使用教育网内地址段免费代理服务器,就可以用于对教育网开放的各类FTP下载上传,以及各类资料查询共享等服务。
- 过滤内容:例如限制对特定计算机的访问,将一种语言的数据翻译成另一种语言,或是防御代理服务器两边的攻击性访问。
- 隐藏真实IP:上网者也可以通过代理服务器隐藏自己的IP,免受攻击。但是只一个代理很难保证安全,更安全的方法是利用特定的工具建立代理链(如:Tor)。
- 突破自身IP访问限制:访问国外站点。中国教育网和169网等网络用户可以通过代理访问国外网站。
- 突破内容过滤机制限制,访问被过滤网站。如防火長城對中國境內互聯網存取的限制可透過使用代理服务器瀏覽而突破。但是每到国庆、两会等敏感时期,防火长城的封锁力度会大大加强,大多数代理服务器和代理软件都会无法连接。(如:Tor、自由门、无界浏览等)
种类
根据协议区分
- FTP代理服务器
- 主要用于访问FTP服务器,一般有上传、下载以及缓存功能。端口一般为21、2121等。
- HTTP代理服务器
- 主要用于访问网页,一般有内容过滤和缓存功能。端口一般为80、8080、3128等。
- SSL/TLS代理
- 主要用于访问加密网站,一般有SSL或TLS加密功能(最高支持128位加密强度)。端口一般为443。
- RTSP代理
- 主要用于Realplayer访问Real流媒体服务器,一般有缓存功能。端口一般为554。
- Telnet代理
- 主要用于telnet远程控制(黑客入侵计算机时常用于隐藏身份)。端口一般为23。
- POP3/SMTP代理
- 主要用于POP3/SMTP方式收发邮件,一般有缓存功能。端口一般为110/25。
- SOCKS代理
- 只是单纯传递数据包,不关心具体协议和用法,所以速度快很多。一般有缓存功能。端口一般为1080。(SOCKS代理协议又分为SOCKS4和SOCKS5,SOCKS4协议只支持TCP,而SOCKS5协议支持TCP和UDP,还支持各种身份验证机制、服务器端域名解析等。简单来说:SOCKS4能做到的SOCKS5都可以做到,但SOCKS5能做到的SOCKS4不一定能做到)
根据匿名程度区分
- 高度匿名代理
- 高度匿名代理会将数据包原封不动的转发,在服务端看来就好像真的是一个普通客户端在访问,而记录的IP是代理服务器的IP。
- 普通匿名代理
- 普通匿名代理会在数据包上做一些改动,服务端上有可能发现这是个代理服务器,也有一定几率追查到客户端的真实IP。代理服务器通常会加入的HTTP头有HTTP_VIA和HTTP_X_FORWARDED_FOR 。
- 透明代理
- 透明代理不但改动了数据包,还会告诉服务器客户端的真实IP。这种代理除了能用缓存技术提高浏览速度,能用内容过滤提高安全性之外,并無其他顯著作用。(最常见的例子是:内网中的硬件防火墙)
- 间谍代理
- 间谍代理指组织或个人建立的,用于记录使用者传输的数据,然后进行研究、监控等目的代理服务器。
代理服务器与网络安全
对网络安全的贡献
它的内容过滤功能有利于防止骇客破坏电脑,保护电脑安全。
它的匿名功能可以帮助你隐藏真实IP,以免被骇客盯上。
对网络安全的破坏
它的匿名功能可以帮助骇客隐藏自己的真实IP,进行破坏,这样就加大了警方的取证难度。(较常见的做法是只挂一个代理,但是安全性更高的做法是用好几台代理服务器串成“代理链”,或者入侵完成后将代理服务器的日志、缓存擦除掉。)还有一些恶意用户常常挂了代理之后随意留言,所以一些网站在用户使用代理的时候可能会直接给你“禁言”。
它的中转功能在使用时,所有发往服务器的数据都基本全部明文,一个前文提到过的“间谍代理”就有可能记录下所有经过的数据(包括用户名密码),所以如果可能的话,需要通过代理传输用户名密码时尽量使用SSL、TLS等协议先行加密,這樣不安全的伺服器也無法讀取了。
反向代理服务器
反向代理服务器架设在服务器端,通过缓冲经常被请求的页面来缓解服务器(如Web服务器)的工作量。安装反向代理服务器有几个原因:
- 加密和SSL加速
- 负载平衡
- 缓存静态内容
- 压缩
- 减速上传
- 安全
- 外网发布
维基百科使用开放源代码的Varnish代理服务器。
分布式代理服务器
利用私立的域名解释系统,让相应的代理服务器客户端自动以安全链接连接上相应的多台代理服务器服务端,从而实现相应的代理功能。
此类软件较为著名的有Tor,自由门,无界浏览等。
参见
虛擬私人網路(VPN)- SSH
注释
^ 此处参见防火长城和破网软件
周正. 一种追查加密代理数据包的有效方法. 计算机工程. 2007年12月, 33 (21): 142–143, 146 [2009-03-18]. [永久失效連結]
外部連結
- Overview of how proxies and NTLM works, and a guide to configure NTLM-ASP for proxy bypassing
开放式目录计划中和Proxy software and scripts相关的内容
开放式目录计划中和Free web-based proxy services相关的内容
开放式目录计划中和Free http proxy servers相关的内容- 免費線上代理伺服器
〈Proxy伺服器〉–第17章 鳥哥的Linux私房菜- Proxy test online
- Free VPN Proxy