一、前言
刚刚接触 Charles,打算用它抓一些本地某些应用程序的包,但是有些程序它自身不支持设置代理,也不去使用windows系统代理的设置。 因此,需要借助 Proxifier 这个软件,它可以将网络请求强制转到代理服务器上。因此就能在代理服务器上抓包了。
二、软件配置
Charles
- 帮助-SSL代理-安装Charles根证书,注意看一下证书有效期,如果是过期的,要点击 “帮助-SSL代理-重置Charles根证书”,安装时,手动选择 安装到受信任的根证书颁发机构。
- 代理-代理设置,选择socks代理
- 代理-开始SSL代理(或者点击工具栏小锁,变成锁定状态)
Proxifier
- profile - Proxy Servers,添加一个代理服务
地址:127.0.0.1 ,端口 :8889 协议:socks 5 然后ok,再ok。 - profile - Proxification Rules
添加如下图所示规则,必须要让 本地(localhost)和 Charles 的流量直连,否则会形成无限循环代理。(默认会开启无限循环检测,检测到无限循环会建议你添加规则)
三、踩坑
- 一开始,按照网上其他博主教程配置,Proxifier 的代理服务器配置,协议选的是 https,测试总是报错。说我的 proxy server 不支持 SSL 连接。搞不懂怎么回事。
[25:22] Starting: Test 1: Connection to the Proxy Server
[25:22] IP Address: 127.0.0.1
[25:22] Connection established
[25:22] Test passed.
[25:22] Starting: Test 2: Connection through the Proxy Server
[25:22] Error : the proxy server cannot establish connection with www.baidu.com:80
The error may indicate that the proxy server doesn't support SSL connections.
It means that the proxy can be used for web browsing but it cannot work with Proxifier.
The proxy server reply header is:
HTTP/1.1 200 ?????
[25:22] Test failed.
[25:22] Testing Finished.
-
把协议改为 http (需要在 profile - Advanced - Http Proxy servers 里面启用),使用check检测,可以通过,但是应用程序、浏览器都无法上网。 -
最后把协议改为 socks 5(Charles里面也要开启socks代理),使用check检测,发现 测试网址为 www.baidu.com:80 可以通过, 测试网址为www.baidu.com:443 时不行。但是不影响浏览器和本地exe应用上网,也能正常抓包。 于是就这样了,能用就行了。
|