文章目录

  • 一、电脑安装charles 根证书
  • 二、手机端配置(ios)
  • 1、现在电脑端端口号
  • 2、设置手动HTTP代理
  • 3、虽然已经可以抓取移动设备的包了,但是https的还抓取不到,接下来要在目前使用的移动设备上安装证书
  • 4、 proxy -> SSL Proxy Settings 弹出一个 ssl代理设置界面
  • 三、手机端配置(安卓-以华为为例)
  • 1、浏览器输入地址后,弹出如图提醒,给证明命名安装
  • 2、在手机查看是否看着成功
  • 四、常用设置
  • 1、抓取指定路径
  • 2、设置可访问IP
  • 3、伪请求
  • 4、伪响应
  • 5、弱网测试
  • 6、rewrite
  • 7、remote


一、电脑安装charles 根证书

换了个ios手机 charles抓包抓不到 charles抓包安卓10_手机端


换了个ios手机 charles抓包抓不到 charles抓包安卓10_测试环境_02

二、手机端配置(ios)

1、现在电脑端端口号

换了个ios手机 charles抓包抓不到 charles抓包安卓10_手机端_03

2、设置手动HTTP代理

换了个ios手机 charles抓包抓不到 charles抓包安卓10_移动设备_04

以上设定完成后,就可以charles中捕获手机请求了,第一次连接的时候charles会弹出确认提示框,选择 allow 就好了,后续可在 proxy -> access control settings 中进行管理:

换了个ios手机 charles抓包抓不到 charles抓包安卓10_测试环境_05

3、虽然已经可以抓取移动设备的包了,但是https的还抓取不到,接下来要在目前使用的移动设备上安装证书

换了个ios手机 charles抓包抓不到 charles抓包安卓10_手机端_06

打开浏览器 输入该网址:chls.pro/ssl

换了个ios手机 charles抓包抓不到 charles抓包安卓10_测试环境_07


换了个ios手机 charles抓包抓不到 charles抓包安卓10_移动设备_08

4、 proxy -> SSL Proxy Settings 弹出一个 ssl代理设置界面

换了个ios手机 charles抓包抓不到 charles抓包安卓10_移动设备_09


然后就可以抓包了

三、手机端配置(安卓-以华为为例)

除了手机安装证书的位置不一样,其他的都有iOS相同

1、浏览器输入地址后,弹出如图提醒,给证明命名安装

换了个ios手机 charles抓包抓不到 charles抓包安卓10_测试环境_10

2、在手机查看是否看着成功

换了个ios手机 charles抓包抓不到 charles抓包安卓10_测试环境_11


如果没有安装成功,可以手动选择在从设备存储安装。

然后就可以抓包了。

四、常用设置

1、抓取指定路径

换了个ios手机 charles抓包抓不到 charles抓包安卓10_测试环境_12

2、设置可访问IP

换了个ios手机 charles抓包抓不到 charles抓包安卓10_移动设备_13

3、伪请求
  • 1、对要进行伪请求的接口进行断点

然后重复访问,Charles会弹出如图

换了个ios手机 charles抓包抓不到 charles抓包安卓10_测试环境_14

4、伪响应
  • 1、第一步和伪请求一样,找到要进行伪响应的接口,进到断点
  • 2、断点后重复访问,Charles会弹出如图
5、弱网测试
  • 1、首先,打开Charles,在Throttle Settings中设置网络状况
  • 换了个ios手机 charles抓包抓不到 charles抓包安卓10_移动设备_15

  • 2、根据需要进行网络设置后就可以进行测试了
6、rewrite

在Charles中可以通过打断点的方式来修改请求和响应的数据,但是如果要修改某个请求的数据并且希望后面遇到这个请求也使用修改后的,那么打断点的方式就比较麻烦了,要一个一个去修改,而且有的请求的超时时间比较快,还没修改完就直接结束了。此时,就需要批量的去修改这些数据了。此时可以使用Charles中的rewrite的功能。
rewrite是重写对应的内容,具体使用如下:

  • 1、点击tools–>Rewrite
  • 换了个ios手机 charles抓包抓不到 charles抓包安卓10_测试环境_16


  • 换了个ios手机 charles抓包抓不到 charles抓包安卓10_测试环境_17

  • 2、填写请求信息
  • 换了个ios手机 charles抓包抓不到 charles抓包安卓10_移动设备_18

  • 3、填写规则
  • 换了个ios手机 charles抓包抓不到 charles抓包安卓10_手机端_19

7、remote

Charles 的Map 功能分Map Remote 和Map Local 两种,顾名思义,Map Remote 是将指定的网络请求重定向到另一个网址,Map Local 是将指定的网络请求重定向到本地文件。
Map Remote 使用场景,app或者PC&M站某个需求刚提测阶段,新接口A在测试环境有,还有一种极端情况,接口只在开发本地机器提供(无线底层很多接口不维护测试环境),线上环境A接口还未上线,通常的做法是:

1.APP测试包打包时候写死(这种只能开发本地打包,不能使用jenkins打的包);M站或者网站在配置文件写死请求地址(各种改配置很麻烦)
2.app全部切换到A接口所在的测试环境,比如sit环境(这种情况下,所有接口都走sit环境,不保证其他接口正常)

类型:

1可以将目录映射到目录

2可以将文件映射到文件

3可以将目录与文件模式映射到目录

4如果在目标映射中未指定路径,则URL的路径部分将不会更改。如果要映射到根目录,请在目标路径字段中用 / 这个符号来结尾;

换了个ios手机 charles抓包抓不到 charles抓包安卓10_移动设备_20