如何使用Charles Web Proxy和Windows上的最新Android模拟器configurationSSL证书?
我想使用Charles Web代理在Windows中使用Android模拟器。 我已经成功地build立了charles并且用命令行启动了模拟器:
emulator -http-proxy 127.0.0.1:8888 @NexusOne
我可以看到在查尔斯从Android模拟器stream量,但问题是,我正在开发一个使用SSL的实时API,我不知道如何configuration查尔斯,让我玩的数据发送和接收。 我知道在查尔斯(代理 – >代理服务器设置 – > SSL和代理 – >客户端SSL证书)设置SSL的两个领域,但我找不到任何像样的文件,让我做我想做的事情。 有没有人与查尔斯或一般证书谁可以解释如何实现这一点的经验。 也许一个证书的入门也是好的,因为我似乎缺乏知识,为什么这是如此困难。
在查尔斯,去代理>>代理设置,然后selectSSL选项卡。 将您的主机添加到位置列表。
例如,如果您的安全呼叫转到https://secure.example.com ,则可以inputsecure.example.com或* .example.com。
完成上述操作后,可能需要在Charles主窗口中右键单击呼叫,然后selectSSL Proxying选项。
希望这可以帮助。
要用charles远程捕获http或httpsstream量,您需要执行以下操作:
主机 – 机器运行查尔斯和托pipe代理客户端 – 用户的机器产生的交通,你将捕获
主机
- 安装完全授权的查尔斯版本
- 代理 – >代理设置 – >选中“启用透明HTTP代理”
- 代理 – >代理设置 – > SSL选项卡 – >选中“启用SSL代理”
- 代理服务器 – >代理服务器设置 – > SSL选项卡 – >单击添加button并在两个字段中input*
- 代理 – >访问控制设置 – >添加您的本地子网(例如:192.168.2.0/24)授权本地networking上的所有计算机使用来自另一台计算机的代理
- 在charles中设置“自动保存工具”可能是明智的,这将自动保存并旋转charles日志。
客户机:
- 安装并永久接受/信任charles SSL证书
http://www.charlesproxy.com/documentation/using-charles/ssl-certificates/ - configurationIE浏览器,Firefox和Chrome使用套接字查尔斯托pipe代理(例如:192.168.1.100:8888)
当我testing了这一点,我拿起了两个Facebook的HTTPS聊天(一个是一个线路某人,另一个FROM)
你也可以通过这种方式捕获android模拟器stream量,如果你启动模拟器:
emulator -avd <avd name> -http-proxy http://local_ip:8888/
LOCAL_IP是您的计算机的IP地址,而不是127.0.0.1,因为这是模拟电话的IP地址。
资料来源: http : //brakertech.com/capture-https-traffic-remotely-with-charles/
在这里值得一提的是在Android设备上这样做的一步一步的指示。 对于iOS应该是一样的:
- 打开查尔斯
- 转到代理>代理设置> SSL
- 选中“启用SSL代理”
- select“添加位置”并input主机名称和端口(如果需要)
- 点击确定,确保选项被选中
- 从这里下载Charles证书: Charles cert>
- 通过电子邮件将该文件发送给自己。
- 在您的设备上打开电子邮件并select证书
- 在“命名证书”input任何你想要的
- 单击确定,您应该收到证书已安装的消息
然后,您应该能够查看Charles中的SSL文件。 如果你想拦截和改变值,你可以使用“地图本地”工具,这真是太棒了:
- 在查尔斯去工具>地图本地
- select“添加条目”
- input要replace的文件的值
- 在“本地path”中select你想要加载的文件
- 点击OK
- 确保input被选中,然后单击确定
- 运行你的应用程序
- 你应该在“注释”中看到你的文件加载而不是活的
Charles提供HTTPS代理的方式有些改变了。
首先,证书安装选项已移至帮助菜单。
Help -> SSL Proxying -> Install Charles Root Certificate Help -> SSL Proxying -> Install Charles Root Certificate in iOS Simulators
其次,从iOS 9开始,您必须在Info.plist
提供一个NSAppTransportSecurity
选项,如果您希望Charles能够以中间人的身份正常工作,则必须添加:
<key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key> <true/>
作为您的域名的一部分,请参阅完整的示例:
<key>NSExceptionDomains</key> <dict> <key>yourdomain.com</key> <dict> <key>NSIncludesSubdomains</key> <true/> <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key> <true/> <key>NSTemporaryExceptionMinimumTLSVersion</key> <string>TLSv1.1</string> </dict>
原因是(我猜)查尔斯在作为中间人https服务器中的人之后,在某个时候在清楚的http中进行通信。
最后一步是在Charles中为此域激活SSL代理(右键单击域并select启用SSL代理)
您还应该从Charles帮助菜单中单击“安装Charles CA SSL证书..”。 请参阅http://blog.noodlewerk.com/general/tutorial-using-charles-proxy-to-debug-https-communication-between-server-and-ios-apps/上的更多详细说明;
什么对我有用 – 真的应该转移到iPhone:
查尔斯
- 启用透明的Http代理
- 启用SSL代理
- 右键单击传入请求并selectSSL代理
苹果电脑
- 下载Charles CA证书包ssl.html
- 通过电子邮件发送您自己的charles-proxy-ssl-proxying-certificate.crt
苹果手机
- 在端口8888上启用Charles的http代理
- select并安装电子邮件附件,是信任它!
瞧,您现在可以查看SSL代理中添加的域中的encryptionstream量
这些帮助我
- 转到代理 – > SSL代理设置 – >添加
- 在这里添加您的网站名称并将端口号设为8888
- 右键单击左侧面板上的站点名称,然后select“启用SSL代理”
希望这可以帮助那里的人。