前端分析工具之 Charles 录制 Android/IOS 手机的 https 应用

简介: 【2月更文挑战第21天】前端分析工具之 Charles 录制 Android/IOS 手机的 https 应用

一、前言

image.png

说起前端分析工具,我翻来翻去。把 Chrome/Safari/Firefox/IE....的性能工具翻了一个遍,真是觉得工具五花八门,但是.....

原理没变。

想着也该写个公众号文章了,以让别人知道我在干什么。可是写什么主题呢?

http1.1/2.0 协议下的性能分析? 看话题就觉得没啥观众。

浏览器不同内核对前端处理的逻辑?会有人问:啥是内核?感觉很受伤。

............

并且从历史上的文章来看,一步步基础操作的文章比较受欢迎。所以有了写这篇文章的想法。

我在整理前端工具的时候,发现 charles 工具还不错,虽说是收费的工具,但是支持的平台挺多。

但是在网上看到挺多文章说 charles 录制 https 的时候,都没有把录制 android/IOS 上的 https 应用写的非常清楚。在这里一步步写出来给大家参考下。

正文从这里开始。

二、环境

  • macOS Sierra Version 10.12.6

  • Charles 4.2.5

  • iphone Version 9.1(不同版本有稍微的区别,只要能找到相应配置即可)

  • 华为EMUI Version 5.0.3 / Android Version 7.0

三、代理配置

1.首先打开Charles,主界面如下。

image.png

2.查看下代理配置。点 Proxy Setting...。同时把录制按钮点亮(其实默认就是亮的)

image.png

这个端口要记住,默认是 8888。
image.png

3.安装Charles自己的根证书。点击 Help> SSL Proxying > Install Charles Root Certificate

image.png

4.查看下 keychain 中的 Charles 证书是否始终信任。

image.png

5.保存Charles的根证书。点击 Help > SSL Proxying > Save Charles Root Certificate。(保存到哪里不用我说了吧?要一定要说的话,那就是随你的便!)

image.png

6.查看下本地 IP。点击 Help > Local IP Address
image.png

以上都是电脑上的准备工作,下面开始配置手机。因为 IOS 和 Android 的配置有不同,所以这里,分成两部分写。

四、IOS 配置

1.点开 wifi 的信息界面,并点击“手动”配置代理服务器。这里的 IP 就是前面看到的 IP,端口是前面配置的端口。
image.png

2.在手机上配置了上一步之后,在电脑上会出现如下提示。这肯定是点 Allow 了。
image.png

3.在手机上输入一个https的网址时会出现如下提示。点击信任。 这一步还有另一个方法,就是点击设置->通用->关于本机->证书信任设置-> 找到 charles proxy custom root certificate,然后开启信任。
image.png

4.在手机上打开 https 的页面。在电脑上查看录制效果。上边是电脑上 Charles 的录制结果;下边是手机上的打开的页面。
image.png
image.png

五、Android 配置

1.在手机上配置代理。怎么找到如下这个页面的呢?要在 wifi 的连接上按住不动,出现个菜单,然后点击 Modify network,并且在新窗口中点击 Show advanced options。
image.png

2.在手机上配置了上一步之后,在电脑上会出现如下提示。这肯定是点 Allow 了。
image.png

3.在手机上安装证书。
3.1.把保存的根证书文件传到手机上。(我是用微信的文件传输助手传的,你想用什么就随便了,前提是你能找得到文件保存在哪里了。)
3.2.点击 Install from SD card,找到证书文件(下面右图最上面的一个文件)。
image.png
image.png

3.3.输入屏保密码和证书名。我知道这里会有人问,为啥这一步要用拍的图,而不是截的图呢?哈哈。这就是因为呀,手机上不允许在这一步直接用截图功能!

image.png
image.png

4.在手机上打开 https 的页面。在电脑上查看录制效果。 上边是电脑上 Charles 的录制结果;下边是手机上的打开的页面。
image.png
image.png

正文至此完。

六、小结

在这个没有讲虚幻的原理和逻辑的文章中,一步步的操作是不是让你有很脚踏实地的感觉?其实我强忍着没有写 charles 的抓包原理和逻辑(其实就一个 proxy,有啥好讲的呢)。

这样的抓包过程,并不是原理有多复杂,而是逻辑有点绕(不是操作上感觉逻辑绕,而是解释逻辑起来有点绕),点开了也不难懂,就是网络中的数据包是怎么走的。只要明白这一点,管它是什么手机,管他是什么系统在运行类似这样的抓包工具,都是可以配置得出来的。

目录
相关文章
|
9月前
|
运维 前端开发 JavaScript
前端埋点校验工具:数据驱动的最后一道防线
数据埋点是企业决策的关键基础,但常面临覆盖率低、数据不准和故障难排查三大难题。本文深入剖析了这些问题的成因与影响,并提出“三维校验矩阵”解决方案:提升覆盖率至99.8%、降低错误率至0.3%、提速故障定位5倍。同时对比Split.io、Tealium、Sentry、板栗看板等工具优劣,为企业选型提供参考。迈向高质量数据治理,从精准埋点开始。
|
9月前
|
Java API 数据安全/隐私保护
手机无人直播手机用啥软件,抖音快手无人直播工具,jar代码分享
这个无人直播系统包含视频处理、直播推流和自动化控制三个核心模块。使用mvn package命
|
10月前
|
API 定位技术 Python
高德商家手机电话号码采集工具,可采集地址坐标手机号码提取软件
这是一套基于高德地图API的商家信息采集解决方案,提供核心代码与功能实现。通过高德Place API,合法合规地批量采集商家基础信息
|
8月前
|
安全 数据挖掘 Android开发
Cellebrite UFED 4PC 7.72 (Windows) - Android 和 iOS 移动设备取证软件
Cellebrite UFED 4PC 7.72 (Windows) - Android 和 iOS 移动设备取证软件
559 2
Cellebrite UFED 4PC 7.72 (Windows) - Android 和 iOS 移动设备取证软件
|
9月前
|
API 数据安全/隐私保护 Python
批量发短信的软件,自动群发短信批量工具,手机号电话生成脚本插件【python】
该工具包含三个核心模块:短信发送核心功能、配置管理系统和命令行界面。使用时需先配置API密钥和短信模板
|
12月前
|
前端开发 搜索推荐 JavaScript
如何通过DIY.JS快速构建出一个DIY手机壳、T恤的应用?
DIY.JS 是一款基于原生 Canvas 的业务级图形库,专注于商品定制的图形交互功能,帮助开发者轻松实现个性化设计。适用于 T 恤、手机壳等多种商品场景。它自带丰富功能,无需从零构建,快速集成到项目中。通过创建舞台、添加模型、定义 DIY 区域和添加素材四个步骤即可完成基础用法。支持在线演示体验,文档详细,易上手。
559 57
|
9月前
|
前端开发 数据安全/隐私保护
股票持仓截图生成器手机版, 股票持仓图生成器免费,交割单生成器制作工具
代码实现了一个完整的股票持仓截图生成器,包含数据模拟、表格绘制、汇总计算和水印添加功能。
2018 10
|
9月前
|
存储 Android开发 数据安全/隐私保护
Thanox安卓系统增加工具下载,管理、阻止、限制后台每个APP运行情况
Thanox是一款Android系统管理工具,专注于权限、后台启动及运行管理。支持应用冻结、系统优化、UI自定义和模块管理,基于Xposed框架开发,安全可靠且开源免费,兼容Android 6.0及以上版本。
1115 4
|
10月前
|
数据采集 JSON 数据可视化
高德地图百度腾讯谷歌采集工具,可提取名称 地址 电话 手机号,精准autojs版下载
这是一款基于Auto.js开发的地图商家信息采集工具,支持高德、百度、腾讯和谷歌四大地图平台的数据抓取。可提取商家名称、地址、电话等关键信息
|
10月前
|
存储 数据采集 文字识别
美团商家电话采集工具,可提取美团商户联系方式、地址、手机号、评分【autojs脚本版】
这是一款基于安卓无障碍服务的美团商家数据采集工具,包含主流程控制、页面解析、电话提取和工具函数四大模块。通过控件层级定位与OCR技术实现数据抓取,支持自动翻页及异常处理,最终以CSV格式存储结果。
下一篇
开通oss服务