什么是抓包?
抓包(packet capture)就是将网络传输发送与接受的数据包进行截获、重发、编辑、转存,也用来检查网络安全,也经常进行数据截取
所以,抓包的目的是?
- 分析数据传输协议
- 定位网络协议的问题
- 从数据包中获取想要的信息
- 将截取到的数据包进行修改,伪造,重发
抓包的重要性
网络抓包,是Android应用逆向分析的重中之重,很多时候我们拿到一个APP,不知道从何入手分析,往往是从抓包开始,先弄清楚他与服务器通信的内容,如果一目了然,我们完全可以照搬,自行写一个程序来模拟,如果有一些加密字段和随机字段,也不用担心,我们可以从抓包中了解到一些关键的URL和session之类的信息,然后再反编译分析代码的时候,这些字符串可以帮助我们更快的定位关键代码所在之处。
抓包工具有很多,我采用的是Android studio自带的 Profiler
我今天就着重讲一下
如何使用Android Studio Profiler 抓包
我写了一个demo
一. 我们运行到手机上,并点击下方工具栏中的Profiler
二.选择设备及应用,并点击NetWork
三.抓取数据
就抓取到数据了
注意
可能会出现,使用profiler查看返回的json时,会返现里面的汉字都是乱码现象,解决办法:
- android studio -> help ->Edit Custom VM options
- 在这里加一个 JVM 启动参数
- -Dfile.encoding=UTF-8
- 重启studio就没乱码了
不过一个小问题,我运行到模拟器上没用,但运行到手机上就可以进行抓包了,如果大家有解决办法,可以在评论区告诉我!
今天的分享就到这里了!