学过计算机网络的基本都知道代理服务器,甚至一些不明所以的人平日里也用的很多:游戏需要的,翻墙需要的,业务(如点击、投票等)需要的,还有各种你懂的需求,代理都可以帮助我们转发网络请求。但是,代理服务器其实是有分种类的,很多人只是会用,却不懂其中的门道,使用的代理如果不适合需求的场景,那么不仅起不到效果,很可能还会适得其反!
一、代理服务器的分类:
按照代理 IP 的匿名程度,我们可以将其分为三大类:
1. 高匿:high anonymous(level 1),使用 high anonymous 时,服务端不会感觉到你在使用代理;
2. 匿名:anonymous(level 2),使用 anonymous 时,有时也不会让服务端感觉到你在使用代理;
3. 透明:transparent(level 3),使用 tansparent 时,服务端会知道你在用代理,而且还可以知道你的真实 IP。
二、服务端获取不同种类代理服务器相关参数的差异:
服务端用于检测代理的几个常用参数:
REMOTE_ADDR:访问服务端的设备的 IP 地址。
HTTP_VIA:如果有该条信息,就证明你使用了代理服务器,代理服务器的 IP 地址就是后面的数值。
HTTP_X_FORWARDED_FOR:如果有该条信息,也证明了你使用了代理服务器,代理服务器的 IP 地址就是后面的数值。
使用不同种类的代理服务器,上面的参数信息会有所不同——
1. 没用代理服务器的情况:
REMOTE_ADDR = 你的 IP
HTTP_VIA = 没数值或不显示
HTTP_X_FORWARDED_FOR = 没数值或不显示
2. 使用透明代理服务器的情况:Transparent Proxies
REMOTE_ADDR = 代理服务器 IP
HTTP_VIA = 代理服务器 IP
HTTP_X_FORWARDED_FOR = 你的真实 IP
这类代理服务器还是将你的信息转发给你的访问对象,无法达到隐藏真实身份的目的。
3. 使用普通匿名代理服务器的情况:Anonymous Proxies
REMOTE_ADDR = 代理服务器 IP
HTTP_VIA = 代理服务器 IP
HTTP_X_FORWARDED_FOR = 代理服务器 IP
隐藏了你的真实IP,但是向访问对象透露了你是使用代理服务器访问它们的。
4. 使用欺骗性代理服务器的情况:Distorting Proxies
REMOTE_ADDR = 代理服务器 IP
HTTP_VIA = 代理服务器 IP
HTTP_X_FORWARDED_FOR = 随机的 IP
告诉了访问对象你使用了代理服务器,但编造了一个虚假的随机 IP 代替你的真实 IP 欺骗它。
5. 使用高匿名代理服务器的情况:High Anonymity Proxies (Elite proxies)
REMOTE_ADDR = 代理服务器 IP
HTTP_VIA = 没数值或不显示
HTTP_X_FORWARDED_FOR = 没数值或不显示
完全用代理服务器的信息替代了你的所有信息,就像你就是完全使用那台代理服务器直接访问对象。
三、高匿代理也并不绝对匿名
用了高匿,服务端是否就绝对察觉不到代理的存在呢?答案是否定的。
随着技术的日益更新,服务端对代理检测技术的提高,想使用代理隐匿自己的操作越来越受到限制。加上网络中传输的不仅是 IP,还有你的浏览器版本,操作系统版本,使用的语言,COOKIE,设备名,登录用户名等等。如果 IP 一换再换,其它信息却从未变过,你说会怎么样?
所以“作弊”就要先做好被K的心理准备,“作弊”与“反作弊”就像病毒与反病毒一样没有永远的赢家。