Charles實踐01-抓包及模擬網路環境

weixin_33866037發表於2017-04-11

今天測試登入模組,如果出現網路很差無響應超時的情況。(有遇到過沒有設定超時時間的bug)想到Charles是可以模擬弱網條件進行測試,在以後測試視訊畫面流暢度和網路環境關係的時候也可以用到。記錄下大概步驟。

以前在window下安裝了Charles4.0,非破解版,啟動的時候會延時10s,然後每次只能用30分鐘,需要重開。

一、Charles抓包

Charles是通過將自己設定成代理伺服器來抓包,代理設定預設埠8888。

191989-b875b875853cffd7.png

我需要抓取手機端某個應用的包,先把預設的抓取本機的包取消掉,取消勾選Windows proxy。在PC端檢視本機IP,然後在手機端設定HTTP代理為手動。將剛才查到的IP填入伺服器地址,埠填寫8888。完成後返回Charles會看到彈出手機請求連線的確認框,允許就可以了。

開啟應用,抓包,過程中發現有些請求會顯示unknow,而且提示SSL Proxying not enabled for this host

191989-e10c7334a3dbd63a.png

這因為是HTTPS請求,需要服務端和客戶端都具備認證證書。

1. 首先在PC端安裝charles ca證書,選擇Help-SSL Proxying下Install Charles CA SSL Certificate

191989-3c16b650391d4304.png

然後彈出證書資訊,選擇安裝證書,將證書儲存改為:受信任的根證書頒發機構,完成。

191989-c91cb4ff7cc0164b.png

2. 修改Charles的proxy settings,勾選Enable transparent HTTP proxying.

3. 選擇SSL Proxying settings,在Locations部分新增,Host為*,Post為443,抓取任意站點(HTTPS預設埠為443)

191989-ce33f2907bba422f.png

這樣就OK啦~~~

4. 最後還遇到個問題,測試應用的登入時,地址和埠號都不一樣,另外還提示了手機端沒有證書這個問題,在Help-SSL Proxying下選擇Install Charles CA SSL Certificate on a Mobile Device or Remote Browser,彈出以下提示框。

191989-30f0948cb1992de5.png

之前已經在手機上設定好了代理,現在去瀏覽器輸入:chls.pro/ssl這個地址就會自動跳轉到安裝charles證書的介面啦,安裝完成回到Charles,就一切OK啦~~~

191989-7b1107a4ee3e389e.png
191989-ea37014ded47d907.png

二、模擬網路環境

在Proxy-Throttle Settings下選擇網路環境並設定引數就好了。測試網路環境極差登入超時的情況,把下載上傳引數設很小就可以啦~

191989-a36e47d1bbdc4233.png

相關文章