问题的最开始我只是想要抓取需要VPN才能进入的app运行时的日志,然后在请教大佬一番后,开始研究抓包,但是需要VPN才能进入的app 等于有了两层代理,fiddler不行,Charles可以设置二次代理,又因为安卓手机系统版本太新的原因失败,然后在大佬的一番教导下尝试了postern、Magisk都以失败告终,最终使用LSPosed+chrome://inspect/#devices终于成功。
本次学习目标是:
A:完全弄懂LSPosed的原理和作用;已掌握,具体原理请查看以下文章
B:完全掌握chrome://inspect/#devices的具体抓包流程,完成对app的抓包任务;
C:进一步掌握对需要VPN才能进入的app的日志抓取方法。
以下笔记内容我会持续更新噢~
首先明确抓包和抓取日志的区别:抓包和抓取日志是两种不同的调试和分析移动应用程序的方法,它们分别用于获取不同类型的信息。
-
抓包(Packet Capture):
- 定义: 抓包是指捕获和分析应用程序通过网络发送和接收的数据包。这些数据包包括应用程序与服务器之间的请求和响应,可以用于分析网络流量、调试网络请求和响应、检查数据传输的安全性等。
- 工具: 常用的抓包工具有Wireshark、Charles、Fiddler等。
- 应用场景: 适用于分析应用程序与后端服务器之间的网络通信,查看请求和响应的内容,检测网络问题,以及诊断与服务器通信的错误。
-
抓取日志(Logging):
- 定义: 抓取日志是指捕获应用程序在运行时生成的日志信息。这些日志信息包括应用程序的输出、错误、调试信息等,可以用于诊断应用程序的运行状况,查找错误,以及分析应用程序的行为。
- 工具: 在Android中,可以使用ADB命令行工具来抓取应用程序的日志。例如,使用
adb logcat
命令可以查看设备上的实时日志。 - 应用场景: 适用于分析应用程序的运行时行为,查找和解决应用程序的错误,调试代码逻辑,以及了解应用程序与系统交互的过程。
区别:
- 数据类型:
- 抓包关注的是网络通信过程中的数据包,包括请求和响应的内容、协议、头部等。
- 抓取日志关注的是应用程序在运行时生成的日志信息,包括输出、错误、调试信息等。
- 应用场景:
- 抓包主要用于分析应用程序与服务器之间的网络通信,检测网络问题,分析数据传输。
- 抓取日志主要用于分析应用程序的运行时行为,诊断错误,调试代码逻辑。
在实际调试中,这两种方法通常结合使用,比如在日志中发现数据已经成功发生了,但是另一端还是没有接收到数据或者接收到的数据不够完整,这时就可以通过抓包工具去查找网络通讯过程中的交互是否出现了什么样的问题。其次在经过对Charles、Fiddler两大抓包工具的一番研究下,在出现版本不匹配,二次代理设置无效等问题后,最终我选择了chrome://inspect/#devices。