Charles應該是目前最常用的代理軟件(之一),使用簡單。Charles強大的抓包與協議調試代理功能可以滿足我們大部分需求,居然還免費(我可沒說有破解版)。日常測試中,我嗎常用的幾個功能主要是抓取網絡請求,查看協議內容,修改請求與響應,另外斷點功能以及過濾功能也很實用。簡單總結下,各位老鳥請無視,本菜鳥還要飛上天呢。
- 修改網絡請求
有時候為了調試服務器的接口,需要修改請求的內容與參數。Charles可以方便我們對網絡請參數的修改。在網絡請求上右鍵,選擇Edit,即可創建一個新的網絡請求,設置請求方式,修改URL請求以及header等內容,甚至可以手動添加對象字段,完成后點擊Execute即可運行。
- 修改服務器返回內容
Charles提供了Map功能、Rewrite以及Breakpoint功能,都可以修改服務器返回內容。其中map功能可以直接將返回匹配為目標文件,map可以匹配網絡文件,使用Map Remote功能,也可以map local匹配本地文件。一般情況下,我們可以將一個網絡響應保存到本地,通過編輯器進行修改參數內容,再使用Map Local替換,即可達到目的。
首先對目標網絡請求右鍵,選擇Save Response。打開編輯器修改參數內容后保存。再右鍵選擇map local,設置好協議類型、端口號等參數,保存后即可。
- Rewrite功能
Rewrite功能一般對發送的請求或者網絡響應內容按照指定的樣式替換,不過是對所有經過Charles網絡包進行修改。Map功能則是指定了某一類型的網絡響應修改與替換。在Proxy選項里選擇Rewrite,可以選擇本地已經存儲的Rules,也可以按照目標設定。選擇修改的類型,Request與Reponse的選擇則視情況而定,填好指定字段以及需要替換的內容,保存即可。可以根據需要選擇替換一處還是多處。
- Breakpoints。
- 過濾網絡請求
對網絡請求進行過濾有兩種方法,第一個就是在所有的請求中進行關鍵字過濾。選擇Sequence模式,在中間Filter一欄中輸入查看的關鍵字即可進行過濾。
另外一種方式在Charles的菜單欄里選擇“Proxy”-->Recording Setting,在include欄中選擇添加對應的目標地址與端口號,這樣就只會抓取目標請求。
- 弱網絡測試
Charles可以模擬慢速網絡或者高延遲等弱網絡情況。在選擇中,Proxy中選擇Throttle Setting,選擇enable后,可以選擇自己想要設置的網絡以及帶寬速率。
- 允許終端接入
每次有新手機接入代理時都需要通過,尤其是在需求方體驗的時候,比較麻煩。可以在設置允許直接接入代理,這樣就你可以省去不少小麻煩。
Proxy中選擇Proxy Aceesee Setting,新窗口中可以看到已經允許連接的終端IP。選擇add功能,輸入0.0.0.0/0,保存。即可任意手機連接了。
