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

APP 抓包和微信小程序抓包-Charles 的精简使用教程APP抓包和微信小程序抓包-Charles的精简使用教程目标教程一、安装Charles二、Charles简介(1)Charles欢迎页面(2)基础功能按钮(3)抓包内容显示方式(4)过滤抓包内容三、手机配置Charles代理四、解决配置Charles代理之后手机无法上网的问题五、手机APP抓包(1)对“花生地铁”APP进行抓包。六、微信小程序抓包(1)安装SSL…

大家好,又见面了,我是你们的朋友全栈君。

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 教程到此结束。
如果有什么问题,希望可以给我留言。
最后祝大家工作顺利。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/130549.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(1)


相关推荐

  • 阴影样式的边框_html圆角边框底

    阴影样式的边框_html圆角边框底边框样式点线式边框破折线式边框直线式边框双线式边框槽线式边框脊线式边框内嵌效果的边框突起效果的边框边框样式点线式边框破折线式边框直线式边框双线式边框槽线式边框脊线式边框

  • 安卓方向传感器_自制悬挂式指南针

    安卓方向传感器_自制悬挂式指南针调用方向传感器开发简易指南针的原理其实很简单的:先准备一张指南针的图片,该图片上的方向指针指向北方。接下来开发一个检测方向的传感器,程序检测到设备顶部绕Z轴转过多少度,让指南针图片反向转过多少度即可。由此可见,指南针应用只要在界面中添加一张图片,并让图片总是反向转过方向传感器返回的第一个角度值即可。

  • rsync远程同步文件_ssh远程登录

    rsync远程同步文件_ssh远程登录一、简介二、配置项三、远程同步测试免交互配置:四、实时同步1、在客户机上安装notify2、编写监控脚本五、rsync批量快速删除大量文件一、简介一款快速增量备份工具RemoteSync,远程同步支持本地复制,或者与其他SSH、rsync主机同步它名称里面的r指的是remote,rsync其实就是”远程同步”(remotesync)的意思。与其他文件传输工具(如FTP或scp)不同,rsync的最大特点是会检查发送方和接收方已有的文件,仅传输有变动的部分(默认规则是文件大小或修改.

    2022年10月13日
  • CAP原理和数据高可用性

    CAP原理和数据高可用性对网站而言,数据是最宝贵的资源,硬件可以购买,软件可以重构,但是数据(用户数据,交易数据,商品数据)一旦丢失,对网站的打击可以说是毁灭性的。数据高可用性数据高可用性包括如下几个方面的含义数据持久性保证数据可以持久存储,在各种情况下都不会出现数据丢失。为了实现数据持久性,不但在写入数据是需要写入持久性存储,还需要将数据备份到一个或多个副本,存放在不同的物理存储设备上,在某个存储故障发生是,数据不会丢失

  • mac双系统选择启动_mac装双系统好不好

    mac双系统选择启动_mac装双系统好不好解决方案1:开机时长按option键,进入系统选择界面:用左右方向键选择到你要设置为默认启动的盘,然后同时按下ctrl+enter键,即可将其设置为默认启动的系统。解决方案2:选择mac系统进入后,点击系统偏好设置—–>启动磁盘—–>进入如下图界面:首先点击最下面的锁图片,然后再进行更改,选择你要设置为默认启动的系统后,点击

  • 共享锁、排他锁、互斥锁、悲观锁、乐观锁、行锁、表锁、页面锁、不可重复读、丢失修改、读脏数据

    点击上方“全栈程序员社区”,星标公众号 重磅干货,第一时间送达 作者:T-Birds blog.csdn.net/weixin_36634753/article/details/9…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号