利用Charles抓取数据详细流程

好久没用花瓶了, 今天正好有机会抓取数据回顾下.


1.0 扫盲

// 抓包用的:使用参考
http://www.cocoachina.com/ios/20180730/24360.html

1.1 模拟慢速

Proxy—>Throttle Settings—>勾选Enable Throtting

1.2 抓iPhone 的包

—> 抓http

  • 1. 电脑上,Charles打开代理功能:
    Proxy—>Proxy Settings—>Proxies—>勾选 【Enable transparent HTTP proxying】

  • 2. 电脑上,Charles获取本地IP地址
    Help—>Local IP Address

  • 3. 手机连wifi(和电脑处于同一wifi下),在wifi详情中配置HTTP代理
    设置—>无线局域网—>当前wifi 点击感叹号—>最底下【配置代理】—>手动->输入电脑ip和端口

  • 4. 电脑端点【Allow】
    手机发起请求时,Charles会弹窗,请点【Allow】

—> 抓https

  • 1. 电脑上,查看证书安装地址
    Proxy—>Proxy Settings—>Install Charles Root Certificate on a Mobile Device or Remote Browse

  • 2. 手机上,输入电脑弹框中的地址,下载并信任该证书

1.3 查找 bug

当然, Charles并不仅仅只是用来抓取数据学习这么简单,对于程序媛程序猿们来说, 我们也可以利用它来查找 bug.

主要流程:
1.下载安装Charles
2.配置 Charles 根证书
3.在移动设备上配置证书
4.开始抓取数据

Step1. 下载安装Charles

这里我使用的 Charles 是 v4.0.2,安装包可自行百度下载.
当出现双击安装失败情况, 如下图:

双击安装失败

则需要更改电脑配置:安全性与隐私里的通用改成任何来源.
但是可能没有这个任何来源选项, 这个时候需要在终端输入这行命令行即可.

sudo spctl --master-disable
任何来源

打开 Charles, 展示主页面:

Step2. 配置 Charles 根证书

打开Charles配置按照下图操作:

接着会弹出钥匙串,这个时候根证书还是不被信任的.如下图:

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

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

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

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

选择完成后, 会弹出一个电脑IP地址及端口的提示框,如下图:

提示框

如果我们不小心关掉没注意的话, 也可以在网络中找到, 如下图:

进入手机网络设置界面填写:

接着安装上所需要抓取数据的 APP, 如果弹框是未受信任的企业级开发者, 我们则需要通用-设备管理里验证信任就好

若是App Store 的 APP 则需要打开手机的浏览器,输入charlesproxy.com/getssl会弹出如下界面:

点击安装成功后,则为下图:

Step4. 开始抓取数据

如果当前界面还是没有获取到 https 的数据,我们在 Charles 的SSL Proxy Setting,如下图操作:

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

设置完成后,就可以抓取数据了.

至此, 就可以测试喽.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 在说HTTPS之前先说说什么是HTTP,HTTP就是我们平时浏览网页时候使用的一种协议。HTTP协议传输的数...
    布丁大人阅读 2,660评论 2 14
  • 如何使用Charles抓取HTTPS 前言: app测试,有时需要了解客户端和服务器之间的http或https的通...
    符号L阅读 14,395评论 0 8
  • 工作中会需要对一些有价值的网页、应用进行数据采集,那么采集前我们会对数据结构进行解析,因最近想采集一款APP的数据...
    嗖嗖説阅读 5,186评论 2 7
  • Charles简介 Charles 是在 Mac 下常用的网络封包截取工具,在做移动开发时,我们为了调试与服务器端...
    Chris_js阅读 3,533评论 0 3
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,269评论 25 708