小菜谈谈之代理服务器
来源:互联网 发布:阿里云飞天六部 编辑:程序博客网 时间:2024/04/29 01:04
代理服务器(Proxy Server),顾名思义,为别人做代理的服务器,提供网络转接功能,是一种特殊的网络代理服务,它的工作主要在开放系统互联(OSI)模型的会话层。代理服务器允许一个网络终端(一般为客户端)与另一个网络终端(一般为目的服务器)进行非直接的连接,客户端不是直接访问目的服务器,而是通过代理服务器,由代理服务器去连接和请求目的服务器,目的服务器返回的数据也是通过代理服务器,由代理服务器传递给客户端。代理服务器可应用于代理浏览器访问、文件传输、邮件收发、聊天通讯等。
为什么要使用代理服务器?它主要提供以下功能:
1.突破自身IP访问限制:访问国外站点。中国教育网和169网等大型国家级局域网(与国际互联网是隔绝的),出于各种需要,某些集团或个人在两网之间开设了代理服务器,如果我们知道这些代理服务器的地址就可以通过代理访问国外网站。
2.突破内容过滤机制限制:也可以称作翻墙,由于在GFW防护下很多国外网站都访问不了,通过代理服务器(一般为国外代理)可以帮助我们突破围墙。
3.提高访问速度:代理服务器通常都有一个具有很大存储空间的Cache缓存器,当有外界信息通过时就将其最新内容保存至Cache中,当其他用户再次访问相同信息时,检查Cache中是否有该消息内容并取出直接返回给用户, 这样提高了访问速度。
4.控制对内部资源的访问:如某大学FTP(前提是该代理地址在该资源的允许访问范围之内),使用教育网内地址段免费代理服务器,就可以用于对教育网开放的各类FTP下载上传,以及各类资料查询共享等服务。
5.突破中国电信的IP封锁:中国电信用户有很多网站是被限制访问的,这种限制是人为的,不同Serve对地址的封锁是不同的。所以不能访问时可以换一个国外的代理服务器试试。
6.隐私真实身份:通过代理服务器访问目标服务器,目标服务器看到的访问源是代理服务器地址,而不是客户端地址,这样就可以隐私自己的IP地址,防止黑客追踪和攻击。当然代理也可以修改 HTTP 请求头部,通过“X-Forwarded-IP”这样的自定义头部告诉服务端真正的客户端 IP。但服务器无法验证这个自定义头部真的是由代理添加,还是客户端修改了请求头,但是只一个代理很难保证安全,更安全的方法是利用特定的工具创建代理链(如:Tor)。
根据协议类型有以下几种代理服务器:
1.HTTP代理服务器
主要用于访问网页(HTTP协议),一般有内容过滤和缓存功能。端口一般为80、8080、3128、8081等。HTTP 客户端(浏览器)向代理发送请求报文,代理服务器需要正确地处理请求和连接,同时向服务器发送请求,并将收到的响应转发给客户端。HTTP代理可以中断连接(即在中间截断数据流),HTTP代理是基础HTTP请求的,大多以明文形式存在,所以HTTP代理可以在Client和下游服务器中间窃听,修改数据;也由于 HTTP代理可以获取你的HTTP请求,所以HTTP代理服务器那边就可以根据你提交的数据来把那些资源缓存下来,提升访问的速度。HTTP代理在使用前要对浏览器进行设定才可以使用,并且需要一些免费的代理服务器IP地址。通过浏览器配置如下:
图1 HTTP代理服务器设置
2.SOCKS代理服务器
采用SOCKS协议的代理服务器就是SOCKS服务器,是一种通用的代理服务器。其标准端口一般为1080。SOCKS不要求应用程序遵循特定的操作系统平台,SOCKS代理与应用层代理、 HTTP 层代理不同,SOCKS代理服务器只是单纯传递数据包,不关心是何种应用协议(比如FTP、HTTP和NNTP请求),所以速度快很多,一般有缓存功能。SOCKS代理协议又分为SOCKS4和SOCKS5,SOCKS4协议只支持TCP协议,而SOCKS5协议支持TCP/UDP协议,还支持各种身份验证机制、服务器端域名解析等,通常对外开放的SOCKS代理都是SOCKS4代理。
常用的防火墙,或代理软件都支持SOCKS,但需要其管理员打开这一功能。SOCKS代理服务器主要应用于电子邮件、新闻组软件、网络传呼ICQ、网络聊天MIRC和使用代理服务器上联众打游戏等各种游戏应用软件当中。使用SOCKS代理服务器需要知道SOCKS服务器IP地址、端口号,如果需要用户认证还需要向管理员申请一个用户和口令。如下为shadowsocks服务器代理配置:
图2 需要用户认证的代理服务器
3.SSL/TLS代理
主要用于访问加密网站(以https://开始),支持最高128位加密强度的HTTP代理。端口一般为443。SSL协议使用通讯双方的客户证书以及CA根证书,允许客户/服务器应用以一种不能被偷听的方式通讯,在通讯双方间建立起了一条安全的、可信任的通讯通道。TLS是SSL的进一步安全性改进。4.FTP代理服务器
主要用于访问FTP服务器,代理客户机上的ftp软件访问ftp服务器。一般有上传、下载以及缓存功能。端口一般为21、2121等。
5.POP3/SMTP代理
主要用于访问FTP服务器,代理客户机上的邮件软件用POP3/SMTP方式收发邮件,一般有缓存功能。端口一般为110/25。
6.Telnet代理
主要用于telnet远程控制(黑客入侵计算机时常用于隐藏身份)。端口一般为23。
主要用于Realplayer访问Real流媒体服务器,一般有缓存功能。端口一般为554。
小编推荐(常用代理服务器软件):Goagent(HTTP代理),lantern(蓝灯),代理猎手(免费代理服务器搜索软件)等。
- 小菜谈谈之代理服务器
- 小菜谈谈之缓冲区溢出
- 小菜虫之照猫画虎
- 小菜的GIS之路
- 小菜学C之递归
- 小菜学C之return
- 小菜学编程之感悟
- JS小菜之作用域
- 【代理服务器】代理服务器之趣谈工作原理
- VC小菜之给软件添加背景音乐
- 小菜学C之const理解
- acm小菜的成长之路
- 小菜的c++学习之路~~
- linux 小菜之 查找文件命令
- 小菜一步一步学数据结构之(四)单链表
- 小菜一步一步学数据结构之(六)队列
- 小菜openstack nova 源码学习之 evacuate
- 小菜openstack nova 源码学习之 force_down
- node.js 融云sdk 获取token
- ndis中间层 发包
- OC中的除法
- MySql互为主从配置文件及配置方法
- 英语与汉语的区别
- 小菜谈谈之代理服务器
- Qt编译遇到/usr/bin/ld: cannot find -lGL问题的解决方案
- 多视角立体影像匹配三维重建---- visualSFM的使用方法
- Java线程(六):线程的交互
- Git图形界面的使用
- UVa1589(未ac)
- 《您的设计模式》(CBF4LIFE)之“责任链模式”【整理】
- 传感器的原理
- 基于Buildroot的linux下交叉编译器的安装