Charles抓包工具的常用場景
Charles是一款代理服務器(與Fiddler一樣),通過成為電腦或者瀏覽器的代理,然後截取請求和請求結果分析數據的目的。
在測試過程中,經常使用該抓包工具達到一下幾種目的:
模擬網絡請求:可選擇已有的網絡速度,也可手動編輯網速
模擬request請求數據、模擬response響應數據
黑名單:模擬請求超時、模擬請求返回404等
環境準備工作
1、手機設置代理
連接wifi—代理—設為手動—填入charles所在電腦主機名(cmd--ipconfig)、端口號(8888)--確定
2、Charles設置端口號:proxy—proxy setting--8888--OK
3、SSL代理設置
Proxy—SSL proxy setting—填入主機名及端口號
4、Proxy—start throttling
通過以上四個步驟設置完成後,就可以開始進行測試
設置黑名單
1、選擇需要加入黑名單的請求,鼠標點擊右鍵--選擇black list即添加成功
2、查看/修改已加入黑名單的請求
菜單路徑tools--black list;一般測試過程中用來模擬請求超時(Drop connection)或者返回403(Return 403 resopnse)
注意:
當黑名單添加成功後,對1001端口進行抓取,如圖:
將黑名單去除後,對1001端口進行抓取,如圖:(200為獲取成功)
設置斷點
設置斷點,可以修改請求request數據,也可以修改response響應數據。
1. Breakpoints settings(手動編輯斷點內容)
目前使用fiddler發現設置斷點,該工具有的返回的格式不是json,導致客户端不會展示
使用charles工具,可以避免該問題,具體操作如下
對要打斷點的接口右鍵,選擇【Breakpoints】,添加到斷點列表後,進入proxy- Breakpoints settings設置斷點的類型
斷點類型分為:request斷點、response斷點
此處設置的斷點,需要實時編輯對應的斷點內容
2、自動將指定的響應(response)數據改為固定返回值
1)選擇某一個網絡請求>鼠標右鍵Save Response...
2)如果該請求返回的是一個json串,保存文件時需要保存21006.json
3)需要更改的請求點擊右鍵Map Local..指定到本地保存的21006.json
4)通過在本地更改21006.json就可以自動的更改請求的返回值。避免每次使用時修改breakpoints中的返回值,提高效率
3、自動將指定的請求(request)數據改為固定返回值
1)選擇某一個網絡請求>鼠標右鍵map remote,請求添加成功後
2)點擊tool>map remote settings進入設置頁面,雙擊該請求打開編輯頁面
3)將編輯好的響應數據填充在編輯框的下半部分,如下圖
按上述操作成功後,再次發起該請求,會自動使用已設置好的請求數據