如何为Android应用抓取HTTPS网络包

背景

在Android 7.0之后(Android SDK/API level 24),Android安全团队更改了Android系统处理可信证书颁发机构(CA)的方式,这个改变提高了Android应用的安全等级,大多数应用或者用户是不会感受到这些变化带来的影响。

这很安全。

但对于某些技术人员来说,就不能再像往常一样使用Fiddler作为代理服务器进行Android应用问题的排查。

https://docs.telerik.com/fiddler-everywhere/traffic/configure-android

这很不酷。

马伯恩的小站作为一个技术分享的(有的没的)网站,必须要让它起来。

关键词

  • Android Studio 安卓官方的IDE。
  • HTTP Toolkit 一个漂亮的开源工具,在各个平台上进使用HTTP(S)进行调试、测试、重构。
  • 伯恩云盘 本文提供一些可供下载的链接,例如Android Studio, HTTP Toolkit等等。 Hosted By Bourne Cloud
  • 马伯恩的小站

安装Android Studio和HTTP Toolkit

下载安装包

鉴于我国特殊的网络环境,访问下载Github或者Android Studio的内容可能比较麻烦,伯恩云盘提供了下载链接:

Android Studio + HTTP Toolkit安装包

安装Android Studio + HTTP Toolkit

安装很简单,就是下一步,下一步,完成。

配置Android Studio

  • 新建一个空白的Android项目:
  • 设置项目属性,默认设置就行,直接下一步:
  • 点击完成,可以看到整个项目的预览:
  • 在右侧,我们可以看到有一栏,叫做Device Manager,也就是设备管理。点击create device,我们可以通过它创建我们的Android模拟器。
  • 点击高级设置,我们可以增加Android模拟器的性能,更大的内存,更多的处理器,最后点击完成。
  • 查看创建完成的设备:

启动Android模拟器

  • 启用安卓模拟器之后,我们可以看到一个在模拟器中运行的安卓系统:
  • 通过鼠标,我们可以代替手指来控制安卓系统:

在Android模拟器中安装并启用HTTP Toolkit APK

在模拟器中安装APK应用很简单,直接拖进去就行了。我一开始尝试用命令试了半天,真不如拖的方便。

  • 在模拟器中启动HTTP Toolkit,此时toolkit处于等待连接的状态:
  • 在电脑端启用HTTP Toolkit,并搜索Android,然后选择Android device via ADB:
  • 启用之后,Android模拟器中的HTTP Toolkit就会自动处于连接状态:

开始抓包和分析

  • 以power apps为例: 我们在建立代理服务器连接之后,可以正常抓取登录的HTTPS通信:

大功告成!我们可以对棘手的安卓手机应用端问题进行分析,排查并解决。

总结 & 结束语

  • 图文写Markdown还是挺不错的,不得不再吹一下伯恩云盘,所有的博客的图床都是托管在伯恩云盘中的,又快又稳~

  • 有的没的。

Rclone云盘管理工具
为伯恩云盘启用双因素身份验证(2FA)