代理无法通过 SSL 连接工作

2023-12-29

我正在尝试使用 tor、socksipy 和 ssl 来代理 ssl 连接。我的客户看起来像这样:

import socks, ssl
s = socks.socksocket()
s.setproxy(socks.PROXY_TYPE_SOCKS5,"127.0.0.1", 9050)
ssl_sock = ssl.wrap_socket(s, ssl_version=ssl.PROTOCOL_TLSv1)
ssl_sock.connect(('127.0.0.1', 443))

服务器只接受连接并打印getpeername.

对等名称始终为 127.0.0.1。即使我给它一个无效的代理也没关系。客户端不会抱怨,无论如何它都会连接。

如何让它通过代理连接?


我设法弄清楚了,所以我将答案留在这里以供将来参考。

第一个问题是我尝试连接到127.0.0.1。当请求被代理时,代理将尝试连接到127.0.0.1,所以它会尝试连接到它自己,而不是我。 我必须将路由器配置为将端口 443 上的请求转发到我的笔记本电脑,然后我更换了127.0.0.1与我的路由器IP。

之后,我发现socksipy 与ssl 配合得不太好。 我不得不打电话connect在包裹它之前先在套接字上,否则我会握手失败。代码变成:

import socks, ssl
s = socks.socksocket()
s.setproxy(socks.PROXY_TYPE_SOCKS5,"127.0.0.1", 9050)
s.connect(('127.0.0.1', 443))
ssl_sock = ssl.wrap_socket(s, ssl_version=ssl.PROTOCOL_TLSv1)

之后,一切工作正常。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

代理无法通过 SSL 连接工作 的相关文章

随机推荐