Charles配合手机模拟器抓取APP数据包教程

news/2024/10/31 5:29:23/

本教程演示在Mac OS Monterey 12.2.1版本的操作系统上,使用的Charles的版本是1.9.56,模拟器为网易MuMu模拟器,版本号4.6.2

Charles的设置

相关软件的安装此处不再展开描述,正常来说,安装Charles和MuMu模拟器(大家也可以选用自己熟悉的模拟器)的过程是比较顺利的,如果安装过程遇到困难,可以自行搜索错误信息解决。软件安装好之后,打开Charles,并依次选择Proxy -> macOS Proxy,这时Charles就会监听电脑的所有网络请求,用浏览器随便访问几个网站,会看到如下图所示的界面。
Charles抓包界面

区域①显示了不同的请求地址的数据包,点击区域②的按钮可用于清除区域①的内容,点击区域③的按钮可用于控制开始抓包和暂停抓包,点击区域④的按钮可用于开始和暂停SSL代理。

我们注意到,区域①中的每一个网址都是被折叠起来了,随便展开某个网址,然后点击其中的某条数据(也就是一次网络请求),可以在右部看到这个请求的详细信息,如下图所示。
在这里插入图片描述

在上图中我们好像看到了一个不太友好的标志,在https://csdning.cn这个域名下的三个网络请求都是一个红色的❌,后面跟着<unknown>。这时如果用浏览器访问csdn的官网的话,正常情况下是访问不了的,它会提示你连接是不安全的,这是因为Charles默认只能代理http类型的请求,而对csdn的访问是https类型的,因此这种访问会被禁止。

上述问题的解决方案是安装CA证书。在Charles中,依次点击Help -> SSL Proxying -> Install Charles Root Certificate,如下图所示。
在这里插入图片描述

现在我们可以在Certificates中看到Charles代理,默认它是不被信任的,如下图所示。
在这里插入图片描述

双击Charles的证书,会弹出一个新的窗口,将这个窗口Trust下的所有选项都设为Always Trust,如下图所示。
在这里插入图片描述
证书设置完毕之后,再确认一下自己的代理设置是否正确。依次点击Proxy -> Proxy Settings,然后设置代理的端口,默认为8888(需要保证这个端口没有被其它应用程序占用),并且勾选Support HTTP/2Enable transparent HTTP proxying选项,如下图所示。
在这里插入图片描述

通过上面的设置,Charles应该已经可以抓到http请求的数据包了,但如果想要抓取https的数据包,还需要进一步的设置。依次选择Proxy -> SSL Proxying Settings,在弹出的窗口中勾选Enable SSL Proxying选项,并在Include中添加要抓取哪些HostPort的网络请求,如果不是百分百的确定,可以将这两项都设置为*,表示抓取所有的数据流,如下图所示。
在这里插入图片描述

现在我们回到Charles的主界面中,为了美观起见,先点一下区域②的清除按钮,将之前抓到的包都清除一下。然后再用浏览器访问csdn官网,如果之前都配置正确的话,此时就已经可以正常访问了,Charles抓到的包如下图所示。
在这里插入图片描述

如果抓取某个地址的数据流有问题,那么可以通过Notes选项卡来查看提示信息。假如我没有进行SSL Proxying Settings这一步,那么浏览器可以正常上网,但是Chales却不能正常抓取数据包。比如访问https://www.baidu.com,会发现抓取到的数据名称为<unknown>,在Overview选项卡中有Notes信息,当然也可以点击单独的Notes选项卡来查看相关信息,如下图所示。

在这里插入图片描述

Notes给出的信息中,已经很明确的告诉我们了,对当前访问的host,SSL代理不可用,你可以在代理设置中激活SSL代理,并且设置需要走代理的host。

模拟器的设置

到目前为止,Charles已经可以在电脑上抓包了,但我们的最终目的是抓取手机APP上的数据包,因此还需要继续设置。在模拟器中安装Android操作系统时需要注意,因为安卓7.0之后对第三方证书增加了限制,会导致证书不起作用,因此需要安装6.0及以下版本的操作系统。我用于本教程演示的是6.0版本的安卓系统。

回到Charles中,依次选择Help -> SSL Proxying -> Install Charles Root Certiticate on a Mobile Device or Remote Browser,会弹出一个窗口,根据上面的提示信息,去模拟器中做相应的操作。
在这里插入图片描述

首先在模拟器中设置代理,依次点击设置 -> WLAN,然后长按网络名称,会弹出一个窗口,选择此窗口中的修改网络,如下图所示。
在这里插入图片描述

将代理方式设置为手动,代理服务器主机名和端口设置为之前提示信息中显示的114.212.22.2158888,如下图所示。
在这里插入图片描述

保存之后,打开模拟器中的浏览器,访问chls.pro/ssl,此时会在Charles中弹出一个提示窗,询问你是否允许连接,点击Allow。
在这里插入图片描述

如果一切设置正常,现在模拟器中的浏览器会下载安全证书。打开下载的证书,并且给它起个名字,然后点击确定即可完成证书的安装。此时可能会让你设置锁屏密码,按照提示设置即可。
在这里插入图片描述

效果演示

证书安装成功之后,在模拟器的浏览器中看看能不能打开百度首页,如果可以,那么所有的配置就都完成了,如果不可以,那么需要再回到之前的步骤中找原因。
在这里插入图片描述

现在在模拟器中的所有网络请求都能被Charles捕获。首先点一下扫把形状的清除按钮,然后在模拟器的浏览器中访问bilibili.com,在Charles中可以捕获到此过程的数据流。
在这里插入图片描述

到此为止,已经实现了手机APP的抓包操作。关于Charles界面右部的这几个选项卡,即OverviewContentsSummaryChartNotes等的使用,大家可以从网络上搜索其它资料做更进一步的学习。


http://www.ppmy.cn/news/242734.html

相关文章

安卓模拟器哪个流畅好用?安卓模拟器玩手机游戏卡顿怎么办?

最近看到很多玩家在用安卓模拟器玩绝地求生&#xff1a;刺激战场和绝地求生&#xff1a;全军出击的时候非常卡顿延迟。这个一方面和电脑配置有关系&#xff0c;另一方面可能你选择用来电脑上玩手机游戏的安卓模拟器没有对。 所以&#xff0c;用安卓模拟器的玩家大都是电脑配置…

HBuilderX使用手机模拟器进行App开发详解【0基础讲解】

一,前言 众所周知,HBuilderX的功能特别强大,HBuilderX对字处理提供了更崇高的支持。 更强大的多光标、智能双击、选区管理… 让文字处理的效率大幅提升。 二,HBuilderX 还是众所周知,HBuilderX开发app很方便,以mui框架为例子。 我们写好了若干个网页,一个主页面里涉及…

【鸿蒙 HarmonyOS】鸿蒙手机模拟器 ( 鸿蒙远程模拟器 | 鸿蒙远程模拟器运行手机应用 )

文章目录 一、鸿蒙远程模拟器二、鸿蒙远程模拟器运行手机应用 一、鸿蒙远程模拟器 选择 菜单栏 / Tools / HVD Manager , 首次点击 , 会提示下载模拟器相关资源 , 下载完成后可以通过浏览器连接远程模拟器 ; 点击 HVD Manager 后 , 弹出如下对话框 和 浏览器 ; 在弹出的浏览器界…

优秀测试工程师简历要怎么写?为什么连面试都过不了?

目录 前言 简历请用数字化结果不要只是堆砌工作经历 简历一&#xff1a;我的工作内容有&#xff1a; 简历二&#xff1a;我的工作内容有&#xff1a; 千万别小瞧 了解你的过去是判断你未来的最好方式 增加好印象&#xff0c;记住这些小Tips 1&#xff09;了解公司的特点 2&…

android模拟器不玩游戏,安卓模拟器哪个玩游戏最流畅?

市面上的电脑安卓模拟器品牌众多&#xff0c;针对不同的手游也有着不同的优化偏向。在流畅度上&#xff0c;除了对电脑的硬件需要有一定的要求之外&#xff0c;就是模拟器本身是否优化的好。不同的模拟器带给玩家的体验真的是天差地别&#xff0c;本期就从不同的游戏类型&#…

android 模拟器好用哪个,安卓模拟器哪个好用 常用安卓模拟器性能大盘点

[摘要]安卓模拟器看起来就是一个软件程序,但是其所需要的技术含量以及复杂度完全不会比做一个系统差。因此,技术底蕴的差距将在非常大程序上决定产品的质量及未来。 自从Bluestacks发布之后,在电脑上玩手游的安卓模拟器就开始大量涌现,几亿用户的广阔市场让别人遐想连篇。到…

HbuilderX连接手机模拟器实战记录

下载HBuliderX 点击进入HBuilderX 的官网,建议下载开发版. 下载模拟器 这里使用逍遥模拟器,官方下载地址 HBuilder中配置逍遥模拟器 1.工具–设置–运行配置中添加逍遥模拟器安装目录以及端口号,默认端口号:21503 2.adb.exe配置环境变量 adb.exe一般在HbuilderX目录中&…

安卓psp模拟器哪个好_更完美!安卓PSP模拟器PPSSPP 0.9.9发布

【PConline 资讯】最好的安卓PSP模拟器PPSSPP 0.9.9新版发布下载了&#xff01;PPSSPP是最强的PSP模拟器&#xff0c;在PC、安卓和iOS上均有对应版本。笔者曾经简单介绍过PPSSPP安卓版的用法&#xff0c;详情可以点此查看PPSSPP教程。现在&#xff0c;PPSSPP安卓版 0.9.9发布下…