關於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>
相關文章
相關標籤/搜索