截获Android端数据包
关于在安卓模拟器和本机电脑上拦截微信公众号、小程序、APP数据包方法。
前言
前一段时间有在做捕获微信公众号数据包的测试,然后顺便下载了个模拟器,想着琢磨一下小程序和app的拦截使用,整理了一下笔记,下面是关于在模拟器和本机电脑上拦截微信公众号,小程序,APP数据包的做法。
准备工具如下:
BurpSuite
fiddler
夜神模拟器
微信客户端3.6版本(现在的微信高版本不得行咯)
1、在本地电脑上拦截微信公众号数据包
在本地电脑上可以通过下面这种方式拦截公众号的数据包,但是拦截不到小程序的数据包。
step 1 设置代理服务器
打开默认浏览器的Internet选项——点击”连接“——选择”局域网设置”

打开代理服务器,配置一个地址和端口:

step 2 burp配置
在burp中的proxy——options——添加代理(添加和上一步代理服务器一样的ip和端口即可)

2、 在本地电脑上拦截微信小程序数据包
拦截小程序的数据包,可以通过fiddle来拦截。同样,用fiddle也可以拦截到公众号的数据包。但是注意哦,只能使用旧版(3.6版本)的电脑微信,3.7版本的不行。然后建议先删除电脑上WMPFRuntime文件夹下的内容,再用管理员身份重新运行微信。
1 | C:\Users\Administrator\AppData\Roaming\Tencent\WeChat\XPlugin\Plugins\WMPFRuntime |
step 1 配置fiddler捕获HTTPS会话和端口连接设置
先下载并安装Fiddler,安装完成之后,打开fiddler,然后点击Tools——Options——HTTPS——勾选Decrypt HTTPS traffic——选择Yes——点击OK,完成配置。

step 2 设置fiddler代理
点击Tools——Options——Connections——设置端口——勾选Allow remote computers to connect——点击OK,设置代理完成——重启fiddler配置生效。

step 3 配置微信代理
打开电脑微信的登录界面,右上角有个设置的图标,进去之后,打开使用代理。
1 | 地址:可以为环回地址127.0.0.1,或者为下面的fiddler中提到的online中圈出来的地址。 |


连接成功,打开小程序即可拦截到数据包。
3、 fiddler和burp串联使用
fiddler拦截数据包挺快的,但是我还是感觉用burp比较顺手呀,正好它们可以串联使用。
step 1 配置burp
打开burp,配置一个代理,这里我设置为127.0.0.1:7777(注意这里设置的端口号不要和fiddle中connections中的端口号(一般默认为8888)一致。我试了一下,虽然能将fiddler的包同步到burp,但fiddler中没有显示抓包流量,而且无法访问浏览器。)

step 2 配置fiddler
在fiddler中的Tools——Options——Gateway——选择Manual Proxy Configuration配置与第一步相同的地址和端口,这里为127.0.0.1:7777

然后再次打开该窗口,点击show current gateway info可以测试是否连接成功,这样就是成功:

此时,通过fiddler的包也转发到了burp中的Proxy——HTTP history中。而且可以在burp中拦截到数据包了。
4、在夜神模拟器上用burp拦截微信公众号或小程序数据包
step 1 配置网络
打开夜神模拟器——找到WLAN设置——长按那个网络——点击修改网络:

将代理改为手动,ip为电脑任一内网ip地址(不清楚可以在cmd中使用ipconfig命令查看,我这里设置为192.168.187.1),端口自己设置为任一没被占用的端口(我这里设置为8888),点击保存:

step 2 配置burp代理
在burp中,proxy——options——添加代理(添加的和上一步在夜神模拟器网络中的ip和端口一致)

step 3 下载证书并安装
其实前面两步完成之后,已经可以用burp拦截到模拟器中公众号数据包了,但是无法访问浏览器,而且拦截小程序的数据包还有点问题,所以还是乖乖把证书下载吧。
在本机上访问之前配置的ip:端口(我这里为192.168.187.1:8888),下载burp证书:

将证书的后缀der修改为cer,然后拖拽到夜神模拟器上面:

在夜神模拟器中,进入设置——安全——从SD卡安装——选择刚刚证书的位置,证书名称任意取。第一次安装的时候可能需要设置pin码,自己任意设置即可。

此时,打开burp,在模拟器里面访问微信的公众号或者小程序即可抓取到数据包啦。如果此时还是拦截不到数据包,建议换成低版本的Android再试试,我改成Android 5之后就能正常抓包了,之前用Android 7硬是抓不到小程序包,真难受。
5、fiddler抓取模拟器上的APP数据包
step 1 在模拟器配置网络
跟之前设置模拟器的网络一样,进入WLAN,修改网络。
1 | 地址:本地地址或ipv4地址。 |

step 2 安装fiddler证书
在模拟器中下载证书(访问上一步配置的地址:端口),然后还是在模拟器中打开设置——安全——从SD卡安装证书——找到刚刚下载的证书——任意为证书取名即可。

此时,通过fiddler已经能拦截到微信公众号,小程序,app等的数据包啦。