工具 | Android各系統 https Charles 抓包
作者所有文章,只為記錄測試學習之路,全是作者再整理過,且成功。 點關注不迷路! 歡迎交流溝通,同在學習的夥伴們也可以點波關注共同成長。另,求大神帶hhhhhhhh!
本文適用:Android + Charles 4.x,作者成功案例:華為 Android 6.0 + Charles 4.2.7 以及 小米手機 + Android 7.1.2 + Charles 4.2.7。(IOS https 抓包,請看上一篇 ofollow,noindex">工具 | IOS https Charles 抓包 ;charles 啟用和 http(IOS & Android)抓包請看: 工具 | Charles 4.2 啟用與入門使用 )
Android 的 https 抓包要分 Android 7.0 以上和 Android 7.0 以下兩種情況。 Android 7.0 以下安裝證書即可, Android 7.0 以上除了安裝證書還需要Android開發配合加程式碼。
一、Android 7.0 以下 https 抓包
作者成功案例:華為榮耀8 Android 6.0 + Charles 4.2.7,參考IOS https 抓包: 工具 | IOS https Charles 抓包 。
1. 獲取地址:
點選 Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device ,出現彈窗得到地址 chls.pro/ssl (不用動,這個地址要輸入到手機瀏覽器)。
2. 手機安裝SSL證書:
在手機Safari瀏覽器輸入地址 chls.pro/ssl (注意別輸錯啦,作者輸成 chls.pro.ssl,半天沒有證書彈出安裝,搞了好久),就會出現如下證書安裝頁面,無論跳出什麼頁面和彈窗都點選安裝,直至完成。 一定要記住證書安裝在哪個目錄下了!有用的!
如果手機沒有辦法下載(我發現小米手機下載下來是錯的,是一個 .crt 檔案),就在電腦上下載好(瀏覽器輸入 chls.pro/ssl 即可下載)證書匯入手機。留意匯入到哪個資料夾下。
注意1: ① 設定好手機HTTP代理;② 電腦上Charles要開著; 不然輸入這個網址 chls.pro/ssl 安裝不了證書,開啟的是Charles官網。 ③ 一定要記住證書安裝在哪個目錄下了!

手機安裝證書
3. 手機信任證書
根據自己的手機找到 “從SD卡安裝” ,作者成功案例是華為榮耀8手機:設定---高階設定---安全----從SD卡安裝---內部儲存空間,找到之前證書的安裝位置,點選證書,彈出為證書命名,命名好之後點選確定。

為證書命名
作者試了幾部其他手機,小米手機:設定---更多設定---系統安全---從SD卡安裝,華為 nova 2s:設定---安全與隱私---更多安全設定---從SD卡安裝,其他手機就讀者自己去找到 “從SD卡安裝”並安裝證書了。
4. Charles設定Proxy
① 點選 Proxy -> Proxying Settings..., 如圖所示勾選和填寫。

點選 Proxy -> Proxying Settings...

Proxying Settings
② 點選 Proxy -> SSL Proxying Settings..., 勾選 Enable SSL Proxying, 點選 Add。Host 設定要抓取的 https 介面 , 比如: Host 填寫: https://api.weibo.cn,Port 填寫: 443 (埠都是443)。不知道 Host 的,可以先抓下包,然後複製 URL。
此時,讓手機重新發送 https 請求,可看到抓包。
二、Android 7.0 以上 https 抓包
這裡要分兩種情況:① 抓自己開發的 app 的 https 包;② 抓第三方 app 的 https 包,比如微博客戶端。
1. 抓自己開發的 app 的 https 包
(可以不看,直接看下一段)對於 Android 7.0 (API 24 )以下,可以直接使用 Charles 安裝相關證書配置好代理後直接實現( ↑↑↑ 上文)。但是在 Android 7.0 之後,Google 推出更加嚴格的安全機制。至於具體怎麼配置, Google 官方 給出超級全面解釋。

Google 官方
讓 Android 開發加入 ↓↓↓ 以下程式碼並重新打包,就可以抓到 Android 7.0 以上系統 https 的包了。不展開討論,能用就行。這是一種既簡單又安全的辦法,在除錯時可以信任的證書( 正式包不可用 )。

讓 Android 開發加入以上程式碼並重新打包
作者成功案例:小米手機 + Android 7.1.2 + Charles 4.2.7。
2. 抓第三方 app 的 https 包
使用 Android 7.0 以下的系統,安裝應用,並抓包hhhhhhh!