文章目录:
如何搭建高级匿名的http代理
1. HTTPS代理问题很大,正常的代理应该是建立一个隧道,proxy 收到请求之后,向 server 发送HTTP/1.1 200 Connection established,然后直接转发双方通信。这样 server 一定会知道 client 在 proxy 后面。
如果 proxy 假装是 client,那就是中间人攻击了。正常来讲,你不可能获得 client 访问的 URL 到底是什么。解决方法也许可以自签一个证书?
2. 浏览器使用代理服务器设置时候,发给 proxy 的内容和没有使用发给 server 的内容是不同的。起码据我所知,直接访问一般会是 GET / HTTP/1.1而发给 proxy 的会带着域名。题主所说 header 那个不知道。所以需要确认一下。而且,HOST 那个字段具体什么含义我现在还搞不清楚,正确的 proxy 到底要根据请求的 path 建立连接还是HOST?有知道的请告诉我。。。而且坑爹的是不同浏览器的 HOST 还有点不同。记得https时候 Firefox 还是 Opera 的 HOST 里会带:443。。。所以不能确定到底有多少坑
3. 有一种和题主需求类似的实现,Interception proxying,Interception proxying 对 client 来说假装是 server,对 server 来说假装是 client。但是据 polipo 的作者说法,这种实现问题很大,不好说是不是能保证和协议兼容:
Interception proxying is a fundamentally broken design (see for
example this
posting and
RFC 3143,
Section 2.2.2), and will not be supported by Polipo.
不过,题主这种需求肯定有人想过。多 Google 一下应该有可用的、不完美的方案,但是既然标签里加了 VPS,我猜其实只是想找个好用的 FQ 方法吧?
代理服务器的匿名 透明 高匿之类的是什么意思啊
简单的说吧
你用透明代理上QQ,对方还是能看到你的本来的IP
只有用匿名和高匿名才不会被对方看到IP.
详细的说:
匿名代理:
如果从隐藏使用代理用户的级别上划分,代理可以分为三种,即高度匿名代理、普通匿名代理和透明代理。
(1)高度匿名代理不改变客户机的请求,这样在服务器看来就像有个真正的客户浏览器在访问它,这时客户的真实IP是隐藏的,服务器端不会认为我们使用了代理。
(2)普通匿名代理能隐藏客户机的真实IP,但会改变我们的请求信息,服务器端有可能会认为我们使用了代理。不过使用此种代理时,虽然被访问的网站不能知道你的ip地址,但仍然可以知道你在使用代理,当然某些能够侦测ip的网页仍然可以查到你的ip。
(3)透明代理,它不但改变了我们的请求信息,还会传送真实的IP地址。
三者隐藏使用代理者身份的级别依次为高度匿名代理最隐蔽,其次是普通匿名代理,最差的是透明代理。
如何判断HTTP代理的高匿程度?
不需要你自己来决定的,可以通过软件来检测的,一般低程度的软件检测出来,那么说明是低程度匿名
匿名HTTP透明HTTP高匿HTTP有什么区别?
匿名HTTP透明HTTP高匿HTTP区别:
SOCKS4和SOCKS5不同之处在于SOCKS5支持UDP这种协议。
但SOCKS4是不支持的。
所以在QQ上不可以使用SOCKS4代理,因为QQ使用的是UDP协议,但在ICQ上就可以使用SOCKS4或SOCKS5代理。
透明代理虽然可以直接“隐藏”你的IP地址,但是还是可以从HTTP_X_FORWARDED_FOR来查到你是谁。
匿名代理比透明代理进步了一点:别人只能知道你用了代理,无法知道你是谁。
与匿名代理相同,如果使用了混淆代理,别人还是能知道你在用代理,但是会得到一个假的IP地址,伪装的更逼真。
可以看出来,高匿代理让别人根本无法发现你是在用代理,所以是最好的选择。
(3)透明代理,它不但改变了我们的请求信息,还会传送真实的IP地址。 三者隐藏使用代理者身份的级别依次为高度匿名代理最隐蔽,其次是普通匿名代理,最差的是透明代理。如何判断HTTP代理的高匿程度?不需要你自己来决定的
划分,代理可以分为三种,即高度匿名代理、普通匿名代理和透明代理。 (1)高度匿名代理不改变客户机的请求,这样在服务器看来就像有个真正的客户浏览器在访问它,这时客户的真实IP是隐藏的,服务器端不会认为我们使用了代理。