是否可以更改 Socks 代理所连接的客户端?

是否可以更改 Socks 代理所连接的客户端?

我想连接到2个socks5代理并连接到google.com。

如果我创建一个 tcp 套接字并将其连接到 proxy1,告诉它连接到 proxy2,并告诉 proxy2 连接到 google.com:80,我实际上创建了一个链

我 > 代理1 > 代理2 > google.com:80

如果我想访问 amazon.com,我能以某种方式告诉 proxy2 断开与 google.com 的连接并创建一个到 amazon.com 的新连接,而无需关闭套接字并断开与 proxy1 的连接吗?

通读 RFC 后,我没有发现任何关于此类功能的提及,而且就我而言,socks 代理甚至无法解释我通过它发送的数据。这让我怀疑这是不可能的,但很难想象支持 socks5 代理的现代浏览器(几乎所有浏览器)每次访问不同的网站时都会断开连接,因为每次更改目的地时重新连接到代理似乎非常慢。

答案1

不,

socks5 标准规定,对于每个连接,每次尝试都会创建一个新的绑定请求(并向代理服务器发出新请求)。因此,对于两个不同的网站,您每次都必须创建新的连接。

是的,它很慢,但是没有理由运行这样的两个代理,所以这几乎不是一个优先事项。

相关内容