使用 Charles 获取 https 的数据

作者: hrscy | 来源:发表于2016-06-12 12:53 被阅读19501次

    我使用的 Charles 版本是 3.11.2,获取下载地址可自行百度,我下面要说的是使用 Charles 获取 https 的数据。

    1. 配置 Charles 根证书

    首先打开 Charles:

    Charles 启动界面 主界面

    然后如下图操作:

    Paste_Image.png

    之后会弹出钥匙串,如果不弹出,请自行打开钥匙串,如下图:

    钥匙串

    系统默认是不信任 Charles 的证书的,此时对证书右键,在弹出的下拉菜单中选择『显示简介』,点击使用此证书时,把使用系统默认改为始终信任,如下图:

    显示简介

    然后关闭,就会发现 charles 的证书已经被信任了,如下图:

    证书被信任

    2. 在移动设备上配置证书

    如下图,选择在移动设备上安装 Charles 根证书:

    Paste_Image.png

    会弹出一个提示框,如下图:

    提示框

    进入手机设置界面:

    手机局域网设置

    然后打开手机的浏览器,输入
    charlesproxy.com/getssl 会弹出如下界面:

    安装证书

    点击安装即可,如果出现的不是这个界面,那么把链接换成
    https://www.charlesproxy.com/documentation/additional/legacy-ssl-proxying/,点击安装 itself 后面的 here 就可以了。

    这里以简书为例...😜,

    简书发现页面接口数据

    此时还是获取不到 https 的数据,各位童鞋不要着急,下面还有操作,接着还是进入 Charles ,如下图操作:

    SSL Proxy Setting

    如下图,勾选Enable SSL Proxying,点击添加,弹出下面的对话框,Host 表示你要抓取的 ip 地址或是链接,Port 填写 443 即可:

    设置

    如果还抓不到数据,检查你的手机是不是 iOS 10.3 及以上版本,如果是的话的还需要进入手机设置->通用->关于本机->证书信任设置,如下图,证书选择信任就可以了:


    iOS11

    设置完成后,就可以抓取数据啦,如下图:

    抓取数据

    如果有问题,欢迎留言。😄

    相关文章

      网友评论

      • next_discover:很棒,谢谢分享
      • 薛定谔的黑猫警长:能抓到微信的接口吗 ?
        薛定谔的黑猫警长:@hrscy 我记得15年的时候还可以抓取微信的部分接口
        hrscy:@薛定谔的黑猫警长 肯定抓不到
      • 8866663f57f3:嗯,不错哦。
      • 我本善良:楼主试验过抓取iphone手机上,appstore这个app的https链接吗?一直是unkwon,但是其他app的https链接都可以抓到
        hrscy:@我本善良 并不是所有的https都能抓取到数据的
        我本善良:@hrscy 难道appstore的https链接开启了双向认证,一般的app都是单向认证的:smile:
        hrscy:@我本善良 我和你的情况是一样的,应该是加密了吧
      • c1482b09ec8a:666,正好用到
      • woaww:楼主想问一下对于在PC进行抓包是不是设置好证书就行了?
        hrscy:@wqs_fff PC我不清楚,我用的 MBP,在我的软件设置一下proxy就可以了,点击 charles 的菜单栏,有这个选项,之后点击 macOS Proxy就可以了,PCI应该也差不多吧。
      • 阙笙:楼主,按照你文档的流程。有的可以抓到,但有的还是抓不到,这是为嘛???
        hrscy:@阙笙 有些 https 请求确实是抓不到的,比如现在的简书就抓不到,简书现在的请求方式是 connect 方式,抓不到数据,能抓到数据也就是 get 和 post 方式,当然也不是所有的都能抓到。
      • aa2e0aba1c58:你好!按照文章步骤设置完,点击请求的提示如下:<Failure :> Client closed the connection before a request was made. Possibly the SSL certificate was rejected.< Notes:> You may need to configure your browser or application to trust the Charles Root Certificate. See SSL Proxying in the Help menu. <Response Code>200 Connection established
      • c066fe49abc4:简书的现在抓取不了了么:joy: 我抓其他的能抓到,但是简书的抓不到呢,页面都打不开
        hrscy:@流年经影 你应该是抓过简书的链接了,那么你应该注意到,简书的接口的连接方式是 CONNECT 方式,相当于 app 和服务器之间建立了一个隧道,所以是抓不到简书的数据的。你可以参考这篇文章
        http://blog.itpub.net/15480802/viewspace-1340982/
        c066fe49abc4:@hrscy 尴尬,还想说看看它的文章详情页是咋样的。是不是一个html链接,直接用webView加载的呢,不知道你之前抓取的时候有没有留意:joy:
        hrscy:@流年经影 好像是的。。
      • e50ba1a5c8e4:照着你的配置了,https的报500错误,请问应该怎么弄呢
        hrscy:@zyy_c0bf 有些 https 是访问不了的
      • f48ab9e63152:装了没用, 我们用的双向认证,有pem,key文件 我看charles要上传p12文件 请问楼主有知晓吗
        hrscy:@orli_xdx 这个就不太清楚了。。
      • 苜蓿鬼仙:为啥抓取的简书和今日头条的数据,charles 左侧区域显示的都是 加密类型的
        hrscy:@苜蓿鬼仙 还有 SSL Proxying Setting
        hrscy:@苜蓿鬼仙 证书配置好了么?
      • bullgogo:你好,我根据您提供的方式完成设置后可以抓取到大部分APP的https数据,唯独智联招聘APP就直接上不了网了,请问可能是什么原因您知道吗?
        f48ab9e63152:@zyc_glboy 要上传密钥文件p12
        hrscy:@zyc_glboy 这个不太清楚
        bullgogo:我刚刚查到是设置了https的双向验证所以就会有我提到的问题,你知道怎么破吗?
      • 小白猿:下载手机证书的时候,ip是乱码的 fe80:0:0:0:47c:9910:ee06:b788%4:8888 ,请怎怎么解决
      • AllenKin:为什么我的显示证书不存在
      • Yokooll:参数怎么看
        hrscy:@Yokooll Overview里的 URL 就是完整的请求
        Yokooll:@hrscy 就是请求参数啊
        hrscy:@Yokooll 什么参数?
      • 71b804d7b49c:You may need to configure your browser or application to trust the Charles Root Certificate. See SSL Proxying in the Help menu.
        抓包取appstore的数据全部是报这个错误,请问大神这个改怎么配置呢?
        hrscy:@71b804d7b49c 你可以试试这个工具哦 http://www.jianshu.com/p/411268c7bb61
        71b804d7b49c:按照教程设置之后,很多其他的https的抓包都是正常的,唯独appstore的不行
      • 王仁洁:可是我这还是unknown,https红叉叉,还是没法看到返回的数据
      • CoderSJun:按照方法配置 还是抓不到数据 返回的结果是一个❎+<unkonw> 楼主知道是什么原因吗?
        宋鸿康iOS:@CoderSJun 6
        CoderSJun:@没故事的宋同学 通用->关于本机->证书信任设置->CA勾选 这样就有数据了
        宋鸿康iOS:问题一样,解决了么?
      • RadioWaves:不错的东西,用到了
      • Dadada胖子:你好,在模拟器上安装好证书后,这个证书是安装在什么地方的呢?找了半天,只找到关闭ssl证书的操作,但是安装位置没找到
        hrscy:@Dadada胖子 设置->通用->描述文件
      • Jovins:你好,有chales安装包地址吗?
      • RoboyCore:请问楼主,Charles没有response和request怎么办,这种情况下如何处理呢
      • RusionWayne:就喜欢这样的教程,成功了 :+1:
      • 男儿心:问下,是不是所有的https的加密都能抓到?如果是特殊处理的是不是就看不到了,我这显示乱码或者红色的❌
      • 苏村的南哥:版本有点低了
      • 苏村的南哥:一直在用。 :smile:
      • 有梦想de咸鱼:楼主,好像手机不能弹出证书安装了
      • 简闻:获得json数据后,url的参数从哪里看?
      • 能量熊:楼主你是怎么知道这些api的地址的?还有参数什么的?哪里有?
        hrscy:@能量熊 抓取的
      • 1963bdf31aec:我之前在这个地方遇到了很多困惑,非常感谢
        hrscy:@芦苇先生Y :smile:
      • junhc:报错如下
        No request was made. Possibly the SSL certificate was rejected.

        You may need to configure your browser or application to trust the Charles Root Certificate. See SSL Proxying in the Help menu.

        两个证书我都装了..
        hrscy:@junhc 可能是你的证书配置有问题,或者是运行的时候没有信任这次请求,比如你点击了 delay
      • 喵鸢: :joy: 太nice了!!关注ing
        喵鸢:@hrscy 大神快开车吧
        hrscy:@喵鸢 上车。:joy:
      • Windream:好用
      • 071a958d5815:喜欢
        hrscy:@071a958d5815 谢谢:smile:
      • 郭大侠smile:i like u so much , 我也在抓简书的包
      • 郑明明:很早之前有这个软件,但是没怎么用 :no_mouth:
        hrscy:@nineteen__ 我也是最近才用的这款软件,主要是想抓取一些网络数据,仿别人的 app来练手的,😄
      • 郑明明:又来读干货了
      • LeoYe168:就是没破解版,老是自动退,烦
        hrscy:@LeoYe168 百度一下就有了
      • 薛定谔的熊:嘀,终身免费卡
        hrscy:@薛定谔的熊 :stuck_out_tongue_closed_eyes:
      • xshenpan:滴,特种免费卡😂
        hrscy:@xshenpan :stuck_out_tongue_closed_eyes:
      • sws1314:楼主,我想问问你,后面的“如下图,勾选Enable SSL Proxying,点击添加,弹出下面的对话框,Host 表示你要抓取的 ip 地址或是链接,Port 填写 443 即可:" 那个地址是可以不填或者乱填的?如果说要填真实的,怎么获取这个链接?
        sws1314:@hrscy如果我抓取微信的,怎么获取那个链接地址?
        hrscy:@shiwensong 443端口即网页浏览端口,主要是用于HTTPS服务
        hrscy:@shiwensong 地址也是必填的,你想抓取哪个链接的数据,就填那个链接就可以了
      • a786610f8789:66666666
        hrscy:@仲夏夜迷离 :heart_eyes:
      • Ryan文濤:滴,学生卡
      • 丶小六丶:You may need to configure your browser or application to trust the Charles Root Certificate. See SSL Proxying in the Help menu. 我的提示这个错误,我在钥匙串里已经信任了呢
        hrscy:@丶小六丶 手机或者模拟器上也配置了么?
        丶小六丶:@hrscy 配置了
        hrscy:@丶小六丶 根证书配置好了么
      • ec396e2c6909:滴 老年免费卡 :sweat_smile:
        hrscy:@弈iOS 😱
      • BB区块链开发:嘟嘟
        hrscy:@aFvbJY2QYo 上车请刷卡

      本文标题:使用 Charles 获取 https 的数据

      本文链接:https://www.haomeiwen.com/subject/rjpedttx.html