在 Linux 下使用 mitmproxy 抓取安卓手机上的 HTTPS 流量

在 Linux 下使用 mitmproxy 抓取安卓手机上的 HTTPS 流量

💡 原文中文,约2000字,阅读约需5分钟。
📝

内容提要

安卓抓包神器HttpCanary在PC上分析流量更方便。安卓7以下版本安装ssl证书即可被信任,7以上版本需要root权限。安卓设备也可使用eCapture抓包软件。本文讨论安卓7以上版本中安全性较低的应用。

🎯

关键要点

  • HttpCanary 是安卓上的抓包工具,但在小屏幕上分析流量不方便。

  • 安卓7以下版本可以直接安装ssl证书信任,7以上版本需要root权限。

  • 安全性较低的应用需要将证书移动至/system/etc/security/cacerts以被系统信任。

  • 安全性较高的应用需要阻止第三方应用使用自带的ssl证书信任范围。

  • Linux版本>=5.5的安卓设备可以使用eCapture抓包软件。

  • 本文讨论的主要是安卓7以上版本中安全性较低的应用。

  • 安装ssl证书的基本操作包括将证书文件移动到手机的特定目录。

  • 对于高版本手机,可能需要使用ADB和临时挂载的方法来安装证书。

  • mitmproxy在PC端开启http代理服务器,需让待抓包应用流量经过该代理。

  • 可以使用Nekobox等代理软件实现分应用代理,避免非目标应用流量经过代理。

延伸问答

如何在安卓7以上版本安装ssl证书以抓取HTTPS流量?

在安卓7以上版本,安全性较低的应用需要root权限,将证书移动至/system/etc/security/cacerts以被系统信任。

HttpCanary在安卓设备上有什么局限性?

HttpCanary在小屏幕上分析流量不方便,尤其是在PC上处理流量信息更为得心应手。

如何使用mitmproxy抓取安卓手机的HTTPS流量?

需要在PC端开启mitmproxy的http代理服务器,并确保待抓包应用的流量经过该代理。

安卓7以上版本的安全性较高的应用如何处理ssl证书?

需要在满足证书移动条件的情况下,阻止第三方应用使用自带的ssl证书信任范围,通常需要额外手段进行篡改。

eCapture软件在安卓设备上有什么特点?

eCapture是基于eBPF Linux内核模块的抓包软件,适用于Linux版本>=5.5的安卓设备。

如何避免非目标应用流量经过代理服务器?

可以使用Nekobox等代理软件实现分应用代理,确保只有目标应用的流量经过代理。

🏷️

标签

➡️

继续阅读