1. 程式人生 > >Charles抓包三個小技巧:抓取Https、重定向某域名、限流

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