在工作中,我们有一个代理需要authentication(Windows用户名/密码)才能使用。
我在这种情况下,我有一个程序,通过端口443通信,但没有代理使用的范围。
假设防火墙不能改变,有什么办法可以使我的程序通过代理工作?
我的想法是沿着第三方应用程序的线路,将代理感知和捕获和路由来自该程序的stream量,但我不知道是否存在这样的事情。 话虽如此,任何帮助程序使用代理的解决scheme,当他们没有意识到这一点将是很好的。 🙂
编辑:自发布我遇到SOCKS和一些提到,这可能能够帮助,并有办法让非SOCKS知道客户端使用SOCKS …
您可以在您的客户端机器上设置透明代理,将您公司的代理作为父代,并在将请求转发给父代时添加身份validation信息。 你将需要安装一个支持透明代理的代理服务器,我推荐squid; 而且你将需要一个防火墙,将您的stream量redirect到代理服务器,许多Windows防火墙可以做到这一点。 谷歌对于“鱿鱼透明代理”,有很多手册。
你可以使用Squid Kerberos身份validation助手,稍微老一点,但是适用于大多数情况。
你将需要client_auth_kerb.zip包。 解压缩并运行:
对于Windows Kerberos变体client_kerb_auth_sspi.exe -s proxy.example.com -P远程代理端口-i
对于MIT / Heimeidal Kerberos变体client_kerb_auth_gssapi.exe -s proxy.example.com -P远程代理端口-i
它将创build一个本地套接字来接收无意识的应用程序连接并将其发送到真正的代理服务器。 将本地应用程序代理服务器configuration为localhost:8080
根据您的代理Kerberos / SSPI / GSSPIconfiguration,您可能需要使用Squid Kerberos身份validation帮助https://sourceforge.net/projects/squidkerbauth/files/squidkerberizer/squid_kerberizer-1.0.1/