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

五一假期即将过去了,大家玩得怎样?我出去玩了两天,又累钱包又伤。忽然想到自己有差不多两周的时间没有更新了,逼着自己爬起来更新文章,要不总觉得对不起那些关注我的读者,这算不算良心博主?哈哈哈哈哈!!!


最近两周我学了下安卓逆向,还要学下学校的课程,感觉再不学就要没了,而且个人也有点事,所以文章更新给耽误了。学了点安卓逆向之后,就需要应用,要不学了也是浪费时间。


爬取安卓 APP 的内容第一步总离不开抓包,自己以前对 APP 抓过包,原本以为这一关很容易,结果让我弄了好几天,期间还差点怀疑自己是不是选错了方向,还好有大佬帮忙,在此感谢几位大佬对我的帮助,自己终于迈出了第一步。好了,正文开始!



1. 抓包软件的准备


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


640?wx_fmt=png

640?wx_fmt=png


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


640?wx_fmt=png


现在电脑端的准备好了。


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


640?wx_fmt=png


接下来就是开始抓包了。



2. 进行抓取以及解决


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


640?wx_fmt=png

640?wx_fmt=png


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


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


640?wx_fmt=png


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


640?wx_fmt=png


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


640?wx_fmt=png


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


注意:如果你是在校的学生,需要使用一些软件,比如猎豹 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 模块和小红书软件。


640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png


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


640?wx_fmt=png

640?wx_fmt=png


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


640?wx_fmt=png


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


640?wx_fmt=png


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


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


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


640?wx_fmt=png


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


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


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



3. 手机抓包的总结


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

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

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

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

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



最后


看着自己经历了这么多过程,才抓上了包,真的是百感交集,太不容易了。不过这始终是第一步,后面还有更难的在等着我,如果读者里也有研究安卓逆向的大佬,也可以来交流哈,多个人一起学习进步总是神速的,嘻嘻。


END


往期文章回顾


想了解漫威的各种信息?推荐你使用这个API

深入理解Python异步编程


640?wx_fmt=png

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值