《吐血整理》高级系列教程-吃透Fiddler抓包教程(34)-Fiddler如何抓取微信小程序的包-上篇
1.简介
有些小伙伴或者是童鞋们说小程序抓不到包,该怎么办了???其实苹果手机如果按照宏哥前边的抓取APP包的设置方式设置好了,应该可以轻松就抓到包了。那么安卓手机小程序就比较困难,不是那么友好了。所以今天宏哥重点说一下安卓手机小程序抓包。
2.前言
首先看下是否满足以下条件
小程序无法抓包原因 :
安卓系统 7.0 以下版本,不管微信任意版本,都会信任系统提供的证书
安卓系统 7.0 以上版本,微信 7.0 以下版本,微信会信任系统提供的证书
安卓系统 7.0 以上版本,微信 7.0 以上版本,微信只信任它自己配置的证书列表
微信6.6.7版本:http://dldir1.qq.com/weixin/android/weixin667android1320.apk
首先我们从上边的原因前两点可以看出都需要信任系统证书,因此我们都需要手机的Root权限才能将Fiddler的证书安装成系统证书,这个过程和原因宏哥在前边的文章中已经说过了,这里就不再赘述。但是从第三点可以看出微信7.0后由于证书问题都不支持https抓包了,你也可以去微信开放社区看一下有关这个问题讨论。
3.实战一
3.1Fiddler配置
1.手机和电脑要在同一个局域网中。
2.完成fiddler的基本配置,与web端抓包一样:TOOLS-->options–>connections–>1、设置端口;2、勾选2/3/4选项:
3.指定代理端口,勾选指定项
3.2手机代理设置
1.手机设置代理:
(1)设置端口与fiddler的端口保持一致:8888;2、设置IP地址与PC机的IP保持一致
3.3安装https证书
需要那种证书,自己安装那种证书即可,但是系统证书需要Root权限安装,据听说这种好像也不靠谱容易导致微信封号,没有亲身实验过,有兴趣的可以自己试一下。
3.3.1用户证书
如果小程序或者APP端需要抓取HTTPS的请求消息,必须在手机上安装fiddle的证书,其安装步骤:
步骤一:在手机端打打开浏览器,输入网址–》http://PC的IP:fiddler的端口号
步骤二:点击超级链接:FidderRoot certificate超级链接
步骤三:点击下载的证书文件,进行安装,安装成功,就可以抓取HTTPS的消息了
如果无法自动安装,安卓版本7.0以下的:则进入手机设置-》安全和隐私-》安全拼争存储-》从存储设备安装,找到下载好的证书目录,确认即可,安装完成后,查看信任凭证,用户证书里是否可以看到刚才的证书。
3.3.2系统证书
关于系统证书的安装:步骤可以看宏哥这篇文章,里边有详细的步骤。
《吐血整理》高级系列教程-吃透Fiddler抓包教程(27)-Fiddler如何抓取Android7.0以上的Https包-中篇
3.4开始抓包
然后就可以进行抓包了,抓包完成之后,需要关掉手机的代理,否则,手机无法上网。
4.实战二
既然手机微信7.0以上版本不让抓,我们换条路,从电脑上抓取小程序的包。这种方法和抓取web端的包有点相似。
1.打开电脑端小程序:退出微信,登录微信时设置代理,如下图所示:
2.打开微信pc版,点击左侧箭头,会弹出右侧小程序列表,如下图所示:
3.开始抓包,打开fidder,选择列表内需要抓包的小程序,在小程序页面上进行操作,这时候fidder里已经有很多请求信息了,如下图所示:
4.寻找目标请求,这里暂逐一对各个链接进行检查,选择一个可能是目标链接的请求,查看请求头和返回数据
返回数据里显示乱码,点击返回数据区域上的“Responsebody is encode。。。”转换编码格式
转换后发现,返回值跟当前页面的信息是不是很像,没错,就是这个请求
tips:
笔者的手机andoroid 版本8.0,微信版本7.0,证书安装成功依然无法抓取https的请求。
宏哥PC的端的微信版本是3.5,听说3.7也有的小程序抓不到包了,这个宏哥没有亲自尝试,有兴趣的小伙伴或者童鞋们,可以更新一下微信到3.7实践一下。
5.小结
随着互联网技术的发展以及各类APP或者小程序的完善,版本越高抓包越难,要想好好的抓包最笨的办法就是降低版本。
5.1Fiddler抓不到pc端微信小程序包解决方案
第一步、微信里面先打开我们需要抓包的小程序,然后启动任务管理器,下面以小红书为例点击进程,找到 WeChat Miniprogram Framework 里面的小红书APP,如下图所示
第二步、鼠标选中小红书APP,右击打开文件所在的位置,打开后看下文件路径里面有没有 WMPFRuntime 这个文件夹,如果没有这个文件夹就不要继续操作了,这个办法不适合你
第三步、如果你找到了这个文件夹,如下图所示,先把电脑上登录的微信全部退出,然后把 WMPFRuntime 文件夹里面的全部删除,删除完成后重新登录微信,如果你不先退出微信,这个文件夹会提示你被占用无法删除的。
只要删除了这个缓存的文件夹,再重新登录微信打开小程序,用fiddle就可以轻松抓包了。
-每天学习一点,今后必成大神-
往期推荐:
Appium自动化系列,耗时80天打造的从搭建环境到实际应用精品教程测试
Python接口自动化测试教程,熬夜87天整理出这一份上万字的超全学习指南
Python+Selenium自动化系列,通宵700天从无到有搭建一个自动化测试框架
Java+Selenium自动化系列,仿照Python趁热打铁呕心沥血317天搭建价值好几K的自动化测试框架
Jmeter工具从基础->进阶->高级,费时2年多整理出这一份全网超详细的入门到精通教程
《吐血整理》高级系列教程-吃透Fiddler抓包教程(34)-Fiddler如何抓取微信小程序的包-上篇的更多相关文章
- 在Mac Os(苹果)上用手机抓包软件Charles抓取微信小程序中的高清无水印视频
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_118 手机抓包是一名测试工程师常备的技能,比如我想查看一个接口请求的参数.返回值,还有移动设备上的http请求.https请求,这 ...
- Charles抓取微信小程序数据 以及 其它应用网站数据
为了抓取小程序数据所以使用Charles来抓取,下面介绍下使用方法(mac环境下使用).使用Charles可以非常方便的抓取Http/Https请求.官方dmg下载地址:点击此处下载 Charles抓 ...
- scrapy爬取微信小程序社区教程(crawlspider)
爬取的目标网站是: http://www.wxapp-union.com/portal.php?mod=list&catid=2&page=1 目的是爬取每一个教程的标题,作者,时间和 ...
- 如何抓取微信小程序的源码?
一.引言: 在工作中我们会想把别人的代码直接拿过来进行参考,当然这个更多的是前端代码的进行获取. 那么微信小程序的代码怎么样获取呢? 参考 https://blog.csdn.net/qq_4113 ...
- 微信小程序导航:官方工具+精品教程+DEMO集合(1月7更新)
1:官方工具:https://mp.weixin.qq.com/debug/w ... tml?t=14764346784612:简易教程:https://mp.weixin.qq.com/debug ...
- 微信小程序 教程及示例
作者:初雪链接:https://www.zhihu.com/question/50907897/answer/128494332来源:知乎著作权归作者所有,转载请联系作者获得授权.微信小程序正式公测, ...
- 微信小程序资源整理
微信小程序相关的文档.教程.开源项目等资源的整理,以便于开发学习使用. —— —— 收录仅作个人学习使用,涉及侵权行为及时联系: maple_6392@163.com 项目地址:GitHub | 码云 ...
- 微信小程序开发教程 #043 - 在小程序开发中使用 npm
本文介绍了如何在微信小程序开发中使用 npm 中包的功能,大大提高微信小程序的开发效率,同时也是微信小程序系列教程的视频版更新. 微信小程序在发布之初没有对 npm 的支持功能,这也是目前很多前端开发 ...
- 微信小程序之微信登陆 —— 微信小程序教程系列(20)
简介: 微信登陆,在新建一个微信小程序Hello World项目的时候,就可以看到项目中出现了我们的微信头像,其实这个Hello World项目,就有一个简化版的微信登陆.只不过是,还没有写入到咱们自 ...
随机推荐
- Docker问题:"docker build" requires exactly 1 argument.
今天在搭建Docker私有仓库的时候.提示错误:"docker build" requires exactly 1 argument. 原因是因为(少了一个 '.' , '.' 代 ...
- 记录一次数据库CPU被打满的排查过程
1 前言 近期随着数据量的增长,数据库CPU使用率100%报警频繁起来.第一个想到的就是慢Sql,我们对未合理运用索引的表加入索引后,问题依然没有得到解决,深入排查时,发现在 order by id ...
- 01_Django-介绍-项目结构-URL和视图函数
01_Django-介绍-项目结构-URL和视图函数 视频:https://www.bilibili.com/video/BV1vK4y1o7jH 博客:https://blog.csdn.net/c ...
- x64dbg 插件开发环境配置
x64dbg 是一款开源的应用层反汇编调试器,旨在对没有源代码的可执行文件进行恶意软件分析和逆向工程,同时 x64dbg 还允许用户开发插件来扩展功能,插件开发环境的配置非常简单,如下将简单介绍x64 ...
- KingbaseES 的闪回查询
KingbaseES V008R006C006B0013版本新增支持闪回查询,闪回版本查询.闪回表到指定时间点.旧版本已支持闪回回收站技术. 闪回技术(闪回查询和闪回表到指定时间点)可以通过时间戳和C ...
- KingbaseES 普通表在线改为分区表案例
对大表进行分区,但避免长时间锁表 假设您有一个应用程序,该应用程序具有一个巨大的表,并且需要始终可用.它变得如此之大,以至于在不对其进行分区的情况下对其进行管理变得越来越困难.但是,您又不能使表脱机以 ...
- KingabseES 锁机制
KingabseES的锁机制 目录 KingabseES的锁机制 一.前言 二.锁机制 三.表级锁 ( Table-Level Locks ) 1.访问共享(ACCESS SHARE) 2.行共享(R ...
- 本地 maven + scala 跑spark wordcount
pom.xml 点击查看代码 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http: ...
- ProxySQL 全局变量详解
转载自:https://www.jianshu.com/p/b9d2a09d80e2 全局变量概述 ProxySQL的行为可以通过全局变量来调整.有两种配置方式: 在runtime下,使用admin结 ...
- 使用kuboard界面配置springcloud的其中一个模块设置环境变量,使用nacos配置地址等有关设置
总结: 工作负载类型是StatefulSet的pod,不论其上层的service是nodeport还是Headless, 对外提供的地址格式是: <pod name>.<servic ...