charles抓包https/模擬弱網/設置斷點/修改接口請求值或返回值/壓測


charles幾個常用功能
 
1,ios 抓包https網頁:(如未配置,會顯示unknown)
首先:給手機安裝SSL證書
  • 手機和電腦在同一wifi下,手機wifi配置http代理,ip是電腦ip,端口一般默認8888
  • 安裝SSL證書到手機,Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device
  • 在手機上輸入彈窗提示網址后,瀏覽器會自動彈出下載或者安裝彈窗,安裝證書
  • 注意最后步驟必須保證第一步完成,即此時手機已配置了電腦的IP代理,否則的話可能不會自動下載
case1:如果是安卓機,下載成功后沒有安裝彈窗,點擊下載的pem文件無法打開,此時
if 小米,設置-更多設置-系統安全-加密與憑據-從儲存設備安裝,點擊對應文件,安裝即可
if 華為,設置-高級設置-安全-從SD卡安裝證書,點擊對應文件,安裝即可
 
case2:如果是iphone,且ios 10以上,需要到通用-關於手機-證書信任設置,勾選一下,即可
 
第二步:PC端,在charles SSL Proxying 增加你想要抓的網址
  • charles,Proxy -> SSL Proxying Settings
  • 點擊add: host(寫你要抓的網址url);端口443
 
兩步做完之后手機再次發起請求,charles已經能看到https網頁的接口數據了,在這個過程中charles有可能會問詢能否連接,直接點擊allow即可
如果完成以上步驟還是不能抓包,可以嘗試重啟charles,重新連接
還不行的話,再次確認下當前PC的ip地址是否正確,注意wifi不同,當前pc的IP地址會變化,如果IP地址變化的話,就算是同一手機也要針對新的IP重新完成以上操作,才能抓包
 
2,模擬弱網
Proxy--->Throttle Settings
勾選Enable Throttling后,在Throttle Configuration設置弱網的參數
如果不對具體的弱網參數有要求,直接點擊ok就可以了
面板上的小烏龜圖標也可以開啟或者關閉 Throtting
(衍生:弱網測試charles配置是一種方法,ios同時自帶了弱網測試,開發者選項打開情況下,設置-開發者選項 > Network Link Conditioner 入口,系統已經內置常見網絡配置,也可以增加自定義配置。)
 
3,設置斷點,修改數據(比如你想要更改某個接口的request或者reponse的某個字段)
點擊想要操作的接口,右鍵勾選 Breakpoints
從客戶端再次請求該接口,charles自動跳轉到新的session
點擊 Edit Request ,Form視圖下,可以更改客戶端的傳參,修改后點擊Execute即可執行,第一次只能看到傳參並更改,點擊執行后可以看到response,此時可以更改返回參數(json模式查看)
更改之后再次點擊Execute,就可以看到更改后的參數
 
4,接第三點,如果我想一直存儲這個修改后的接口數據,而不是每次都要經過斷點呢?——可以用Map Local
Map Local是將指定的網絡請求重定向本地文件上
接上,點擊更改后返回的request/reponse內容,右鍵save request/response保存到本地文件夾中
再次點擊你要修改的接口,右鍵點擊Map Local,在Map to下的choose里選擇剛剛保存的文件
Tools-Map Local- Map Local Seting可以勾選你想選擇的選項
之后再在客戶端重新請求接口,就可以發現客戶端顯示的就是剛剛你修改后的內容
那么如果關閉Map local ,恢復正常請求呢,在 Tools-Map Local 里把enable勾選去掉,或者去掉你想要關閉的文件就可以了
 
如果map local了文件之后再次發起請求,數據沒有變化,可以查看保存的request/response的json文件,之前做的修改是否有效,可以使用一些線上的json轉換文件
可手動更改json文件的內容,重新map local,app再次發起請求,一般來說就可以了
 
5,壓測:重復給服務器發起請求,簡單測試服務器的並發處理能力
接口右鍵,repeat Advanced 
iteration 循環次數
concurrency 並發數
 
 
附注:
1,
網絡環境
上/下行帶寬(kbps)
2G
20/50
3G
330/2000
4G
40000/80000
wifi
33000/40000
2,
throttle [ˈθrɑ:tl] 喉嚨;節流閥;
certificate [səˈtɪfɪkət] 證書
proxy [ˈprɑ:ksi] 代理服務器; 代表權;
iteration [ˌɪtəˈreʃən] 循環
concurrency [kən'kʌrənsɪ] 並發
 
3,
根據具體的需求,Charles提供了Map Remote、Map Local、及Rewrite功能,都可以達到修改服務器返回內容的目的,三種的區別分別是:
  1.Map Remote是將指定的網絡請求重定向到另一個網址上
  2.Map Local是將指定的網絡請求重定向本地文件上
  3.Rewrite是對網絡請求進行一下正則替換


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM