charles抓包-ios-安卓

本文介绍了Charles抓包工具的使用方法。包括电脑安装Charles根证书,手机端(iOS和安卓)的配置步骤,如设置代理、安装证书等。还阐述了常用设置,如抓取指定路径、设置可访问IP、伪请求、伪响应、弱网测试、rewrite和remote等功能的操作方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、电脑安装charles 根证书

在这里插入图片描述
在这里插入图片描述

二、手机端配置(ios)

1、现在电脑端端口号

在这里插入图片描述

2、设置手动HTTP代理

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

打开浏览器 输入该网址:chls.pro/ssl
在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述
然后就可以抓包了

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

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

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

在这里插入图片描述

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

在这里插入图片描述
如果没有安装成功,可以手动选择在从设备存储安装。
然后就可以抓包了。

四、常用设置

1、抓取指定路径

在这里插入图片描述

2、设置可访问IP

在这里插入图片描述

3、伪请求
  • 1、对要进行伪请求的接口进行断点
    在这里插入图片描述

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

4、伪响应
  • 1、第一步和伪请求一样,找到要进行伪响应的接口,进到断点
  • 2、断点后重复访问,Charles会弹出如图
    在这里插入图片描述
    在这里插入图片描述
5、弱网测试
  • 1、首先,打开Charles,在Throttle Settings中设置网络状况
    在这里插入图片描述

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

6、rewrite

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

  • 1、点击tools–>Rewrite
    在这里插入图片描述
    在这里插入图片描述

  • 2、填写请求信息
    在这里插入图片描述

  • 3、填写规则
    在这里插入图片描述

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

在这里插入图片描述
remote参考:参考博客地址

### 如何使用Charles进行AndroidiOS平台的抓包操作 #### 安卓设备上的Charles抓包配置 对于安卓设备,在设置Charles用于HTTPS抓包前,需确保已安装并信任Charles证书。具体步骤如下: - 将电脑与安卓设备连接至同一Wi-Fi网络。 - 打开Charles软件,进入`Proxy`选项卡下的`Proxy Settings...`,记录下代理服务器地址(通常是本机IP)以及端口号8888[^4]。 接着,在安卓设备浏览器输入http://chls.pro/ssl下载CA证书文件,并按照提示完成安装过程;随后前往无线网络设置页面手动指定HTTP代理为上述获取到的信息。 最后一步是在Charles内开启SSL代理功能:依次点击`Proxy -> SSL Proxying Settings…`,勾选`Enable SSL Proxying`,并将需要监控的应用域名添加进去。 ```bash # 设置完成后可以尝试访问网页测试是否成功拦截流量 curl http://example.com -x http://<your_computer_ip>:8888 ``` #### iOS设备上的Charles抓包配置 针对iOS设备而言,同样要先让移动终端能够识别来自Charles发出的数据流。这涉及到几个重要环节: - 同样保持iOS装置跟运行着Charles程序的工作站处于相同局域网环境之中; - 利用Safari浏览器加载特定链接以取得根证书(.cer),之后通过邮件发送给自己以便导入系统受信认证机构列表里[^3]。 另外值得注意的是,自iOS 10以后版本加强了ATS(App Transport Security)安全机制,因此可能还需要调整应用内部的安全策略来允许不受限地传输数据给非TLS加密站点[^1]。 当一切准备就绪后,参照之前提到的方法激活SSL解密特性即可正常开展后续工作流程[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值