当我们需要分析HTTPS请求时,通常情况下,我们通过抓包工具来进行网络请求的截取和分析。而charles正是一种常用的网络抓包工具,大家可以通过设置Charles代理实现抓取Android、iOS等移动端应用请求。下面将详细讲解“基于charles抓取https请求使用过程解析”的完整攻略。
1. 安装Charles及准备环境
首先,我们需要在电脑上安装Charles,然后打开Charles,确保Charles能够接受来自其他设备的请求。具体操作如下:
-
打开Charles,选择菜单栏中的“Proxy” > “External Proxy Settings…”,在弹出的对话框中设置本地网络代理,并勾选“Use HTTP Proxy”选项。
-
在“HTTP Proxy”和“SSL Proxy”中都输入IP地址“127.0.0.1”,端口号选择“8888”。
-
确认设置后,点击“OK”退出对话框。
-
点击Charles左上角的“Help”按钮,选择“SSL Proxying” > “Install Charles Root Certificate…”,进行证书安装。
2. 配置设备代理
在上述步骤完成后,我们需要在设备上配置代理指向Charles。
Android设备
-
进入“设置” > “WLAN”,选择已连接的WiFi,并进入网络高级设置。
-
打开“代理”选项,选择“手动”,在“代理服务器主机名”中输入电脑IP地址(请在电脑打开命令提示符输入“ipconfig”查询),端口号输入“8888”。
-
配置完成后,确保电脑和设备连接通畅,重新打开APP,开始抓包。
iOS设备
-
进入“设置” > “Wi-Fi”,连接上Wi-Fi网络,并点击右侧“i”图标。
-
打开“HTTP代理”选项,选择“手动”,在“服务器”中输入电脑IP地址,端口号输入“8888”。
-
配置完成后,确保电脑和设备连接通畅,重新打开APP,开始抓包。
3. 抓包分析
待代理配置完成后,我们可以开始抓包分析了。
HTTPS抓包
-
在需要抓取的APP上进行需要请求的操作,Charlse默认可以捕获Http请求,需要抓取Https请求需要去设置中进行单独设置
-
点击“Proxy”菜单 > “SSL Proxying Settings”,在“SSL Proxying”选项中添加需要抓取的域名或IP,如“https://api.example.com”。
-
打开“Enable SSL Proxying”选项,从此所有https请求均会被Charles接受。
抓包分析
通过抓取到的请求,我们可以进行分析和处理,可以根据抓取到请求的具体情况,对应接口进行基本数据流程分析或加解密算法的研究,比如盗刷,劫持,伪造等方式
4. 示例说明
这里给出两个示例说明:
示例一:拦截POST请求中的用户名和密码
假设有一个登录界面,我们需要拦截该界面中的POST请求,并获取登录用户名和密码。
-
单击Charles的“Start”按钮,等待应用程序完成启动。
-
在现有的会话中打开登录页面,并尝试登录。
-
当登录页面发送POST请求时,Charles会捕获该请求。单击该请求以查看请求的内容。
-
确认POST请求未加密。如果加密,则需要在Charles上配置SSL代理。
-
可以看到POST请求中包含用户名和密码,以及其他扩展属性。
示例二:拦截加密的HTTPS请求
假设有一个经过加密的https请求,我们需要抓取该请求进行分析。
-
在Charles的“Proxy”菜单中,选择“SSL Proxying Settings”选项。
-
在“SSL Proxying”选项卡中单击“Add”按钮,添加需要解密的域名或IP地址。
-
确认“Enable SSL Proxying”复选框已选中。
-
启用Charles Root Certificate,在浏览器中打开特定的URL来下载证书。
-
打开需要分析的APP并重现加密请求。
-
在Charles的会话窗格中,单击请求并查看请求内容。看到使用布局为XML、JSON等格式的加密数据,可以使用Charles提供的解码器对数据进行解码。
以上就是基于charles抓取https请求使用过程解析的完整攻略,可根据实际情况操作。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:基于charles抓取https请求使用过程解析 - Python技术站