引言 由于android7以上版本对于fiddler、charles、mitmproxy等抓包工具的CA证书直接识别为不可用(即默认不支持抓取https的数据包)。因此,需要在android工程项目(开发或测试人员)中添加“网络安全配置”,最终让android信任抓包工具的CA证书。 学习内容:

  • android项目中添加“网络安全配置”
  • android7+数据抓包验证

原因(痛点):Android N(SDK 24)推出的安全变更,Target SDK >24 的应用默认不再信任任何系统和用户证书,如需添加信任需单独在AndroidManifest.xml增加配置

1.android项目配置信任的CA证书

1.CA证书配置

  • 【step1】在app > res > xml中,新建文件【network_security_config.xml(文件见附件表1)】,如图1所示:
  • 【step2】在app > manifests > AndroidManiftest.xml > application(标签对)引入【network_security_config.xml】文件,如图1所示:

android7-ca.png
图1 android项目配置信任的CA证书

2.CA证书(附件)

附件(表1)
android项目清单文件 AndroidManifest.xml.txt
CA证书配置文件(xml) network_security_config.xml

2.抓包工具验证CA证书配置

务必(保证)

说明 右侧三点缺一不可

- android设备成功连接fiddler/charles/mitmproxy的代理端口

- android设备安装抓包工具CA证书

- android设备安装(特使处理过,即章节1)的apk

ok.png