代理IP的出口地址会变,这句话几乎每个用过的人都知道,可要问变了以后是哪一截变了、自己的地址去哪儿了,能说清的人就不多了。今天把这件事从头讲透:一次访问经过代理IP,出口地址到底在哪个环节变成代理的地址,你的真实地址又为什么被隔在中间。
先说结论:出口地址变,变的是目标网站看到的来源地址。你本地的地址从头到尾没有消失,只是代理IP替你和目标网站打了照面,目标网站只认它看到的那张脸——也就是代理IP出口的地址。你的地址没有丢,只是不再直接出现在目标网站面前。
一次请求经过代理IP,地址在哪个环节变
把一次访问拆开看,地址的变化只发生在一个环节。第一步,你的设备发出请求,请求上带着你本地的地址,这时候地址还是你自己的;第二步,请求到达代理IP,代理IP看一眼目的地在哪,准备用自己的出口转发,但此刻它还没替你改地址;第三步才是关键——代理IP用自己的出口地址把请求重新发出,目标网站收到的包上,来源已经变成了代理IP出口的地址;第四步,目标网站回应时,回给代理IP出口,代理IP再原样转回给你。
所以地址变化只发生在第三步,也就是代理IP出口转发的那一下。前两步你的地址还在,后一步开始目标看到的就是代理的地址了。整个过程里你的地址一直待在你的设备上,并没有真的跑出去,是代理IP把最后一段路的来源换成了自己。
为什么要这样改?因为目标网站只认最后一段的来源。数据包在公网上走,每一跳都只看下一跳的地址,目标网站收到请求时,包里写的来源是谁,它就认为是谁在访问。代理IP站在中间,把最后一段的来源换成自己,目标网站自然就认为访问来自代理IP出口。
你的真实地址去了哪
你的真实地址既没有被删除,也没有被覆盖,它只是退到了代理IP身后。代理IP和你之间这一段,用的还是你的地址,代理IP靠它把响应送回给你;目标网站那一侧,用的才是代理IP出口的地址。一段连接被代理IP拆成了两半,两侧各认各的地址,这就是出口地址会变的底层原理。
为什么目标网站看到的是代理出口
打个比方:你托人帮你去柜台办事,柜台登记的是代办人的名字,你本人没露面。代办人办完再回来把结果告诉你。目标网站就好比柜台,它只认代办人的名字;代办人就是代理IP出口,你本人是站在门口的委托方。名字变了,是因为出面的人变了,不是你的名字被抹掉了。
想验证这个原理很简单:连上代理IP后访问一个能显示访问来源的页面,看到的是代理IP出口的地址;断开代理IP直连,看到的又是你自己的地址。同一台电脑、同一个页面,两次显示不同,就是因为出面的人换了。
理解这一点对排查很有用:如果目标网站显示的地区不对,别怀疑自己的地址被改坏了,去查代理IP出口落在哪个地区;如果某个网站拒绝访问,先看它是不是在按来源地址做判断。出口地址变是代理IP的正常工作方式,不是故障,也不是你的地址出了毛病。
小结一下:出口地址变,变的是目标网站看到的来源地址,变发生在代理IP出口转发那一步;你的真实地址一直在你本地,只是不再直接出面;一段连接被拆成两半,你这边认你的地址,目标那边认代理的地址。想通这一截,代理IP的基本原理就通了。
以后别人问起出口地址为什么会变,你可以一句话讲清楚:因为出面的人换成了代理IP出口,目标网站只认最后一段的来源。就这么简单。
