Charles抓Https包_配置手机证书误区

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Charles抓Https包_配置手机证书误区相关的知识,希望对你有一定的参考价值。

参考技术A 问题:Configure your device to use Charles as its HTTP proxy on fe80:0:0:0:2e0:4cff:fe36:15cc%4:8888, then browse to chls.pro/ssl to download and install the certificate.
误区:我的错误是这样的,我把这个ipv6的地址输入到手机的http代理里了,结果网页也不能访问,在Safari中输入chls.pro/ssl 也不能安装手机证书。。。。
看了很多教程,大部分教程都说“到这里已经告诉你怎么获取证书了。。。”然后我就是卡在这里了,搜了好多才找到问题原因,这个ipv6的地址其实指的是#你电脑的IP地址(就是咱们抓普通包时需要设置的代理地址,可能是ipv4)#
所以说,如果你之前已经把手机设置过代理IP地址的话,那一长串ipv6地址可以直接忽略

借鉴自: shiwan的博客
非常感谢这位博主,写的如此详细!

Charles 安装配置

Charles 介绍

Charles是一款很实用、界面很友好(至少跟fiddler比起来)、功能强大的抓包神器。

因为它是基于 Java 开发的,所以跨平台,Mac、Linux、Windows 下都是可以使用的,并且在 Android 和 iOS 设备上通用。

它的原理是通过成为电脑或者移动设备的代理,截取请求和响应,达到抓包分析的目的

Charles 安装

官网下载地址:https://www.charlesproxy.com/

  • 官方版为试用版,启动时有 10 秒等待,每隔 30min 会有提示,这个版本 emmmmm~ 试用一下就好。

绿色版下载(网上有很多相关下载地址)

Charles 秘钥

Charles 代理配置使用

配置代理

【注】这一步的目的是为了移动设备连接到 Charles,这样移动设备发起的所有请求才能在 Charles 中看到。以下所有演示截图皆来自 Android 设备,iOS 设备大同小异。

步骤 1:使用 Charles 工具查看 PC 本地 IP 和端口号(端口号默认为 8888,也可自行修改),选择“Help->Local IP Address”

查看默认端口号“Proxy->Proxy Settings”

注意:如果勾选了 Proxy - Windows Proxy,那么电脑上的抓包请求也会被抓取到,如果只想抓手机的包,可以将这个设置为不勾选。


步骤 2:长按 Android 设备当前连接的 WiFi,选择“Modify network”->“Advanced options”->“Proxy”->“Manual”,如下图所示,输入“Proxy hostname”和“Proxy port”(即上一步查看的 IP 地址和端口号)然后点击保存,见下图:

步骤 3:点击保存后,Charles 会弹出 connection 确认弹窗,选择“Allow”,见下图:


步骤 4:注意,如果首次连接时,Charles 未出现该提示,请手动进入 Charles 的设置选项,添加当前手机的 IP,选择“Proxy->Access Control Settings”:

点击“Add”手动添加IP:

HTTPS(解密)抓包

步骤 1:对于 https 的请求,解密抓包时需要电脑安装证书,选择“Help->SSL Proxying->Install Charles Root->Certificate”:

点击“安装证书”:


步骤 2:证书安装完成后,需要将解密的 URL 添加到“SSL Proxying”中,选择“Proxy->SSL Proxying Settings”:

勾选“Enable SSL Proxying->add”,添加想要抓取的域名和端口号并保存,此时再查看 https 的请求,就显示正常了:

若嫌麻烦不想一条条添加请求,则可配置如下(抓取所有的请求):

移动设备证书安装

上述操作只是完成了代理配置的一半,想要 Charles 抓到包还需要在移动设备上安装证书。

步骤 1:下载证书


步骤 2:安装动态证书(证书名称随意填写即可),凭据用途默认即可,证书安装时需要设置系统锁,设置锁屏成功后证书会提示证书安装成功。

到此,你的设备和 Charles 就建立了连接,可以尝试在设备上访问一个地址,在 Charles 左侧视图就能实时看到请求啦~

常见问题

Android 手机安装证书

  • Android 手机安装证书时,建议使用 QQ 浏览器,其他浏览器不一定能弹出证书命名弹窗。
  • 如果 QQ 浏览器也不行,只能先下载下来,然后从手机“设置-安全-从存储设备安装”找到刚才下载的证书手动安装。

iOS 10.X 以上设备证书

iOS 10.X 以上设备证书安装后开关默认关闭,需要手动打开开关“设置-通用-关于本机-证书信任设置”即可。

charles 连接不上手机的处理方式

  1. 检查电脑和手机有没有连接的同一个 wifi,必须连接的是同一个网。

  2. 更 换charles 和移动端设备的端口,默认是 8888,可以改成其他的试试。

  3. 有可能路由器设置的 app 间不能相互访问,需要登录路由器,需要登录路由器。进行求改。把用户间访问的对勾勾上。

  4. 关闭电脑的防火墙试试。如果防火墙关了还是不行,那么请把手机 wifi 断掉后重新连接,这样一般就可以解决问题了。

  5. 在 charles 上添加手机的 ip。

  6. 如果以上方法还是不行,尝试将手机 wifi 位置的 ip 地址设置成静态 ip,然后重启 charles 工具。

添加请求地址

如果 https 请求过多不想一条一条添加的话,可以选择“Proxy->SSL Proxying Settings”添加所有。见下图:

Charles 抓不到包

Charles 也会有抓不到包的时候,它并不是万能的,但有些 APP 也会有丢包比较严重的情况,这时候就需要借助其他工具比如 fiddler 或日志排查到底是什么原因。

以上是关于Charles抓Https包_配置手机证书误区的主要内容,如果未能解决你的问题,请参考以下文章

charles抓https包

抓https包

Charles手机抓包设置&无法打开火狐网页设置

charles进行手机抓包:安全证书不受信任,错误码3 怎么解决下?

Charles 安装配置

Charles--使用Charles抓Https包