在App开发与后台联调过程中,经常会遇到后台数据返回不全,请求参数需要修改,请求需要重发等情况。
如果每次都在app端修改,或者自己造数据,会增加工作量,而且每次要重新运行app,浪费时间。
因此,经过研究,可以使用抓包工具charles,对app进行抓包,请求断点,修改请求与返回的数据,重新发送请求。
简单的抓包流程与charels设置这里不做过多介绍,这里举例子使用的是charles4.1.
首先看,主要的按钮介绍:

①重新发送指定请求:
在发送一次请求后,在左边列表选中该请求,点击如上图所示重新发送按钮即可模拟请求。
②请求断点:
点击如上图请求断点按钮,开启请求断点。进行过网络请求后,选中该请求,右键,点击breakPoint,设置该请求的断点。
断点设置成功,页面处于loading状态

然后再进行一次该地址的请求,便可在断点处修改请求参数与返回的参数。


第三步,点击Execute后,等数据返回进行修改response的数据,再次点击Execute,即可实现篡改返回数据来进行app的测试,eg:修改订单状态等。

转手机的包的步骤:
如果是使用charles抓包。一定要tm的保证手机和电脑连的是一个网。
1、proxy setting,查看charles,端口

2, 勾选

3、ipconfig,查看自己电脑的ip地址
4、手机通过设置http代理服务器,连接到电脑服务器输入电脑的ip端口和charles的端口一致,

5、此时charles会给出提示。有新的连接。点击allow
6、连接成功,此时手机发送的内容,charles可以抓到。
Charles安装和抓包及报错
1.charles安装
下载charles4.0.1破解版,官方下载只能试用30天。网盘下载地址:https://pan.baidu.com/s/1eSwwvo2。(里面包括.dmg(用于安装)和.jar文件(用于破解))破解方法:在Finder的应用程序中找到Charles.app,右键选择“显示包内容”,之后进入Contents文件夹,接着进入Java文件夹,用破解文件(也就是jar文件)替换charles.jar文件。到此就破解了。

2.安装证书如果你需要截取分析 Https 协议相关的内容。那么需要安装 Charles 的 CA 证书。具体步骤如下。我们需要在 Mac 电脑上安装证书。点击 Charles 的顶部菜单,选择 “Help” –> “SSL Proxying” –> “Install Charles Root Certificate”,然后输入系统的帐号密码,即可在 KeyChain 看到添加好的证书。如下图:
3.设置charles要截取 iPhone 上的网络请求,我们首先需要将 Charles 的代理功能打开。在 Charles 的菜单栏上选择 “Proxy”–>“Proxy Settings”,填入代理端口 8888,并且勾上 “Enable transparent HTTP proxying” 就完成了在 Charles 上的设置。如下图:

4.iPhone上面的设置。

首先我们需要获取 Charles 运行所在电脑的 IP 地址,Charles 的顶部菜单的 “Help”–>“Local IP Address”,即可在弹出的对话框中看到 IP 地址,如下图:在 iPhone 的 “ 设置 ”–>“ 无线局域网 ” 中,可以看到当前连接的 wifi 名,通过点击右边的详情键,可以看到当前连接上的 wifi 的详细信息,包括 IP 地址,子网掩码等信息。在其最底部有“HTTP 代理”一项,我们将其切换成手动,然后填上 Charles 运行所在的电脑的 IP,以及端口号 8888(若此时设置代理无效,则先忽略此网络,重新连接后再设置代理即可)。如下图:

5.安装手机证书

如果我们需要在 iOS 或 Android 机器上截取 Https 协议的通讯内容,还需要在手机上安装相应的证书。点击 Charles 的顶部菜单,选择 “Help” –> “SSL Proxying” –> “Install Charles Root Certificate on a Mobile Device or Remote Browser”,然后就可以看到 Charles 弹出的简单的安装教程。

在手机safari上面输入:chls.pro/ssl,安装文件。
通常这样就可以进行网络抓包了。但是这只是仅仅针对http请求。如果要抓取https请求,则还需要做第6步。我们先来看看没有做第6步的情况。对一个接口打上Breakpoints。在进行网络截取的时候会发现一直报错。
[图片上传失败...(image-7e93df-1543905814512)]
网友评论