有时候你的账号或者被限制某一地区的ip登录或访问时,如何能恢复正常访问?这个时候你就需要用到代理服务器了。
什么是代理服务器?
代理服务器充当客户请求端(客户端)和目的服务端(服务端)之间的中间者。
代理过程:若指定了某一个代理服务器后,当我们在上网时,计算机会直接向代理服务器发送请求数据,然后代理服务器替代计算机把请求数据发送给目的地,当目的地接收到请求数据后,就原路返回数据结果给代理服务器,服务器在把结果发回到你的计算机。这就是代理服务器的基本工作过程。
代理也有“语言”(即协议)上的区分。
常见的代理协议分为以下几种:
1.FTP代理
2.HTTP代理
3.SSL/TLS代理
4.SOCKS代理
今天我们主要讲讲http代理和socks代理。
http代理:
我们平时用浏览器上网基本都是基于http/https协议通讯的。当用浏览器浏览网页时会发送GET请求以及表单等,但如果我们访问的网站是http的网页,并没有加密的ssl证书验证内容。
所以作为中间者的代理服务器可以通过抓包分析此计算机客户端访问了什么网站以及访问网站时浏览了什么内容,还能获取到登录网站所使用的账号等等。在我们使用代理服务器的时候,需要注意网址开头是否含有“https://”。
如果没什么特别的需求,为了安全,还是尽量少用免费的代理服务器或者用付费的代理服务器,有能力的可以自行搭建代理服务器。
Socks代理:
Socks代理分为socks4和socks5(socks4只支持tcp,而socks5支持tcp、udp,同时也支持各种身份验证机制等。)
Socks代理只是单单地传递数据包,不作解析流量,就这样由于socks的特点可以应用于多种使用环境。可以用于FTP、SMTP、HTTP、QQ、BT下载等等,甚至还能套上加密机制,使得计算机客户端和服务器端之间的连接更安全。加密代理和真正的“微PN”严格来说还是有点区别的。
代理服务器最大的特点就是匿名,根据匿名程度主要分为:透明代理、匿名代理、混淆代理、高匿代理。
代理服务器的配置信息不同,则向其目标地址发送的请求时,三个变量REMOTE_ADDR, HTTP_VIA, HTTP_X_FORWARDED_FOR也会变得不同。
1、透明代理(transparent proxy):
REMOTE_ADDR=最后一个代理服务器ip(若有使用多层代理的情况下)
HTTP_VIA=代理服务器ip
HTTP_X_FORWARDED_FOR=你的ip(若有使用多层代理则同时显示多个ip,但这个值可以伪造即混淆代理)
2、匿名代理(Anonymous Proxies):
REMOTE_ADDR=最后一个代理服务器ip
HTTP_VIA=代理服务器ip
HTTP_X_FORWARDED_FOR=代理服务器ip (隐藏真实ip, 目标只知道代理服务器ip)
3、混淆代理、欺骗代理(Distorting Proxies):
REMOTE_ADDR=代理服务器ip
HTTP_VIA=代理服务器ip
HTTP_X_FORWARDED_FOR=随机的ip(可以使用多个代理服务器,也可以编造一个虚假的或不存在的ip代替你的真实ip)
4、高匿代理(High Anonymity Proxies、Elite proxies):
REMOTE_ADDR=代理服务器ip
HTTP_VIA=没有数值或不显示
HTTP_X_FORWARDED_FOR=没有数值或不显示(特点是目标地址完全不知道这是台代理服务器)
代理服务器有些什么样的优点和用处呢?
1、提高访问速度:代理服务器通常会设置一个缓冲区,当访问的数据在缓冲区也有保留时,直接从缓冲区中提取信息,传送回给用户端,提高了访问速度。
2、突破限制:有的网络供应商会限制上网用户的端口,还有某些网站、游戏、通迅软件等被限制,此时使用代理服务器可以代替你去访问被限制的内容。
3、隐藏真实的ip地址:让上网者可以隐匿自己的ip,免受特殊攻击。
4、充当防火墙:用户所访问的远程站点必须通过代理服务器,代理服务器可以设置对应的策略和限制,过滤或屏蔽某些信息。
但是代理服务器有好处也有坏处,在使用代理服务器的同时也要注意保护好自身的数据安全哦~
欢迎关注我的头条号,私信交流,学习更多网络技术!