Charles抓包之HTTPS抓包配置

访问个人博客html

前言

因为工做中常常须要配置客户端开发人员对接接口,有时候对接地不太顺利,所以须要常常性地对公司 APP 进行抓包看请求,找出具体的缘由。windows

在公司中开发使用的 Windows 台式电脑,抓包工具选择了 Fiddler,这个工具刚开始学会抓包的时候,以为真乃神器!在通过几回开发电脑升级以后,从新安装 Fiddler 后,和以前的设置相同,可是死活抓不了包,或者抓不了 Https 的包, 总之总会出现各类奇怪的问题,若是出了问题,简直让人抓狂!浏览器

去年年末,给本身换了一台 MBP,平常学习中也须要用到抓包,为了和公司中的工具保持一致,想下载 Fiddler 的 Mac 版,结果并无。因而下载了 Charles (花瓶),用了花瓶以后,发现其比 Fiddler 更加好用~安全

在一次受够了 Fiddler 的莫名其妙地抓不了 Https,怒卸载之,寻寻觅觅,找到了 Win 版的 Charles 😊(以前还觉得没有 Win 版呢),通过简单配置,开始了愉快的抓包~网络

抓包准备之 Charles 下载以及激活

Charles 软件下载app

下载安装完,在开始菜单中找到 Charles 打开,提示有 30 天的试用期。若是 30 天到期的话,能够选择购买一个 license ,30 刀。若是不想买,能够参考此文继续试用,Charles Proxy使用笔记(文内有好礼)。选择 Help-Registered 填入 license 便可激活。工具

抓包准备之 Charles 配置 HTTPS 抓包基础配置

现在 Https 大行其道,苹果更是强制要求 APP 通讯必需要使用 Https 协议,若是只是抓普通的 HTTP 请求,无需复杂配置便可抓包,这也代表了 HTTP 的安全性很低。学习

Charles 默认不对 HTTPS 的请求开启抓包,因此,须要先开启全部 HTTPS 请求的抓包。测试

进入菜单 Proxy-SSL Proxying Settings
选择开启 SSL Proxy,并 Add 一条 Location 记录,Host 填写 *,表明匹配全部网址,端口 Port,填写443,即 HTTPS 端口。 选择保存。搜索引擎

基础配置到此就完成了,如下本文按照两方面来描述,Charles 抓 HTTPS。

Charles 抓 Windows 上的 HTTPS 请求

进入 Help 中,选择 SSL Proxying 设置,安装根证书

注意这一步必定要将证书存储到 受信任的根证书颁发机构,不然抓包 HTTPS 会提示证书不受信任!!!嗯,搞了很久,血通常的教训!

安装期间会有安全警告,选择是便可。

访问 https://www.baidu.com后,查看 Charles,已经能够看到 Https 请求下的数据了。

Charles 抓 APP 的 HTTPS 请求

想要 Charles 抓 HTTPS 的数据包,须要设置代理并安装 Charles 的中间 SSL 证书。

选择 Help-SSL Proxying

点击会弹出对话框以下

按照提示,将手机连入电脑同一个网络,WIFI 处设置代理,代理的地址以及端口按照对话框中进行设置。

设置成功返回以后,此时电脑上 Charles 会自动弹出提醒,提示是否容许请求代理经过,选择 Allow 容许便可。

连上代理以后,使用系统自带浏览器( iPhone 使用 Safari)访问地址 chls.pro/ssl,若是是 iPhone 会自动弹出安装描述文件,选择安装输入密码后无视警告安装便可。安卓手机进入会弹出安装证书页面,类型选择 WLAN,证书名称随意填写(小米手机不会弹出安装证书页面,而是将证书下载到根目录的 Downloads 下,进入小米手机设置-更多设置-系统安全->从存储设备安装,找到刚才下载的证书进行安装便可)。

手机访问 https://m.baidu.com,查看 Charles ,发现此时已经能够拿到 HTTPS 数据内容了,若是没设置成功,里面都将会是 unknown。

常见问题

  1. 开启 SSL Proxy 代理后,提示证书不受信任或者无效,PC 端通常都是由于证书放错了位置。
  2. 在 IOS11上测试时,抓包显示unknown 须要进入通用-关于本机-证书信任设置,将新增的证书进行开启操做。

最后说几句

善用搜索引擎,由于你遇到的问题确定有别人都遇到过了,若是你搜不到,确定是你的搜索姿式不对~

实在有问题解决不了,能够找我哟!

给我写信

相关文章
相关标签/搜索