MAC系统利用charles抓取微信小程序和手机APP数据包(http和https数据包)

所属分类: 实用技巧 / 应用技巧 阅读数: 1404
收藏 0 赞 0 分享

本文中使用的是mac上的抓包工具charles进行抓包,手机是华为荣耀8

下载并安装Charles for Mac

Charles for Mac(HTTP信息抓包工具) V4.2.5 苹果电脑版

要想抓取到微信小程序的数据首先要解决的第一个问题件就是如何通过charles抓取手机上的数据具体配置过程如下:

MAC上的Charles设置

第一步,charles上通过proxy->proxy setting进入代理设置,入口如下图所示

点击后进入如下所示界面

    

记住此处的port,默认为8888,也可以进行修改,只要不冲突就可以,勾选上Enable transparent HTTP proxying,到此为止完成charles上的初步设置。

到此为止,完成了MAC上的charles设置

手机端设置

第二步,设置手机代理,注意要保证手机所连接的wifi跟电脑在一个局域网内(就是连接同一个wifi就好了)

首先,需要知道电脑的ip地址,我的电脑上通过系统偏好设置->网络可以查看

注意此处电脑连接的是PHICOMM_air的wifi

手机上进入wifi设置,一般按住你正在连接的wifi一会会弹出一个菜单,点击修改网络就到如下界面,勾选“显示高级选项”,点击代理

注意此处手机连接的也是PHCOMM_air的wifi

点击代理后进入如下界面,服务器主机名处填写刚才查到的电脑的ip地址即可,服务器端口填写第一步中charles处设置的端口,默认是8888,如果做了修改,填写设置charles时修改的端口值。

点击保存,此时charles上会弹出一个对话框,点击allow即可。此时就可以抓取手机上的http数据包了(注意现在抓取的还不是https数据包)

如下图所示,点入一个应用后,抓取到的http包

到此为止,MAC上利用charles抓取手机HTTP数据包就完成了,可以通过MAC抓取手机的HTTP数据包了

完成以上步骤,charles会同时抓取手机以及电脑上的数据包,如果针对手机抓包可以通过取消勾选下图所示的选项屏蔽掉

手机连接不上charles的几种原因及解决方案:

1.确认手机跟电脑是不是在一个wifi环境下,我在使用过程中又一次手机由于wifi信号强弱问题自动切换过wifi导致抓了一般的数据包抓不到了

2.可以尝试更换一下端口号(8888可能已经被占用)

3.可以通过电脑手动添加手机的ip

4.试试关掉电脑防火墙,在重新连接

5.重新打开charles,重新设置手机连接 

手机端HTTPS数据包抓取

以上设置只能抓取HTTP数据包对于HTTPS数据抓包工具上的列表部分会显示一堆unknown的地址

那么对于手机端HTTPS数据包的抓取又该如何设置呢请往下看

首先是MAC的配置,进入charles的Help->SSL Proxying->Install Charles Root Certificate

点击Install Charles Root Certificate之后,会弹出mac的钥匙串访问页面

(正常第一次进去这个证书应该是一个红叉,我这里由于已经进行过设置所以显示正常)

右键点击该证书,选择菜单中的“显示简介选项”,接着进入信任栏目,将其全部置为“始终信任”

完成这一步的设置后,这个根证书应该会跟我上面一个截图一样,而不会显示红叉

接着点击Proxy->SSL Proxy Settings,弹出如下页面

弹出的对话框中,勾选Enable SSL Proxying,然后点击add添加Host为*和Port为443,点击ok(此处将host设置为*的意思是主抓取全部的http是数据包,如果想针对某个域名抓取可以在此设置)

到此为止,完成了MAC的设置

手机端设置(重要)

接着需要在手机端安装证书,点击Charles上的Help->SSL Proxying->Install Charles Root Certificate on a Mobile Device or Remote Browser

点击之后弹出如下对话框:

接着在手机浏览器上访问charlesproxy.com/getssl这个地址(此处请注意,最好不要用自带的浏览器),我的手机让我输入锁屏密码,输入之后,会弹出如下界面:

输入一个名字比如charlesproxy之后点击确定,会有一个一闪而过的提示,就ok了

此时进入小程序,可以看到charles上能够看到https的接口的地址和数据了

注意,有一些应用使用的网络框架是不允许通过代理访问的,此时通过charles抓包显示的地址仍是unknown,或者手机上访问该应用会提示网络连接错误等信息,此时在MAC上取消勾选charles的SSL Proxying settings中的勾选框就可以正常访问了

最后,抓取工作完成后,记得把手机上的代理设置恢复原样,否则当电脑上的charles关闭时,手机将无法正常访问网络

好了MAC上利用charles抓取微信小程序数据包,手机APP数据包已经能成功抓取了。下次我们将为大家分享

如何在windows系统上利用charles抓取微信小程序数据包和使用fiddler抓包工具抓取微信小程序数据包,手机APP数据包的操作方法

更多精彩内容其他人还在看

Win XP系统语言栏丢失解决三例

案例一:   问:一台计算机使用Windows XP操作系统,最近任务栏内无法显示语言栏,我通过“区域和语言选项”里的设置找回了语言栏,重新启动计算机后,问题依旧,请问是什么问题造成的?
收藏 0 赞 0 分享

设计软件中的系统字体应用小技巧

大家都知道,在操作系统的安装目录下有字体库,要使用种字体首先需要安装,但是这会造成字体占用系统盘空间过多。设计使用的字体都不少,怎么说也有几个G,很占资源,下面教大家一个稍微节省资源的方法。
收藏 0 赞 0 分享

Access中字段上自动打开的输入法的解决方法

打开Access数据库时,在里面数据表字段输入数值时,总是会跳出输入法来,很是烦人,在网上找了一下,找到了相应的解决办法:
收藏 0 赞 0 分享

“internet explore 无法打开internet站点 已终止操作”的解决方法

在IE下,当页面还没有加载完全时,如果正在执行的JS代码中含有使用了document.createElement的话,很容易引起页面加载失败.导致提示"internet explore 无法打开internet站点 http://www.xxx.com/xxx/xxx.
收藏 0 赞 0 分享

十个习惯让你精通新的开发技术

这篇文章,是从我的《高效开发人员的五个特征》一文中抽出的一个观点。从我自身的事业和习惯中,我考虑了很多方式怎么样才能有效地学习。
收藏 0 赞 0 分享

小谈RADMIN爆破

最近做渗透测试时常碰到RADMIN一类的东西.. 一碰到此类的程序,一般我都会先看下对方把RADMIN的端口配置成什么..以及相应的PASS(加密过的)
收藏 0 赞 0 分享

动易2006序列号破解算法公布

动易2007就快发布了,把2006的算法公开吧,赚点人气,希望动易不要来找我 。
收藏 0 赞 0 分享

联众密码的逆向算法公布

闲来无事,每天上联众,联众的密码经过加密后保存在本地注册表里,看看是怎么加密的。下了个ollydbg,一路跟踪,发现算法极其简单,给出Delphi版本的解密算法(加密部分有兴趣的一起来讨论)。算法比较粗糟,谁帮优化一下:)
收藏 0 赞 0 分享

关于三种主流WEB架构的思考

做WEB好几年了,各种语言和技术都稍有涉猎。今天心血来潮,突然想总结一下。其实不论什么技术,什么需求,通常WEB开发就是通过WEB前端管理一个或大或小或独立或分布式的关系型数据库,很多东西都是相通的。这里说的WEB架构,是指WEB应用开发中每种技术独有的资源组织形式(包括文件,数
收藏 0 赞 0 分享

一篇关于程序员性格的文章第1/3页

软件开发中人们很少注意个人性格问题。自从 1965年Edsger Dijkstra的有里程碑意义的文章“程序开发是一种人类活动”发表以来,程序员性格被认为是合理的和有成效的研究领域,虽然有些题目如“大桥建筑者的心理”和“对律师行为的研究实验”看起来可能是荒唐的,而在计算机领域,“
收藏 0 赞 0 分享
查看更多