https://www.zdaye.com/know/s/3167.html

有一些朋友认为,当他设置代理IP后再查本机IP,本机IP并没有发生改变,他认为这个是透明代理,其实是不对的,这种情况应该是浏览器或系统哪里没设置好,导致设置的代理IP根本没有生效;还有一些朋友认为,当他使用代理IP访问网站,被封了就是非髙匿代理,没有被封就是髙匿代理,这其实也是不对的,有些网站没有反爬策略,哪怕使用透明代理都不会被封,有些网站反爬策略很严格,使用髙匿代理也依然会被封。

那么应该如何来分辨哪种是髙匿代理,哪种是透明代理呢?我们先看看代理原理吧。

代理类型主要取决于代理服务器端的配置。不同配置会形成不同的代理类型。在配置中,这三个变量REMOTE_ADDR,HTTP_VIA,HTTP_X_FORWARDED_FOR是决定性因素。

a、 REMOTE_ADDR

REMOTE_ADDR 表示客户端的 IP,但是它的值不是由客户端提供的,而是服务器根据客户端的 IP 指定的。

如果使用浏览器直接访问某个网站,那么网站的 web 服务器(Nginx、Apache等)就会把 REMOTE_ADDR 设为客户端的 IP 地址。

如果我们给浏览器设置代理,我们访问目标网站的请求会先经过代理服务器,然后由代理服务器将请求转化到目标网站。那么网站的 web 服务器就会把 REMOTE_ADDR 设为代理服务器的 IP。

b、HTTP_VIA

via 是 HTTP 协议里面的一个header,记录了一次 HTTP 请求所经过的代理和网关,经过1个代理服务器,就添加一个代理服务器的信息,经过2个就添加2个。

c、X-Forwarded-For(XFF)

X-Forwarded-For 是一个 HTTP 扩展头部,用来表示 HTTP 请求端真实 IP。当客户端使用了代理时,web 服务器就不知道客户端的真实 IP 地址。为了避免这个情况,代理服务器通常会增加一个 X-Forwarded-For 的头信息,把客户端的 IP 添加到头信息里面。

现在,我们来看看这四种代理是根据什么来判断的。

1、透明代理

REMOTE_ADDR = Proxy IP

HTTP_VIA = Proxy IP

HTTP_X_FORWARDED_FOR = Your IP

透明代理虽然可以直接“隐藏”你的IP地址,但是还是可以从HTTP_X_FORWARDED_FOR来查到你是谁。

2、普匿代理

REMOTE_ADDR = proxy IP

HTTP_VIA = proxy IP

HTTP_X_FORWARDED_FOR = proxy IP

普匿代理比透明代理进步了一点:别人只能知道你用了代理,无法知道你是谁。

3、混淆代理

REMOTE_ADDR = Proxy IP

HTTP_VIA = Proxy IP

HTTP_X_FORWARDED_FOR = Random IP address

与匿名代理相同,如果使用了混淆代理,别人还是能知道你在用代理,但是会得到一个假的IP地址,伪装的更逼真;

4、髙匿代理

REMOTE_ADDR = Proxy IP

HTTP_VIA = not determined

HTTP_X_FORWARDED_FOR = not determined

可以看出来,高匿代理让别人根本无法发现你是在用代理,所以是最好的选择。

现在,我们都知道了如何分辨一个IP是否髙匿代理IP了,有的朋友说这也太麻烦了吧,拿到一个IP,我要怎么去查看HTTP_X_FORWARDED_FOR 呢,我也不会写代码呀。这里推荐一个非常神奇的工具:站大爷代理IP工具V3.3,在免费代理IP页面上有下载,也可以加入站大爷网站底部的QQ群,在群文件里有下载。这个工具可以批量的验证代理IP是否有效,是否髙匿等等。

你可能感兴趣的