要想使用簡短講述一個工具的使用絕對是一件很困難的事。既然如此我們不妨把一個工具最重要,使用頻率最高的部分拿出來分享給大家,當(dāng)我們真正上手之后,其余功能如果用到,被發(fā)現(xiàn)反而會產(chǎn)生一種欣喜。
下載安裝(略)
移動端設(shè)置代理
-
打開wlan設(shè)置
wlan設(shè)置 -
查看代理設(shè)置
代理設(shè)置 -
修改代理設(shè)置
修改ip/端口
ps: IP地址為pc端IP地址,mac用戶,可以通過ifconfig獲取,也可通過查看網(wǎng)絡(luò)連接屬性獲取
- 驗證是否設(shè)置成功
在移動端,啟動一個app,查看pc端的charles是否獲取網(wǎng)絡(luò)請求
抓包網(wǎng)絡(luò)請求
ps:如果是首次啟動,pc端會彈出一個對話框,詢問是否允許代理請求,點擊allow表示允許,點擊deny表示禁止
分析數(shù)據(jù)包

抓包全景
分析包的過程,看就完了!看就完了!
篡改數(shù)據(jù)
-
斷點
右鍵請求的接口,選擇breakpoints選項
斷點請求 - 再次請求該接口
接口被斷住
這個時候,我們可以點擊Edit Request對于請求參數(shù)等信息進行修改,修改完成之后,點擊execute繼續(xù)執(zhí)行,得到下面的圖片
修改請求之后的響應(yīng)
在上面這個圖片,我們可以點擊Edit Response按鈕對于,返回結(jié)果進行修改,這是重點!這是重點!這是重點!這是重點!
修改響應(yīng)內(nèi)容
點擊excute之后,查看手機端展示:

修改后的手機端展示
至此,斷點篡改數(shù)據(jù)已經(jīng)完成。上面的例子只是為了讓大家更容易看到結(jié)果,實際操作過程中,不單單是修改數(shù)據(jù)讓客戶端直接展示那么簡單,更多的是修改某個字段,讓前端/客戶端進行判斷從而測試各種業(yè)務(wù)場景。
- 映射遠程接口
有些時候,由于前端和后端約定接口有一定的紀實性,即當(dāng)接口超時時如果處理,如果直接斷點可能造成超時,那么映射遠程接口或者映射本地文件就派上了用場- 先有一個遠程接口
推薦一個網(wǎng)址:https://www.mocky.io/
打開上面的網(wǎng)址,將我們需要篡改的數(shù)據(jù)直接copy進去,進行修改
生成偽造的數(shù)據(jù) -
將原有接口映射到遠程接口
右鍵接口,選擇Map Remote
映射遠程
image.png
- 先有一個遠程接口
我們再次刷新接口,即可得到修改后的結(jié)果
-
本地映射
保存響應(yīng)到本地文件
保存響應(yīng)
修改保存的本地文件
修改
選擇map localtion.....
map本地文件
至此,我們已經(jīng)可以使用Charles很6的篡改數(shù)據(jù)了,趕快去試試吧
模擬限速
charles為用戶提供了多種限制網(wǎng)速的策略,這對于需要測試弱網(wǎng)的小伙伴提供了很好的幫助

工具欄中的位置
限速策略

限速策略
寫在最后
charles其實還為用戶提供了其他很豐富的功能,大家可以在實際操作中去發(fā)掘,比如我其實還經(jīng)常用到導(dǎo)入導(dǎo)出功能,但是考慮到其他小伙伴不常用,所以不在這里具體講解了,大家可自己了解













