安卓抓包,为何总是 Tunnel to?

爬取安卓 APP 的内容第一步总离不开抓包.

1. 抓包软件的准备

这里我用的是 fiddler 软件进行抓包,这个软件的配置我以前也说过了,如果还没有看过的,可以来看看抓包软件 Fiddler 了解一下?这里我需要抓的是手机 APP 的包,就只需要把这两个勾选即可。

 

 

安卓抓包,为何总是 Tunnel to?_第1张图片

安卓抓包,为何总是 Tunnel to?_第2张图片

这里在勾选的过程中还需要安装个证书,选择安装即可,如果没有安装也可以点击第一张图的右上角的 actions 进行安装

 

 

现在电脑端的准备好了。

 

手机端的我们还需要连接电脑上的 wifi,或者与电脑连接同一个 wifi 即可,点击 wifi 的高级设置,设置代理,代理服务器为电脑端的 ip 地址,端口就是 fiddler 上面设置的端口,我这里使用的是默认端口 8888。

安卓抓包,为何总是 Tunnel to?_第3张图片

 

接下来就是开始抓包了。

 

 

2. 进行抓取以及解决

 

我这里测试抓包的是使用小红书软件进行抓取。

安卓抓包,为何总是 Tunnel to?_第4张图片

安卓抓包,为何总是 Tunnel to?_第5张图片

 

这里看到只能抓取 http的,对于 https 的都抓取不了,都是 Tunnel to。对于这个我们首先怀疑手机是不是没有安装好 fiddler 证书,可以先去浏览器看看,能不能抓到百度的请求。

 

所以在手机浏览器打开百度的首页,抓到的包如下。

安卓抓包,为何总是 Tunnel to?_第6张图片

 

看到果然是 https 的包都抓不了,应该是证书没安装好,手机安装证书之只需要在浏览器上输入地址:ip:端口,ip就是你的电脑的 ip,端口就是 fiddler 设置的端口,我这里的就是 10.xxxx.xx.xx:8888。

 

安卓抓包,为何总是 Tunnel to?_第7张图片

 

这里点击箭头处下载证书进行安装即可,如果你的手机是 miui 系统的,需要到 wifi 设置 -> 高级设置 -> 安装证书 -> 选择刚才下载的证书安装即可。这里不建议使用 miui 系统的手机进行抓包,坑太多,安卓版本过高的话即使安装了证书也没用。

 

安装好证书之后就可以正常抓取 百度首页的包了。

 

注意:如果你是在校的学生,需要使用一些软件,比如猎豹 wifi 或者 wifi 共享大师 来开启电脑 wifi 以供手机连接的话,抓不到 https 的包也和这个有关系,我这里的校园网就有这个问题,为了抓个包我下载了三个软件来开 wifi,最后能正常抓取的只有 360免费wifi 开启的 wifi 才能正常抓取。我只想说抓个包容易吗?还有不同的校园网可能检测 wifi 软件的机制不一样,所以当你什么都准备好了,还是抓不了包的话,可以更换下 wifi 软件,说不定有惊喜。

 

证书安装好了,继续打开小红书看看能不能抓包。结果还是不行

 

这个因为我的手机是安卓系统 7.0 以上的,里面有个 ssl pinning,这个东西是对客户端的证书进行验证,如果遇到不信任的证书,就会断开连接,不继续请求。如果还是不懂的话可以看看这两个链接:https://zhuanlan.zhihu.com/p/56397466

 

https://github.com/WooyunDota/DroidDrops/blob/6b3008bd409d539775b627ab49580035d8524eb0/2018/SSL.Pinning.Practice.md

 

这里我也是参考上面第一个连接的做法,就是安装 xposed + justtrustme,当然安装这个的前提需要你的手机有 root 才行,如果没有话,推荐你使用 virtualXposed + justtrustme,这两个也行。

 

我的手机是有 root 的,但是用了第一个的方案之后还是抓不了包,情况还是和前面一样,所以我改用了第二种方案,这里见到那说下 virtualXposed 的用法。

 

下载地址:https://github.com/android-hacker/VirtualXposed

插件下载:https://github.com/Fuzion24/JustTrustMe

 

两个软件都进行安装之后,打开 virtualXposed ,我们就需要在这个软件添加我们安装的 justtrustme 模块和小红书软件。

 

安卓抓包,为何总是 Tunnel to?_第8张图片

安卓抓包,为何总是 Tunnel to?_第9张图片

 

安卓抓包,为何总是 Tunnel to?_第10张图片

安卓抓包,为何总是 Tunnel to?_第11张图片

 

安卓抓包,为何总是 Tunnel to?_第12张图片

 

这样我们就添加我们需要的应用了,我们还需要开启这个应用。

 

安卓抓包,为何总是 Tunnel to?_第13张图片

安卓抓包,为何总是 Tunnel to?_第14张图片

 

这个打上钩,再重启下软件,点这里重启即可

 

安卓抓包,为何总是 Tunnel to?_第15张图片

 

再在 virtualXposed 上面打开小红书软件,再看 fiddler,包都有了。

 

 

看着这里好像挺容易的,其实我之前怎么抓都抓不到,上面的方法都试过了还是不行,不知道为啥今天复原就可以了,真的很奇怪,这是不是当时的很心态问题?不懂不懂。

 

如果使用上面的 justtrustme 模块还是抓不到的话,我们还可以使用 sslpinning 这个模块,下载地址:https://github.com/ac-pm/SSLUnpinning_Xposed

 

这个也是需要先添加模块到 virtualxposed 上,再在模块管理上面打个钩,然后重启下软件即可,不过还需要打个 unpinning

 

安卓抓包,为何总是 Tunnel to?_第16张图片

 

这里直接在所需要抓包的软件上点一下就会出现这个,就可以跳过 sslpinning 的检测了,这软件是 辰溪大佬推荐的,也挺不错的,在这里再次感谢他指导我,要不我都放弃了。

 

相关的效果就不多说了,还是一样能抓到包。

 

我想了想下之前折腾了这么久都抓不到包,我是卡在了 xposed 这个软件上,死都要使用这个框架,导致我 root 了什么都做了,还是抓不了,估计是这个框架的问题或者是我的手机有问题,我换了个不需要 root 的virtualxposed 就可以抓到包,有时候嘛,还是不要钻牛角尖,换个东西马上就能好的东西,干嘛还要死活往一个地方钻,当时能想到换一个框架该多好。

 

 

3. 手机抓包的总结

 

抓不了手机上的 https 的包,可以在下面三个地方入手:

  1. 手机或者电脑的证书没安装好,去安装即可

  2. 软件加入了 sslpinning 检测,需要绕过,使用 JustTrustMe 或 sslUnPinning 即可

  3. 校园网开 wifi 的问题,一般只有学生党有这种问题,换个软件试试即可

  4. 以上都解决不了的,可以看看这个大佬写的,https://zhuanlan.zhihu.com/p/63028507,同时也推荐关注下这个专栏,专栏挺不错的,还有人也不错。

你可能感兴趣的:(APP测试,安卓抓包,为何总是,Tunnel,to?)