时间:2025-02-12 来源:网络 人气:
最近我在研究安卓系统抓包时,发现了一个让人头疼的问题——抓到的数据包怎么也保存不了!这可真是让我抓耳挠腮,不禁想大声喊:“这可怎么办呀?”不过,别急,让我来给你细细道来。
首先,咱们得聊聊安卓系统抓包的工具。市面上有很多抓包工具,比如Packet Capture、抓包精灵、Stream、Charles等等。这些工具各有特色,但都有一个共同点——抓包。不过,在使用过程中,我发现了一个让人头疼的问题:抓到的数据包怎么也保存不了!
Packet Capture是一款无需root权限的抓包工具,它依托安卓系统自身的VPN来实现免Root抓取数据包。这款工具的功能特点如下:
1. 捕获网络数据包并记录下来;
2. 使用中间人技术进行SSL解密;
3. 无需root权限;
4. 方便快捷;
5. 以十六进制或文本来显示数据包。
这款工具也有一个缺点:无法筛选对应APP的请求。这就意味着,如果你要抓取某个特定APP的数据包,可能需要花费不少时间来筛选。
抓包精灵是一款可以选择APP抓取请求的抓包工具。它具有以下优点:
1. 选择需要抓包的APP,比如玩转地铁;
2. 开启抓包后会显示每一条连接;
3. 进入查看包内容;
4. 可查看历史;
5. 在设置页面设为为自动保存解析内容后或者在包查看页面保存解析内容后,可以dump 解析之后的数据;
6. 也可查看并dump原始数据。
不过,这款工具也有一个缺点:无法直接保存解析后的数据包。
Stream是一款专门为iOS系统设计的抓包工具。它具有以下特点:
1. 抓取手机上的 HTTP & HTTPS 请求和响应;
2. 重放和构建请求,高效调试服务端接口;
3. 支持在 iOS 上实现配置 Hosts 的效果;
4. 集成一些常用工具,如 URL Decode/Encode,md5,base64,时间戳转化等。
Stream在iOS系统上表现优异,但在安卓系统上却无法使用。
Charles是一款功能强大的抓包工具,特别适合安卓7.0及以上系统。不过,在使用过程中,我发现了一个问题:在安卓7.0及以上系统上,Charles的证书会失效,导致无法获取到HTTPS的包。
为了解决这个问题,我尝试了以下方法:
1. 准备一台模拟器或者安卓手机(Android版本7.0及以上);
2. 手机必须要ROOT权限;
3. Charles抓包环境部署;
4. 获取Charles证书;
5. 打开安卓模拟器;
6. 安装证书;
7. 重启手机。
经过以上步骤,我终于可以抓到HTTPS包了。
经过一番调查,我发现安卓系统抓包无法保存的原因主要有以下几点:
1. 部分抓包工具无法直接保存解析后的数据包;
2. 安卓7.0及以上系统上,Charles的证书会失效;
3. 部分APP绑定了自己的证书库,导致无法访问系统级别的证书库。
希望这篇文章能帮助你解决安卓系统抓包无法保存的问题。如果你还有其他疑问,欢迎在评论区留言交流。让我们一起探讨,共同进步!