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

yizhihongxing

当我们需要分析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爬虫基础之初次使用scrapy爬虫实例

    下面我将为你详细讲解“Python爬虫基础之初次使用scrapy爬虫实例”的完整攻略。 什么是Scrapy Scrapy是一个基于Python的高级网络爬虫框架,其可用于爬取各种网站,并从中抽取出结构化数据。使用Scrapy可以快速方便地实现对目标网站的数据抓取,甚至是高级的数据抽取,加速WEB爬取的研究与开发。 Scrapy的安装和使用 使用scrapy实…

    python 2023年6月2日
    00
  • 浅谈Python里面小数点精度的控制

    我来介绍一下“浅谈Python里面小数点精度的控制”的完整攻略。 简介 在Python中,小数点精度的控制是非常重要的一部分。在计算机中,浮点数的表示并不是完全精确的,尤其在做科学计算时,需要控制小数点位数,来避免误差积累和信息丢失。 保留小数点位数 在Python中,我们可以使用round()函数来精确控制保留小数点位数,其语法如下: round(num,…

    python 2023年6月3日
    00
  • Python中格式化字符串的四种实现

    Python中格式化字符串的四种实现指的是在Python中对字符串的格式控制。以下是这四种实现的详细介绍: 1. 使用f-string f-string 是在Python 3.6中引入的一种格式化字符串的方法。其中 f 表示 format(格式),后面跟着一个字符串。在这个字符串中,使用大括号来标识需要格式化的变量。 下面是一个示例: name = ‘Tom…

    python 2023年6月5日
    00
  • Python实现向PPT中插入表格与图片的方法详解

    这里是关于“Python实现向PPT中插入表格与图片的方法详解”的攻略: Python实现向PPT中插入表格与图片的方法详解 准备工作: 安装Python-pptx模块 Python-pptx是用于生成和更新PowerPoint (.pptx)文件的Python库,它是PPT格式的Python实现。可以在官网上查看详细的安装方法。 使用Python创建一个P…

    python 2023年5月19日
    00
  • Python基于argparse与ConfigParser库进行入参解析与ini parser

    Python基于argparse与ConfigParser库进行入参解析与iniparser攻略 在Python中,我们可以使用argparse和ConfigParser库来解析命令行参数和INI配置文件。argparse库可以帮助我们解析命令行参数,而ConfigParser库可以帮助我们解析INI配置文件。本攻略将介绍如何使用这两个库来解析命令行参数和I…

    python 2023年5月15日
    00
  • Python sklearn转换器估计器和K-近邻算法

    以下是关于“Python sklearn转换器估计器和K-近邻算法”的完整攻略: 简介 在机器学习中,转换器和估计器是两个重要的概念。转换器用于将数据转换为可用于机器学习的格式,而估计器用于训练和预测模型。本教程将介绍如何使用Python中的sklearn库实现转换器和估计器,并讨论如何使用K-近邻算法进行分类。 步骤 1. 导入库和数据 首先,我们需要导入…

    python 2023年5月14日
    00
  • 我想在 Simpy Python 中从 FilterStore 中获取许多项目

    【问题标题】:I want go get many items from FilterStore in Simpy Python我想在 Simpy Python 中从 FilterStore 中获取许多项目 【发布时间】:2023-04-02 13:11:01 【问题描述】: 我想从 FilterStore 中获取许多项目。 factory.stock_pa…

    Python开发 2023年4月8日
    00
  • 将 LinearSVC 的决策函数转换为概率(Scikit learn python)

    【问题标题】:Converting LinearSVC’s decision function to probabilities (Scikit learn python )将 LinearSVC 的决策函数转换为概率(Scikit learn python) 【发布时间】:2023-04-07 13:40:01 【问题描述】: 我使用来自 scikit l…

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