最近有很多小伙伴问到能不能抓取到微信小程序数据呢?答案当然是肯定的,通过Fiddler或者Charles这些主流的抓包工具都可以抓得到,在IOS平台抓取微信小程序和https请求都是一样的设置,接下来给大家通过Fiddler演示如何设置在IOS平台端抓取小程序数据包(Charles也是类似)。
一般电脑和移动端设备连接到同一个WiFi热点(路由器),就可以保证是在同一局域网中,这里我们可以通过手机设置->无线局域网->选择对应热点,查看设备IP地址:
在电脑端通过ping命令去检测下电脑是否能够连接IOS设备:
(1)打开Fiddler,选择工具栏Tools -> Options -> Connections ,做如下配置
Fiddler Classic listens on post:表示Fiddler监听的端口号,数值可以随意设置,只要保证不和其他软件的端口号冲突即可
Act as system proxy on startup:在Fiddler启动的时候作为系统代理,这样Fiddler能够默认抓取到本地电脑端浏览器的请求,这里我们聚焦在移动端,所以可以把此选项关闭
Allow remote computers to connect:允许远程设备进行连接,必须要勾选,否则抓取不到移动端设备的请求包
(2)选择HTTPS,做以下配置,这一步目的是为了能够抓取到https请求
(3)点击右上角Actions -> 选择Trust Root Certificate,弹窗中全部选择“yes”,这一步是将Fiddler伪证书进行安装
(4)配置完之后记得重启Fiddler
(1)打开手机设置->无线局域网->选择对应热点->页面最下方选择配置代理,选择手动,服务器填入电脑端的IP地址,端口填入Fiddler监听的端口号:
(2)此时我们在设备浏览器端访问http的网站:http://testingpai.com,在Fiddler端是可以抓取到http请求的:
但如果是访问https的网站:比如 https://www.baidu.com,会发现:
Fiddler端请求呈灰色显示状态,并且提示Tunnel To(表示建立https链接隧道中)
因为百度网站是https请求,如果要抓取https请求,我们还需要在移动端设备安装证书。
(1)在IOS设备浏览器上访问 http://192.168.3.192:7878,192.168.3.192为电脑端IP地址,7878为Fiddler监听端口号,所以通过这个地址我们可以访问到Fiddler内置的服务:
(2)点击FiddlerRoot certificate链接,按照提示下载安装证书,进入手机设置 -> 通用 -> 描述文件 ->安装描述文件
(3)进入手机设置 -> 通用 -> 关于本机 -> 证书信任设置,勾选DO_NOT_TRUST_FiddlerRoot
最后任意打开一款小程序,即可抓取到对应的数据包了,enjoy it!
最后: 可以在公众号:伤心的辣条 ! 自行领取一份216页软件测试工程师面试宝典文档资料【免费的】。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
我推荐一个【Python自动化测试交流群:746506216】,大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,助你快速进阶Python自动化测试/测试开发,走向高薪之路。
喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一 键三连哦!