Charles的使用三 抓取Https请求包

默认我们是看不到https的请求数据的。我们需要安装证书。01

02

Mac:

03
04
双击打开Charles Proxy CA
05
在这里插入图片描述
07
手机配置完代理(必须的操作)后,浏览器打开http://chls.pro/ssl
08
09
然后配置Proxy -> SSL Proxying Settings… 添加要抓取的https请求
10
然后再次请求:
11
如果不再使用Charles,想删除手机里的证书文件怎么删除呢?

设置->通用->描述文件与设备管理,删除指定的证书即可
12

Windows:

13
14
下一步
15
然后继续下一步直到导入成功。
16
剩下的配置与MaC下配置相同

SSL的问题:

最近iPhone系统更新到ios 10.3后,用Charles抓包竟然出现了一些问题,https的请求都会失败,提示错误信息为Failure SSLHandshake: Received fatal alert: unknown_ca 和You may need to configure your browser or application to trust the Charles Root Certificate. 然而之前任何问题都没有,并且相关设置都正确:电脑上安装了Charles的根证书,并且设置了始终信任,然后手机上也登录了http://chls.pro/ssl安装了描述文件,一切都按正常程序走的,但是错误始终无法解决.

原因:

虽然charles的根证书已经在安装列表中显示,但它是被关闭的。在iOS 10.3之前,当你将安装一个自定义证书,iOS会默认信任,不需要进一步的设置。而iOS 10.3之后,安装新的自定义证书默认是不受信任的。如果要信任已安装的自定义证书,需要手动打开开关以信任证书。

解决:

设置->通用->关于本机->证书信任设置-> 找到charles proxy custom root certificate然后信任该证书即可.
17

Windows系统无法上网的问题

在windows下,如果Charles没有正常关闭,或者系统重启后无法上网的问题,因为Charles做了系统代理,当上网的时候,首先先访问代理服务器,然后代理再去链接网络,这时候Charles是非正常关闭的,只要重新打开Charles即可上网正常,正常关闭Charles后同样没问题。

写给测试人员的

另外抓包工具不只是开发人员独享的,任何一个参与项目的人都可以使用,测试工程师,运维,产品经理等等任何对技术感兴趣的人,尤其是测试工程师,在测试的过程中遇到问题,不是简单的bug记录员,而要做到问题的分析员,这才是真正的“工程师”,当bug真正的到开发这的时候,他拿到的是不仅仅是bug,包含了分析过程,分析的数据,甚至是解决方案。我觉得这才是标准工作方式。

举个例子,现在是移动互联网时代,那么我们开发的客户端必然包括Android和IOS版本,同样的功能必然在不同的客户端都有实现,比如同样的功能Android能用,而IOS不能用,这时候对于测试人员来说,他可以简单的提个bug说某个功能Android能用,ISO不能用,请开发人员解决。这个问题应该给谁呢?IOS开发,是IOS缺少请求参数?服务端开发,是服务端缺少对IOS的兼容吗?为了能让问题解决,可能要写两个相同的bug发给不同的人, 那我们开发看到这样的问题,首先重现问题,那么肯定要跟测试人再次沟通,问问当时的测试过程,然后模拟同样的数据进行复现。

那么如果我们的测试工程师换一种工作方式呢?当遇到问题的时候,用抓包工具把数据抓下来,首先比较Android和IOS发送请求参数有什么不同,比较一下返回的数据有什么不同,如果请求参数不同,那么测试人员通过模拟工具,把缺少的参数加上,那么返回的数据是不是就正确了呢?如果参数相同,返回的数据不同,或者是参数相同,返回的数据相同,这样的话,问题就显而易见了,测试人员可以把抓取的数据提交给相应的开发人员,而开发人员完全可以去debug了。提高测试人员的自身技能,而又提高了解决问题的效率,何乐而不为?

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用Charles抓取HTTPS请求,首先需要安装并配置Charles软件。以下是在Windows系统上使用Charles抓取HTTPS请求的步骤: 1. 首先,下载并安装Charles软件。在安装过程中,确保选择安装Charles的SSL证书。 2. 打开Charles软件,并在菜单栏中选择“Proxy”>“SSL Proxying Settings”。 3. 在SSL Proxying Settings窗口中,点击“Add”按钮添加需要抓取HTTPS请求的域名。你可以输入一个具体的域名,比如example.com,或者使用通配符,比如*.example.com,以抓取该域名下的所有请求。 4. 确认勾选“Enable SSL Proxying”选项,并点击“OK”保存设置。 5. 在手机或电脑上,打开网络设置,并将HTTP代理设置为Charles的代理地址和端口号。默认情况下,Charles的代理地址是127.0.0.1,端口号是8888。如果你使用的是手机,还需要将手机连接到与电脑相同的局域网。 6. 回到Charles软件,在菜单栏中选择“Proxy”>“Start SSL Proxying”以启动HTTPS请求抓取。 7. 现在,当你在浏览器或其他应用程序中发起HTTPS请求时,Charles将自动捕获并显示这些请求。你可以在Charles的“Session”栏目下查看和分析抓取到的HTTPS请求。 请注意,由于HTTPS请求的加密性质,Charles抓取HTTPS请求时需要使用证书进行解密。因此,在首次访问某个网站时,你可能会收到一个安全警告。在这种情况下,你需要信任Charles的SSL证书才能继续访问网站并正常抓取HTTPS请求。 总结一下抓取HTTPS请求的步骤:安装并配置Charles软件,添加需要抓取的域名,设置代理,启动SSL代理,然后在Charles中查看和分析抓取到的HTTPS请求。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Charles抓取https请求详解](https://blog.csdn.net/WsXOM853BD45Fm92B0L/article/details/78139094)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [使用Charles进行HTTPS](https://blog.csdn.net/chuyouyinghe/article/details/120236916)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值