基于Proxifier使用代理
介绍
Proxifier is a program that allows network applications that do not support working through proxy servers to operate through a SOCKS or HTTPS proxy or a chain of proxy servers.
With Proxifier you can easily tunnel all TCP connections on the system or the selected ones only.
为什么选择Proxifier作为代理软件?原因如下:
- Proxifier通过网络劫持可以对网络应用做网络代理(即使应用本身不支持代理服务器功能)
- 多平台支持:Windows和macOS
- 对应用代码无侵入
- UI简易配置简单,以进程、域名、IP和端口号(支持通配符)为颗粒度进行代理
教程
Proxifier的主要功能如下图:
- 代理服务器: 配置代理服务器
- 代理规则: 以进程、域名、IP和端口号(支持通配符)为颗粒度配置代理规则
- 域名解析: 是否开启代理服务器DNS解析
代理分析
首先假定需要访问远程服务http://hello:80
,但是该远程服务有网络访问限制,仅wakzz.cn
主机可以成功访问该服务。
因此如果本地需要访问该远程服务,需要以wakzz.cn
作为代理服务器,先通过代理服务器做DNS解析远程服务的主机名,再通过代理服务器转发请求到远程服务。
配置代理服务器
假定wakzz.cn
已经开放了端口号为3333
的SOCKS5代理,在Proxifier的配置文件
-代理服务器
配置中做如下图的配置操作,添加wakzz.cn
的SOCKS5代理。
配置代理规则
代理服务器配置完成后,下一步就是配置代理规则。目前Proxifier支持的代理规则条件有:进程名、主机名、IP和端口号(支持通配符)。
由于是访问远程服务http://hello:80
,所以以主机名作为代理规则,如下图所示,并且在代理动作下拉框中选择该代理规则使用Proxy wakzz.cn:3333
服务器代理。
Proxifier的代理动作指该规则启动后以什么代理操作来接管该规则拦截到的网络请求:
- Block (禁止): 拦截向外发送的请求
- Direct (直连): 直接访问外部网络不走代理
- Proxy (代理): 将请求转发给代理服务器执行请求代理
配置域名解析
由于需要代理服务器对主机名进行DNS解析,因此确认代理服务器DNS解析开关是否已经开启(默认开启)。
完成
以上配置完成后,本地直接调用远程服务http://hello:80
,Proxifier根据代理规则自动劫持该HTTP请求转发到代理服务器,由代理服务器对请求进行代理,如下图。