charles抓包-ios-安卓

文章目录

    • 一、电脑安装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 根证书

charles抓包-ios-安卓_第1张图片
charles抓包-ios-安卓_第2张图片

二、手机端配置(ios)

1、现在电脑端端口号

charles抓包-ios-安卓_第3张图片

2、设置手动HTTP代理

charles抓包-ios-安卓_第4张图片

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

charles抓包-ios-安卓_第5张图片

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

charles抓包-ios-安卓_第6张图片

打开浏览器 输入该网址:chls.pro/ssl
charles抓包-ios-安卓_第7张图片
charles抓包-ios-安卓_第8张图片

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

charles抓包-ios-安卓_第9张图片
然后就可以抓包了

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

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

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

charles抓包-ios-安卓_第10张图片

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

charles抓包-ios-安卓_第11张图片
如果没有安装成功,可以手动选择在从设备存储安装。
然后就可以抓包了。

四、常用设置

1、抓取指定路径

charles抓包-ios-安卓_第12张图片

2、设置可访问IP

charles抓包-ios-安卓_第13张图片

3、伪请求

  • 1、对要进行伪请求的接口进行断点
    charles抓包-ios-安卓_第14张图片

然后重复访问,Charles会弹出如图
charles抓包-ios-安卓_第15张图片

4、伪响应

  • 1、第一步和伪请求一样,找到要进行伪响应的接口,进到断点
  • 2、断点后重复访问,Charles会弹出如图
    charles抓包-ios-安卓_第16张图片
    charles抓包-ios-安卓_第17张图片

5、弱网测试

  • 1、首先,打开Charles,在Throttle Settings中设置网络状况
    charles抓包-ios-安卓_第18张图片

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

6、rewrite

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

  • 1、点击tools–>Rewrite
    charles抓包-ios-安卓_第19张图片
    charles抓包-ios-安卓_第20张图片

  • 2、填写请求信息
    charles抓包-ios-安卓_第21张图片

  • 3、填写规则
    charles抓包-ios-安卓_第22张图片

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的路径部分将不会更改。如果要映射到根目录,请在目标路径字段中用 / 这个符号来结尾;

charles抓包-ios-安卓_第23张图片
remote参考:参考博客地址

你可能感兴趣的:(软件测试)