Android修炼系列,图解抓包和弱网测试
本节主要介绍下,如何使用 Charles 进行抓包和模拟弱网环境测试。Charles 能够帮助我们查看设备和 Internet 之间的所有 HTTP 和 SSL/HTTPS 通信,这包括请求、响应和 HTTP 头。
HTTP代理
我们要保证手机设备和电脑在一个局域网下,这点要注意。
安装完 Charles 软件后,首先要进行 HTTP 代理设置,默认端口号:8888
接着查看电脑 IP,将手机 WIFI 网络选项也进行代理设置。通常步骤为 WIFI 高级选项 -> 代理手动 -> 输入IP与端口 -> 保存。如本例中将安卓设备的 WIFI 代理设置为 192.168.0.110
随后会有连接成功的提示,点击允许。
Allow 之后,我们就进入抓包界面了。请求信息会在界面的左侧展示。但是通过下图也能发现,https 的请求抓包乱码。
针对HTTPS乱码的问题,我们需要设置 HTTPS 代理。
HTTPS 代理
要抓取 https 的接口的请求信息,那么 Charles 需要在电脑端安装证书。
在电脑如下目录下,我们双击安装证书,并信任。
证书安装完毕,Charles 还需要进行 SSL 代理配置。
其中 Charles 的 Location 配置是支持通配符的,如不需要抓取特定域名,我们可直接填写 * 。Host的配置,ssl port 常规为 443。
配置好SSL代理之后,我们同样需要给待测试手机安装证书,下证书载地址可通过如下方式查看。
通过下图,我们知下载地址:chls.pro/ssl 我们打开手机浏览器,输入该地址下载手机证书。随后安装,并信任
当我们操作完毕之后,我们就能抓取部分 HTTPS 的请求了。我实际测试有些 HTTPS 请求还是没办法脱码的。
网速配置
弱网环境测试就简单多了,在说之前,我们先来看下 Charles 工具栏中提供的快捷按钮:
-
清除捕获到的所有请求
-
红点状态说明正在捕获请求,灰色状态说明目前没有捕获请求。
-
停止SSL代理
-
灰色状态说明是没有开启网速节流,绿色状态说明开启了网速节流。
-
灰色状态说明是没有开启断点,红色状态说明开启了断点。
-
编辑修改请求,点击之后可以修改请求的内容。
-
重复发送请求,点击之后选中的请求会被再次发送。
-
验证选中的请求的响应。
-
常用功能,包含了 Tools 菜单中的常用功能。
-
常用设置,包含了 Proxy 菜单中的常用设置。
这里的小乌龟图标就是我们所需要的啦。
当然我们也可通过 Throttle Setting 来进行节流控制。其包括 Bandwidth:带宽、Utilistation:利用百分比、Round-trip:往返延迟、MTU:字节。这里选择 BandWidth(带宽)复选框来开启限速。
好了,本文到此就结束了。知识无涯,勿焦虑。