Charles抓包三個小技巧:抓取Https、重定向某域名、限流
一、抓取Https--以Android平臺為例,其他平臺類似:
總計三步:
1.PC端charles安裝CA證書
開啟charles
help-->SSL Proxying-->Install Charles Root Certificate,下圖為安好的證書:
2.Android裝置安裝CA證書
help-->SSL Proxying-->Install Charles Root Certificate on a Mobile Device Or Remote Browser
在Android裝置的瀏覽器中,輸入chls.pro/ssl安裝證書即可,目前大部分安裝裝置,安裝該證書,需要開啟安全驗證,有密碼、指紋、人臉識別等方式。
3.設定charles的ssl proxy項
Proxy-->SSL Proxying Settings中加入要抓取的https哉名,支援正則表示式及萬用字元,我需要抓取所有與sohu域相關的,配置如下圖:
注意:Https預設埠為443,對比於http為80
經過上述三步的配置,Charles就可以抓取Https請求,下圖為抓取到的例子:
返回值為非加密內容了:
charles抓取Https的原理我已經整理完畢,請檢視另一篇文章:https://blog.csdn.net/kcstrong/article/details/84871568。
二、重定向某域名
在某些場景下,可能需要將域名進行重定向,比如:
a.伺服器新提供的介面,只有臨時ip,未部署到生產環境,客戶端為了驗證,需要將域名定向到某ip,在PC端,可以通過設定Host達到該目的,但客戶端設定Host需要Root,目前Android裝置已經非常難以Root了,Charles提供了可以重定向的能力。
b.遇到一個偶發的場景,需要將某一類域名全部攔截,測試一下無網環境。
要實現重定向,操作方式為:
開啟Charles
Tools-->Map Remotes
上圖中為我配置的攔截全部圖片請求的引數。各設定項含義均較為簡單,不展開說明,實在不理解的可以看一下charles的使用說明。
三、限流
客戶端使用場景多種多樣,有很多弱網情況,比如地鐵,還有一些移動訊號難以覆蓋到的角落,在開發環境下要模擬弱網場景,可以用charles進行限速:
開啟charles
Proxy-->Throttle Settings
上圖所示,將全部下行網路請求限速為20kbps