基于charles抓取https请求使用过程解析

当我们需要分析HTTPS请求时,通常情况下,我们通过抓包工具来进行网络请求的截取和分析。而charles正是一种常用的网络抓包工具,大家可以通过设置Charles代理实现抓取Android、iOS等移动端应用请求。下面将详细讲解“基于charles抓取https请求使用过程解析”的完整攻略。

1. 安装Charles及准备环境

首先,我们需要在电脑上安装Charles,然后打开Charles,确保Charles能够接受来自其他设备的请求。具体操作如下:

  1. 打开Charles,选择菜单栏中的“Proxy” > “External Proxy Settings…”,在弹出的对话框中设置本地网络代理,并勾选“Use HTTP Proxy”选项。

  2. 在“HTTP Proxy”和“SSL Proxy”中都输入IP地址“127.0.0.1”,端口号选择“8888”。

  3. 确认设置后,点击“OK”退出对话框。

  4. 点击Charles左上角的“Help”按钮,选择“SSL Proxying” > “Install Charles Root Certificate…”,进行证书安装。

2. 配置设备代理

在上述步骤完成后,我们需要在设备上配置代理指向Charles。

Android设备

  1. 进入“设置” > “WLAN”,选择已连接的WiFi,并进入网络高级设置。

  2. 打开“代理”选项,选择“手动”,在“代理服务器主机名”中输入电脑IP地址(请在电脑打开命令提示符输入“ipconfig”查询),端口号输入“8888”。

  3. 配置完成后,确保电脑和设备连接通畅,重新打开APP,开始抓包。

iOS设备

  1. 进入“设置” > “Wi-Fi”,连接上Wi-Fi网络,并点击右侧“i”图标。

  2. 打开“HTTP代理”选项,选择“手动”,在“服务器”中输入电脑IP地址,端口号输入“8888”。

  3. 配置完成后,确保电脑和设备连接通畅,重新打开APP,开始抓包。

3. 抓包分析

待代理配置完成后,我们可以开始抓包分析了。

HTTPS抓包

  1. 在需要抓取的APP上进行需要请求的操作,Charlse默认可以捕获Http请求,需要抓取Https请求需要去设置中进行单独设置

  2. 点击“Proxy”菜单 > “SSL Proxying Settings”,在“SSL Proxying”选项中添加需要抓取的域名或IP,如“https://api.example.com”。

  3. 打开“Enable SSL Proxying”选项,从此所有https请求均会被Charles接受。

抓包分析

通过抓取到的请求,我们可以进行分析和处理,可以根据抓取到请求的具体情况,对应接口进行基本数据流程分析或加解密算法的研究,比如盗刷,劫持,伪造等方式

4. 示例说明

这里给出两个示例说明:

示例一:拦截POST请求中的用户名和密码

假设有一个登录界面,我们需要拦截该界面中的POST请求,并获取登录用户名和密码。

  1. 单击Charles的“Start”按钮,等待应用程序完成启动。

  2. 在现有的会话中打开登录页面,并尝试登录。

  3. 当登录页面发送POST请求时,Charles会捕获该请求。单击该请求以查看请求的内容。

  4. 确认POST请求未加密。如果加密,则需要在Charles上配置SSL代理。

  5. 可以看到POST请求中包含用户名和密码,以及其他扩展属性。

示例二:拦截加密的HTTPS请求

假设有一个经过加密的https请求,我们需要抓取该请求进行分析。

  1. 在Charles的“Proxy”菜单中,选择“SSL Proxying Settings”选项。

  2. 在“SSL Proxying”选项卡中单击“Add”按钮,添加需要解密的域名或IP地址。

  3. 确认“Enable SSL Proxying”复选框已选中。

  4. 启用Charles Root Certificate,在浏览器中打开特定的URL来下载证书。

  5. 打开需要分析的APP并重现加密请求。

  6. 在Charles的会话窗格中,单击请求并查看请求内容。看到使用布局为XML、JSON等格式的加密数据,可以使用Charles提供的解码器对数据进行解码。

以上就是基于charles抓取https请求使用过程解析的完整攻略,可根据实际情况操作。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:基于charles抓取https请求使用过程解析 - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • python实现决策树分类算法代码示例

    接下来我将详细讲解如何用Python实现决策树分类算法。首先,我们需要先了解一下什么是决策树。 什么是决策树? 决策树是一种监督学习算法,用于解决分类和回归问题。它将数据集分成很多小的决策树结构,每个结构代表一个决策,每个结构都有一个根节点,一个或多个内部节点和一个或多个叶节点。根据数据属性的不同值对数据进行递归地分裂,直到所有具有相同分类的数据都在一个叶节…

    python 2023年5月31日
    00
  • Django笔记二十四之数据库函数之比较和转换函数

    本文首发于公众号:Hunter后端原文链接:Django笔记二十四之数据库函数之比较和转换函数 这一篇笔记开始介绍几种数据库函数,以下是几种函数及其作用 Cast 转换类型 Coalesce 优先取值 Greatest 返回较大值 Nullif 值相同返回 None 1、model 准备 这一篇笔记我们主要用到 Author 和 Entry model 作为…

    python 2023年4月19日
    00
  • 解决matplotlib库show()方法不显示图片的问题

    下面是详细的攻略: 解决matplotlib库show()方法不显示图片的问题 在使用matplotlib库绘制图像时,常常会使用show()方法来显示图片。但是,有时候在使用show()方法时,会发现图片没有显示出来,这是因为show()方法的默认行为是使用非交互式后端(i.e. 窗口不会直接弹出),而在Jupyter notebook等环境下,该方法不会…

    python 2023年5月19日
    00
  • Python实现两种多分类混淆矩阵

    当我们要评估一个多分类模型时,一个有用的工具就是混淆矩阵。混淆矩阵提供了模型在每个类别上的分类表现。在本文中,我们将解释如何使用Python实现两种多分类混淆矩阵。 多分类混淆矩阵 在多分类问题中,混淆矩阵是一个表格,用于显示实际标签和预测标签之间的关系。 假设,我们有一个多分类模型,其中包含三个类别:汽车、卡车和自行车。我们通过混淆矩阵来看看模型在这三个类…

    python 2023年6月3日
    00
  • 如何在python 3中将字典对象转换为字符串

    【问题标题】:How to convert dictionary object into string in python 3如何在python 3中将字典对象转换为字符串 【发布时间】:2023-04-01 22:08:01 【问题描述】: 我有嵌套的字典,我需要把这个字典串起来 字典示例 data = { ‘filter’: { ‘operator’: …

    Python开发 2023年4月8日
    00
  • Python生成并下载文件后端代码实例

    首先我们来讲解一下如何在Python后端代码中生成并下载文件。 环境准备 我们使用Python的flask框架来搭建后端环境。首先你需要确保已经安装了Python3,可以在终端中执行python3 –version查看版本号。接着安装flask框架,执行pip3 install flask即可安装。 生成并下载文件的实现 生成并下载文本文件 我们先从一个简…

    python 2023年5月13日
    00
  • python3判断url链接是否为404的方法

    判断URL链接是否为404可以通过Python的requests库来实现,具体步骤如下: 步骤一:安装requests库 确保你的电脑已经安装了Python3,并已经安装了requests库。如果你还没有安装requests库,请打开命令行工具(Windows下为cmd,Mac下为Terminal),输入以下命令: pip install requests …

    python 2023年6月3日
    00
  • 如何使用matplotlib在python中生成3d三角面(trisurf)图(数据已准备好)?

    【问题标题】:How to generate a 3d triangle surface (trisurf) plot in python with matplotlib (the data is prepared)?如何使用matplotlib在python中生成3d三角面(trisurf)图(数据已准备好)? 【发布时间】:2023-04-01 14:3…

    Python开发 2023年4月8日
    00
合作推广
合作推广
分享本页
返回顶部