介面測試之抓包實戰解決 Android 高版本無法抓取 https
場景介紹
相信這個問題很多人都遇到過Android7.0以上系統無法抓包的問題,由於在測試過程中對分析定位問題很不方便,所以就想找了解決的辦法讓公司的開發童鞋改了改(畢竟我不能改開發程式碼,要是可以的話我就......),成功之後,就讓開發寫了一篇總結文章出來?,結果開發也說搞不定,於是自己百度,自己解決,所謂前人種樹後人乘涼嘛~~以下就是解決辦法。
問題來源與本身
遇到的問題:Android6.0及以下系統可以抓包,而Android7.0及以上系統不能再抓包?
產生原因:Android7.0+的版本新增了證照驗證,所以app內不再像原來一樣預設信任使用者的證照
解決思路
當時我立即採取了,如下解決措施
1.先百度
2.問開發
3.問同行
百度結果
看來看了網上大部分的部落格得到如下解決方案
方案一實現如下:
a.在Android工程目錄的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>
b.在AndroidManifest裡的標籤中,新增程式碼:
android:networkSecurityConfig="@xml/network_security_config"
然後從新編譯打包即可抓包,很是方便,對應開發童鞋來說,也是很方便,但是,測試的是企業微信小程式,想讓企業微信的開發人員幫我這麼幹,簡直是白日做夢,還不說安全的問題等。。。。。
方案二實現如下:
a.找一個低於6.0或者等於6.0版本的Android裝置或者模擬器,即可解決,但是考慮到:治標不治本,公司本身就沒有這樣的裝置,再加上找了幾個模擬器,都是Android7.0版本的,所以此方案,直接選擇放棄。
問開發結果
開發去研究了半天,結果過來告訴我,我的ios是可以抓包的啊,Android的我就不知道了,這是,我頓時想掀桌子。。。。。
問同行結果
同行提供瞭如下方案
1.使用方案1
2.換個工具抓,例如fidder,或者BurpSuite等,但是自己使用了,還是不行
3.直接去ng哪兒攔截,但是我需要抓取的有一部分是第三方的介面,前方已經高能,此路不通
最後還是不死心,還是自己繼續百度,要不上github找一下看看,終於黃天不負有心人,終於找到了滿足的條件的解決方法
最終解決方案如下
charles + VirtualXposed + JustTrustMe
實現步驟
進入github下載如下兩個pages
VirtualXposed:https://github.com/android-hacker/VirtualXposed
JustTrustMe:https://github.com/Fuzion24/JustTrustMe
第一步
使用如下adb命令分別安裝兩個pages
adb -s R3J6R19B20004228 inatall VirtualXposed
adb -s R3J6R19B20004228 install JustTrustMe
第二部
安裝完成進入VirtualXposed apk應用,點選6個小點進入設定頁面
第三步
進入設定頁面,點選模組管理,勾選JustTrustMe(當然我並沒有找到它,可能是我這個版本不需要在手動選擇了,安裝之後自動識別到了)重啟之後我們重新進去設定頁面,新增我們需要抓包的應用即可,我這裡選擇的企業微信做案例
第四步
點選新增應用,選擇需要抓包的軟體安裝
配置charles抓包
設定charles代理,此處不再說明,相信設定代理大家能自己解決,手機設定wifi裡面代理改成手動。輸入ip,埠:預設8888,注意手機和電腦在一個wifi下就ok,
第六步
回到VirtualXposed 上滑解鎖,開啟我們之前安裝的企業微信,則發現charles已經成功抓取到企業微信的HTTPS的資料包
總結
有時候,遇到問題很慌,不知所措,但是,作為一個合格的測試人員,遇到事情,應該泰山崩於前而色不變 麋鹿興於左而目不瞬,就比如本次經驗來說,開發都放棄了,但是經過一波幾折,最終還是通過自己的努力解決了,技術的道路沒有捷徑,需要我們一步一個腳印的走下去。就好比這件事情,研發都說搞不定了,我搞定了,研發看我的眼光都不一樣了,以後提bug也更加有說服力了?。
結束語
最後還是那句話,技術菜,可以被鄙視,文章寫得爛可以被噴,但是,學習的心不能被質疑
相關文章
- 測試必備工具之抓包神器 Charles 如何抓取 https 資料包?HTTP
- 從原理到實戰,全面總結 Android HTTPS 抓包AndroidHTTP
- Android https 抓包指南AndroidHTTP
- Android平臺HTTPS抓包解決方案及問題分析AndroidHTTP
- iperf測試抓包
- Https抓包HTTP
- Android 7.0 Https抓包單雙向驗證解決方案彙總AndroidHTTP
- 介面測試之深入理解HTTPSHTTP
- 介面自動化之介面整理(抓包)
- 【Charles】Https抓包HTTP
- UiBot無法抓取Chrome元素和資料抓取工具無法使用的解決方案UIChrome
- loadrunner12.6快速實戰之透過抓包來獲取app測試指令碼APP指令碼
- Android7.0以上使用Charles抓包HttpsAndroidHTTP
- android開發--防止介面被抓包Android
- Android抓包 Charles http介面除錯AndroidHTTP除錯
- 我就想學介面測試,為什麼還要學 Fiddler 抓包,抓包是什麼鬼?
- Charles 4.2.1 HTTPS抓包HTTP
- Charles抓HTTP,HTTPS包HTTP
- Charles配置https抓包HTTP
- 詳解Android/IOS平臺下抓包工具使用以及抓取API介面AndroidiOSAPI
- 介面測試的解決方案
- charles 抓包 https 亂碼HTTP
- 通過抓包分析 HTTPSHTTP
- 介面測試之DDT,純程式碼實戰,學起來
- iPhone 在使用 Charles 抓包情況下無法開啟 APPstore 解決方法iPhoneAPP
- Charles對Android手機Https請求的抓包AndroidHTTP
- 談談HTTPS安全認證,抓包與反抓包策略HTTP
- https 真的安全嗎,可以抓包嗎,如何防止抓包嗎HTTP
- Fiddler抓包工具入門:軟體測試員必知的抓取https協議的方法HTTP協議
- Android studio無法提醒v4包的解決方案Android
- 介面高併發壓測入門實戰
- 介面自動化測試實戰之智慧場景如何攻破
- Wireshark抓包工具解析HTTPS包HTTP
- 故障排除-丟包嚴重的抓包解決
- 網站安全漏洞測試對抓包嗅探埠講解網站
- 介面自動化測試解決方案
- Android WebView 無法載入HttpsAndroidWebViewHTTP
- 測試平臺之介面測試