APP 抓包和微信小程序抓包-Charles 的精简使用教程

  • 2021-09-25 更新
  • 2019-07-10 更新
  • 目标
  • 教程
    • 一、安装 Charles
    • 二、Charles 简介
      • (1)Charles 欢迎页面
      • (2)基础功能按钮
      • (3)抓包内容显示方式
      • (4)过滤抓包内容
    • 三、手机配置 Charles 代理
    • 四、解决配置 Charles 代理之后手机无法上网的问题
    • 五、手机 APP 抓包
      • (1)对 “花生地铁” APP 进行抓包。
    • 六、微信小程序抓包
      • (1)安装 SSL 证书
        • 1、Charles 上安装 SSL 证书
        • 2、手机安装 SSL 证书
      • (2)配置 Charles 的 SSL
      • (3)对微信小程序“猫眼电影”进行抓包
    • 总结

2021-09-25 更新

  • 博主近期也有APP抓包的需求,不过换了一个工具 Fiddler Everywhere。新工具可能 颜值 (这里纯粹是讲UI更炫酷)更高一些

2019-07-10 更新

  • 部分机型依然成功。最近有很多小伙伴反馈 HTTPS 不能进行抓包了,于是博主再进行了一次测试:

    • 三星手机(系统版本 Android 8.1),抓包成功(图略)
    • 小米6 (系统版本 miui 10.3 稳定版)抓包失败:Client SSL handshake failed(博主怀疑是系统问题,但暂未找到解决方案,有解决方案的小伙伴欢迎留言)
    • oppo 抓包失败,和小米 6 有类似的错误提示信息(博主怀疑是系统问题,但暂未找到解决方案,有解决方案的小伙伴欢迎留言)
    • 苹果手机 IOS 12(记得要在 通用-关于本机-证书信任设置 中开启证书)抓包成功。苹果手机抓包截图:

目标

  • 抓取移动端项目的前端页面和后台的交互数据,对请求信息和响应内容进行分析。

    • 普通手机 APP 的前端页面和后台一般是通过 HTTP 请求进行交互。
    • 微信小程序的前端页面和后台一般是通过 HTTPS 请求进行交互。

教程

一、安装 Charles

在官方网站下载最新的安装包,然后点击运行,在弹出的安装向导中,根据提示进行操作即可顺利完成安装。过程很简单,所以这里进行不详细介绍。当前最新的版本是 charles-proxy-4.2.7-win64.msi 。

二、Charles 简介

(1)Charles 欢迎页面

  • 运行 Charles 之后,默认打开的欢迎页如下图所示:

(2)基础功能按钮

需要关注两个按钮:清空抓包内容按钮和抓包开关按钮:

(3)抓包内容显示方式

  • Sequence 形式。可以看到全部请求,默认以数据请求的顺序来显示,最新的请求显示在最下面。如下图所示:
  • Structure 形式。可以很清晰的看到请求的数据结构,请求信息根据域名划分。具体如下图所示:

(4)过滤抓包内容

  • 通过 filter 框 进行过滤(推荐使用)。不管是Sequence 还是 Structure 显示方式,都可以通过下方的 filter 框进行过滤:
  • 通过 Recording Settings 设置过滤条件。具体如下图:

三、手机配置 Charles 代理

  • 需要手机和运行 Charles 的电脑在同一个局域网内。
  • 启动 Charles,点击 Proxy-Proxy Settings,查看代理端口:
  • 在命令提示符窗口,执行 ipconfig ,查看电脑的IP:
  • 在手机连接的 WLAN 中,设置代理信息。从前两步中,可以看到Charles 的代理端口为 8888,电脑IP为 192.168.1.101。

四、解决配置 Charles 代理之后手机无法上网的问题

如果代理配置完成之后,出现手机无法上网的情况。
需要检查下面几个地方:

  • 检查防火窗。我用的是 win 10 。
  • 检查 Charles 黑白名单。如果没有特别需要可以关闭黑白名单功能。

五、手机 APP 抓包

(1)对 “花生地铁” APP 进行抓包。

  • 打开 花生地铁 APP(广州的朋友应该都用过吧):
  • 查看抓包内容:

六、微信小程序抓包

(1)安装 SSL 证书

由于微信小程序的前端页面和后台交互,基本上都是基于 HTTPS ,所以需要先安装 SSL 证书。

1、Charles 上安装 SSL 证书

  • 通过 Help->SSL Proxying->Install Charles Root Certificate 打开证书安装窗口:
  • 根据安装向导的提示,全部采用默认的选项,最后完成安装:

2、手机安装 SSL 证书

  • Charles 建议的安装方法。

    • 通过 Help->SSL Proxying->Install Charles Root Certificate On a mobile device ,可以看到以下提示:
    • 根据提示,应该进行如下操作:
      • 手机配置 Charles 代理。上面已经介绍,这里不再赘述。
      • 在手机浏览上访问:http://chls.pro/ssl ,下载并安装证书。
      • 大致流程如下:
      • 遗憾的是,有些品牌的手机,比如小米手机,不支持通过 getssl.crt 安装证书。
  • 其他方法。
    • 如果上面的方法不能成功安装证书,可以在电脑浏览器上访问 http://chls.pro/ssl,下载 charles-proxy-ssl-proxying-certificate.pem,并传手机上进行安装。
    • 在手机中,把文件的后缀名改成 .crt:
    • 点击 .crt 文件,进行证书安装:
    • 安装完成之后,在系统安全-加密与凭据-信任的凭据中,可以看到刚刚安装的证书:

(2)配置 Charles 的 SSL

  • 通过 Proxy-SSL Proxy Settings 打开窗口:
  • 在弹出的窗口中,选择 Enable SSL Proxy,并设置要代理的域名。本示例是要对微信小程序“猫眼电影”抓包,所以配置了 api.maoyan.com 和 ad.maoyan.com。
  • 如果要匹配的域名比较多,配置麻烦,可以不填域名和端口内容,直接点击OK
  • (3)对微信小程序“猫眼电影”进行抓包

  • 在微信钱包-第三方服务中,打开“猫眼电影”。
  • 查看 Charles 中的抓包情况:

总结

一个精简的 Charles 教程到此结束。
如果有什么问题,希望可以给我留言。
最后祝大家工作顺利。

APP 抓包和微信小程序抓包-Charles 的精简使用教程相关推荐

  1. 【羊了个羊】Burp抓取IOS微信小程序数据包

    描述 最近,小游戏"羊了个羊"在朋友圈刷屏,网友纷纷表示,游戏开发者多少有个病要治!!! 本文记录,如何使用Burp抓取ios微信小程序数据包. 工具准备 Burp 苹果手机 wi ...

  2. fiddler抓取iOS微信小程序HTTPS包方法

    最近想要用fiddler抓移动端微信小程序的HTTPS数据包,整理一下方法,作为记录 先说坑: 手机和笔记本一定要在同一个网络,同一个网段!!! 不然会出现,在移动端安装fiddler证书时,无法访问 ...

  3. charles抓不到微信小程序的包【亲测解决】

    原创加粗:原创链接直达>https://mbd.baidu.com/ma/s/VwHQ8Rom 出现的问题: charles抓小程序的包一直抓不到,显示空白. ps:并不是[unknow],这个 ...

  4. 接口测试抓包大法:抓web端的包+抓PC端微信小程序的包

    接口测试现在作为一种主流的,简洁的测试方法,已经逐渐被渗透到功能测试和自动化测试的过程中去,成为测试的必备技能之一,现在就来总结一下工作中常用的抓包方法,供各位学习参考. chrome浏览器自带抓包工 ...

  5. APP攻防——微信小程序解包反编译数据抓包APK资源提取

    目录 (一)APP&APK-信息资源文件提取 (二)微信小程序-真机&模拟器数据抓包 0x01 安卓系统抓包(微信小程序)

  6. 微信小程序抓包方法汇总

    前言 ios端和mac用户可以忽略以下内容,本文针对于windows端和android端的微信无法抓取小程序数据包提出相关解决方案. 分析 Android7. 0及以上的系统中,每个应用可以定义自己的 ...

  7. 抓取微信小程序数据包的三种方法

    前言 做安全测试的都会遇到测试某微信小程序,而微信小程序基本都是基于HTTPS的,所以抓取HTTPS数据包就是最关键的一步.最近几天折腾了一下,整理了比较简单.方便的三种方法. 条件 抓取微信小程序数 ...

  8. 渗透实战-抓取微信小程序流量包

    渗透实战-抓取微信小程序流量包 前言 Proxifier使用 启用HTTPProxy服务器 设置监听地址 设置代理规则 利用Proxifier抓取微信小程序 前言 现在渗透测试不仅要对传统的web测试 ...

  9. charles抓包电脑微信小程序

    charles抓包电脑微信小程序 问题:windows微信小程序用Charles抓包空白 PS:不是证书的问题,浏览器百度等网站都是可以正常抓取的 解决: 电脑微信打开小程序 打开任务管理器,找到Mi ...

最新文章

  1. 利用Python的三元表达式解决Odoo中工资条中城镇、农村保险的问题
  2. aarch64的TCR寄存器介绍
  3. 【Linux系统编程】进程间通信概述
  4. 深度学习 占用gpu内存 使用率为0_你了解GPU吗?为什么说深度学习需要GPU?
  5. %rowtype mysql_Oracle %type和%rowtype小实例
  6. P2P原理及UDP穿透简单说明
  7. 甘特图 知乎_APS生产排程软件基础知识-计划甘特图
  8. html5权威指南 预读,《HTML5权威指南》
  9. 批处理 如果提示错误暂停_dos批处理脚本代码,一键删除目录文件夹例子,dos命令bat教程...
  10. AtomicInteger的CAS算法浅析
  11. c语言食堂饭卡管理课程设计,第十一章 C语言课程设计—饭卡管理程序.docx
  12. 2020-12-24 微信小程序 tabbar icon 控件 阿里矢量图库
  13. 【118期分享】简约商务PPT模板免费下载
  14. 更改网络计算机ip,教你快速修改电脑IP地址
  15. 浅谈CAN总线--- 物理层
  16. 华为鸿蒙os今日新闻,华为鸿蒙 HarmonyOS 2 来了!完整升级名单曝光
  17. 在牛客网上刷哔哩哔哩2021校招题后有感
  18. 每天一道面试题--- js 中 this 指针的用法
  19. Python实现PDF(图片版)水印的去除
  20. win10电脑连接手机热点时所出现的问题。

热门文章

  1. jwttoken解码_JWT: 基于Token的验证
  2. 基于openEuler虚拟机本地执行mugen测试脚本
  3. Spark SQL连接外部数据源
  4. redhat linux 字体安装,Linux: 字体安装
  5. mysql pacemaker_编译安装MySQL实现corosync+pacemaker+drbd+mysql高可用
  6. 类型多样的文字游戏极品背景素材,速来收藏
  7. Teamcenter许可不可用(TC许可不可用)怎么办
  8. 汽车显示屏服务器连接不上,行车记录仪能连接汽车中控显示屏吗
  9. C++中调用matplotlibcpp.h画图
  10. 【LeetCode】860. 柠檬水找零(C语言)