需求:
想要抓取移动端的app中的音视频数据
比如此处的安卓中某app中有很多配音的视频:
想要爬取下来。
对于移动端app,不论是ios还是Android,都应该是类似的逻辑。
ios app 抓包
Wireshark抓包iOS入门教程
好像有很多工具都可以抓包
不过突然感觉像是:
给app设置了代理后,用任何工具抓包都是可以的。
只不过抓包工具这个软件是否好用,需要研究和对比而已。
更主要的是:
看到http的各种请求后,app内部的数据,是否能抓取出来,才是重点。
android app 抓包
都提到了:
- Fiddler
- Charles
还有:
- AndroidHttpCapture
- tcpdump
- tPacketCapture
- Burpsuite
- wifikill
这个解释的很全:
“两种方式,各有优劣且互补,一般第一种即可,对于不走代理的 App 选择第二种方式
第一种Fiddler:
利用 Fiddler 抓包,适合大多数走代理的应用,优点 (1) 无需 root (2) 对 Android 和 Iphone 同样适用 (3) 操作更简单方便(第一次安装配置,第二次只需设置代理即可) (4) 数据包的查看更清晰易懂,Fiddler 的 UI 更简单明了 。可见:http://www.trinea.cn/android/android-network-sniffer/
第二种 Tcpdump:
对于不走代理的 App 可以利用 tcpdump 抓取 andorid 手机上网络数据请求,利用 Wireshark 查看,可见:如何利用Tcpdump抓取andorid网络数据请求,Wireshark查看”
“电脑上安装个Charles,然后在Android手机上设置下代理,就可以在Charles上监听到了。想看https的请求就稍微麻烦一些些,手机上得先安装下证书,具体可以参考Using Charles Proxy to Optimize Mobile App Performance
mac 上面使用charles
Windows上使用fiddler
服务器上可以使用mitmproxy
以上三者都可以做到https的解析”
如果后期遇到了类似问题:
“ios 的app 只要打开Fiddler 代理抓包,app 就没法联网,点击加载按钮,fiddler的抓包记录照样是https加密的,你同样没法看到。刚开始一直以为是证书的问题,用了certmaker,换了charles,问题依然存在。今天有点进展了,抓不到包是因为app使用了SSL Pinning。”
也可以用上述帖子中方法去解决。
“做了证书检测,禁止中间人代理 ssl pining 证书验证,一搜一大把”
- Packet Capture
此处是Mac下,想要抓包Android的app
所以优先考虑:Charles
【已解决】Mac中用Charles去对Android手机中app抓包
手机端用上有线网络的Mac的Charles设置的Http的代理后,可以上网了。
但是还是没看到抓包
后来才发现是:需要手机中去使用软件,其中有从网络请求数据,
比如打开微信去显示聊天数据了
这时,Charles才检测并提示:
A connection attempt to Charles has been made from the host 10.108.133.188. You should only allow
access to Charles to trusted users. If you deny this attempt you will not be asked again for this host
address until you restart Charles. Access controls are maintained in the Access Control Settings in the
Proxy menu.
点击Allow
然后手机端正常使用app,然后看看
手机APP中正在打开这个页面:
然后Mac中Charles终于可以抓包了:
然后就可以去调试信息,找到我们要的视频文件了:
至少这个4M多的文件,像是视频:
接下来就是去研究,如何我抓包,下载到完整的视频的信息了。
【未解决】用Charles抓取Android的app中的视频数据
之后没有解决,所以再去换用iOS的iPhone:
【已解决】Mac中用Charles抓取iPhone中app中https的数据
最终整理出完全的操作流程和注意事项,详见:
【整理】Mac中用Charles抓包iOS或Android手机app中包括https的数据
接着,再去抓包分析搞清楚,如何获取到https的mp4的视频地址
【未解决】Charles抓包分析某app中如何获取mp4视频地址
由于没有解决此处我自己的特殊的锤子M1L的安卓手机的root问题,导致没法破解的方式,保证Charles的证书正确安装,导致无法Charles抓包并解析https数据。
所以此处去换用iOS的iPhone试试看看效果。
转载请注明:在路上 » 【已解决】抓取手机移动端中app的音视频数据