背景介绍
在移动应用开发过程中,抓包是调试网络请求最好的方式,Charles是市面上主流的应用程序抓包工具,在调试IM网络请求结果过程中由于测试环境也是https请求,所以遇到了一些配置问题,本文记录HarmonyOS Next整个网络请求抓包配置。
Charles介绍
Charles 是一款网络调试和分析代理工具,可用于拦截和查看设备与服务器之间的通信。它支持监视应用程序的网络流量、修改请求和响应,以及模拟不同网络条件。主要功能包括:
- 截取http和https网络封包。
- 支持重发网络请求,方便后端调试。
- 支持修改网络请求参数。
- 支持网络请求的截获并动态修改。
- 支持模拟慢速网络。
使用时,需设置应用的请求通过Charles客户端代理转发至服务器,以便在Charles客户端进行抓包。启动Charles后,它会自动与浏览器设置为代理,无需额外配置。通过浏览器发送网络请求时,Charles将直接抓取请求和响应信息。
Charles目前最新版本5.0.1,支持Mac、Windows、Linux系统抓包:
Charles安装
Charles安装地址:https://www.charlesproxy.***/
Charles使用步骤
安装完成后设备代理设置:
-
查看Charles的IP地址,通常与PC主机的IP地址相同。
- Charles的IP地址查看方式:点击Help -> Local IP Address查看。
- 电脑IP地址查看方式:打开“运行”(快捷键:win+R键或者在任务栏的”搜索”按钮中查找并点击”运行”),输入“cmd”后进入命令行窗口,在命令行窗口中输入“ipconfig”命令查看IP。Mac可以在网络设置中获取:
-
设置Charles的调试端口号。
-
点击“Proxy” -> SSL Proxy Settings -> 在Include栏下点击“Add” -> 添加
“*:*”,即Host输入“*”,Port输入“*”,再添加“*:443”,即Host输入“*”,Port输入“443” -> 点击“确定”。
-
点击“Proxy” -> Proxy Settings -> 设置“HTTP Proxy”下的Port(即Charles监听的端口,默认为8888)-> 勾选“Enable transparent HTTP proxying” -> 最后点击“OK”。
- 手机与PC连接同一局域网,Wi-Fi设置为手动代理,服务器主机名和端口为Charles的IP地址和监听端口。
点击需要连接的Wi-Fi进入密码输入页面。在输入密码前,点击“代理”,选择“手动”,设置“代理的服务器主机名”为Charles的IP地址,“服务器端口”为Charles监听的端口,即设置为8888。最后输入密码,连接Wi-Fi。
-
此时已经可以正常抓取http包了,如果想要抓https包,需要继续配置证书。
证书安装
安装Charles根证书到PC信任目录。
点击顶部菜单栏“Help” -> 选择“SSL Proxying” -> 点击“Install Charles Root Certificate” -> 点击“安装证书” -> 设置存储位置(可选择当前用户或本地计算机)后,点击“下一步” -> 选择“将所有证书都放入下列存储” -> 点击“浏览” -> 设置证书存储路径为“受信任的根证书颁发机构”。
双击打开后选择信任,选择始终信任:
导入系统根证书到手机。
方式一:点击 Charles 顶部菜单栏“Help” -> 选择“SSL Proxying” -> 点击“Install Charles Root Certificate on a Mobile Device or Remote Browser” -> 在手机的自带浏览器中访问 http://chls.pro/ssl -> 点击“立即下载”,将证书下载至手机内存中。
方式二:在PC端,点击“Help”->点击“SSL Proxying”->选择“Save Charles Root Certificate…”,将证书保存到本地,格式为pem。将手机连接到电脑,通过DevEco将刚保存的pem文件上传到手机中(鼠标右键点击目标文件夹,选择“Upload…”,然后选择刚保存的pem文件),即可进行后续的证书安装步骤。
证书在手机上的安装步骤如下:
在手机端点击“设置” -> 隐私和安全 -> 下滑点击“高级” -> 选择“证书与凭据” -> 进入证书安装选项 -> 选择“从存储设备安装” -> 点击“CA证书” -> 点击“继续” -> 选择“浏览” -> 找到下载的证书位置 -> 点击证书 -> 弹出“安装证书成功”的提示,则安装成功。
此时就可以正常抓取https网络请求了,如果仍然显示失败,可以重启charles重新抓包。
注意:
- 配置环境时,在Charles弹出的窗口中选择Allow,以确保与手机连接。
- 不支持安装crt格式证书,需转换为pem格式。
总结
本文介绍了HarmonyOS Next下通过charles抓取手机网络请求,包括http以及https,详细介绍了安装ssl证书步骤等。
##鸿蒙核心技术##鸿蒙开发工具##DevEco Studio##
##社交##