【发布时间】:2012-10-22 11:04:13
【问题描述】:
在过去的几天里,我一直在寻找一种好的解决方案来防止通过 socks4/5 代理的 DNS 泄漏。
我查看了 SocksiPy(-branch) 模块,并尝试包装了许多东西(urllib、urllib2、dnstools),但它们似乎仍然会泄漏 DNS 请求。 pyCurl 也是如此。
我知道 proxychains/proxyresolv 可以通过 socks4/5 代理抛出 DNS 请求,并且它使用一些 LD_PRELOAD 库来猴子补丁套接字的功能,就像 SocksiPy 一样,但我似乎无法想象找出为什么它不通过 socks4 或 socks5 代理发送 DNS。
我想对于 linux,我可以使用带有 libproxychains.so 的 CTypes 来解决问题,但我正在寻找多平台的东西,所以我认为猴子修补套接字模块是要走的路。
有没有人想出一个解决这个问题的好方法?为了可移植性,我想在代码中完成这一切,我不想求助于运行另一个代理服务器!
谢谢!
【问题讨论】: