ip代理的原理你知道多少?

jinglingip.cn 2021-08-04

说到代理IP,大家可能知道它可以用来切换IP,进行相应的爬取项目。 但是你对IP代理本身及其背后的工作原理了解多少呢? 让我们一起进入代理IP的学习。  
 
 一、代理类型 
 
代理IP可分为4种类型。 经常听到的透明代理IP、匿名代理IP、高匿名代理IP,还有另外一种混淆代理IP。 从最基本的安全级别来看,它们的顺序应该是:高隐蔽>混乱>匿名>透明。  
 
 二、代理原理 
 
代理类型主要取决于代理服务器的配置。 不同的配置会形成不同的代理类型。 在配置中,这三个变量REMOTE_ADDR、HTTP_VIA、HTTP_X_FORWARDED_FOR是决定性因素。  
 
1)REMOTE_ADDR
 
REMOTE_ADDR 代表客户端的IP,但它的值不是客户端提供的,而是服务器根据客户端的IP指定的。  
 
如果您使用浏览器直接访问网站,该网站的Web服务器(Nginx、Apache等)会将REMOTE_ADDR设置为客户端的IP地址。  

如果我们为浏览器设置了代理,我们访问目标网站的请求会先通过代理服务器,然后代理服务器将请求转换到目标网站。 然后网站的web代理服务器将REMOTE_ADDR设置为代理服务器的IP。  
 
2)X-Forwarded-For(XFF)
 
X-Forwarded-For 是一个HTTP扩展头,用于表示HTTP请求者的真实IP。 当客户端使用代理时,Web 代理服务器不知道客户端的真实 IP 地址。 为了避免这种情况,代理服务器通常会添加一个 X-Forwarded-For 标头,并将客户端的 IP 添加到该标头中。  
 
X-Forwarded-对于请求头格式如下: 
 
X-Forwarded-For:client,proxy1,proxy2
 
client表示客户端的IP地址;  proxy1是离服务器最远的设备IP;  proxy2是二级代理设备的IP; 从格式上可以看出,从客户端到服务器可以有多个代理。  
 
如果一个HTTP请求在到达服务器前经过Proxy1、Proxy2、Proxy3三个代理,IP分别为IP1、IP2、IP3,用户的真实IP为IP0,则根据 XFF标准,服务器最终你会收到如下信息: 
 
 X-Forwarded-For:IP0,IP1,IP2
 
代理3直接连接到服务器,它会添加IP2到 XFF,表示正在帮助Proxy2转发请求。 列表中没有IP3,可以通过RemoteAddress字段在服务器上获取IP3。 我们知道 HTTP 连接是基于 TCP 连接的。  HTTP协议中没有IP的概念。  RemoteAddress 来自 TCP 连接,即与服务器建立 TCP 连接的设备的 IP。 在本例中,它是 IP3。  
 
3)HTTP_VIA
 
via 是HTTP协议中的一个header,它记录了一个HTTP请求经过的代理和网关。 在一台代理服务器后,添加代理服务器的信息。 两个后加两个。  
 
三、代理选择 
 
普通匿名代理IP可以隐藏客户端的真实IP,但也会改变我们的请求信息。 服务器可能会认为我们使用了代理。 但是,在使用这种代理时,虽然被访问的网站无法知道客户端的IP地址,但它仍然可以知道您正在使用代理。 当然,一些可以检测IP的网页还是可以找到客户端的IP的。  
 
对于高度匿名的代理,请添加不改变客户端请求的链接描述,使服务器看起来像一个真正的客户端浏览器正在访问它。 这时候客户端的真实IP是隐藏的,服务器端不会认为我们使用了代理。  
 
精灵ip是国内专业行业优质代理ip软件提供商,支持Windows客户端和Android客户端,一键连接全国200多个城市的优质节点,百万海量ip随意选择,ip带宽可达4  -60Mbps,并支持免费试用30分钟!

扫一扫,咨询微信客服