1. 抓包软件的准备
这里我用的是 fiddler 软件进行抓包,这个软件的配置我以前也说过了,如果还没有看过的,可以来看看抓包软件 Fiddler 了解一下?这里我需要抓的是手机 APP 的包,就只需要把这两个勾选即可。
这里在勾选的过程中还需要安装个证书,选择安装即可,如果没有安装也可以点击第一张图的右上角的 actions 进行安装
现在电脑端的准备好了。
手机端的我们还需要连接电脑上的 wifi,或者与电脑连接同一个 wifi 即可,点击 wifi 的高级设置,设置代理,代理服务器为电脑端的 ip 地址,端口就是 fiddler 上面设置的端口,我这里使用的是默认端口 8888。
接下来就是开始抓包了。
2. 进行抓取以及解决
我这里测试抓包的是使用小红书软件进行抓取。
这里看到只能抓取 http的,对于 https 的都抓取不了,都是 Tunnel to。对于这个我们首先怀疑手机是不是没有安装好 fiddler 证书,可以先去浏览器看看,能不能抓到百度的请求。
所以在手机浏览器打开百度的首页,抓到的包如下。
看到果然是 https 的包都抓不了,应该是证书没安装好,手机安装证书之只需要在浏览器上输入地址:ip:端口,ip就是你的电脑的 ip,端口就是 fiddler 设置的端口,我这里的就是 10.xxxx.xx.xx:8888。
这里点击箭头处下载证书进行安装即可,如果你的手机是 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 模块和小红书软件。
最后
在这里我和身边一些朋友特意整理了一份快速进阶为Android高级工程师的系统且全面的学习资料。涵盖了Android初级——Android高级架构师进阶必备的一些学习技能。
附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题(含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
那么很难做到真正的技术提升。**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!