关于Android 7.0没法进行https抓包的问题

  在App进行数据请求的时候,若是每次都打印log去判断是一件很不“人性化”的操做行为,因此通常都会进行抓包分析。html

  以最经常使用的软件Fiddler来讲,进行普通的http抓包没什么事,可是对https的抓包,要在本地安装Fiddler 的证书才能够,由于https是加密的。又由于是本身安装的拦截证书,系统一般都会提示,你的网络可能已被监控……android

  Android 7.0如下,安装完证书就能够进行https的抓包了,可是7.0发现,即使安装了证书仍是不能进行https的抓包,一搜……果真有内幕,Google又在7.0改网络的安全性配置,把颗粒度缩小的应用级别了……安全

  官方说明文档:https://developer.android.com/training/articles/security-config.html网络

  也就是说,系统即使安装了证书,应用自己是能够选择信任,也能够选择不信任。主动权从系统移到的各个应用自己。app

  怎么进行配置呢?同窗们本身点进去看就知道了,仍是很简单的,并且还能够进行debug和release的区分配置。这里给那些不会***的同窗,贴一下宇宙通用的配置(就是信任一切证书……)ide

  配置文件:res/xml/network_security_config.xml加密

<network-security-config>
    <base-config cleartextTrafficPermitted="true">
        <trust-anchors>
            <certificates src="system" overridePins="true" />
            <certificates src="user" overridePins="true" />
        </trust-anchors>
    </base-config>
</network-security-config>

  AndroidManifest.xml 文件的配置spa

<?xml version="1.0" encoding="utf-8"?>
<manifest ... >
    <application android:networkSecurityConfig="@xml/network_security_config"
                    ... >
        ...
    </application>
</manifest>
相关文章
相关标签/搜索