1. 程式人生 > >charles抓包https/模擬弱網/設定斷點重定向/壓測

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
  • 在手機上輸入彈窗提示網址後,下載安裝證書
如果是ios 10以上,需要到通用-關於手機-證書信任證書 第二步:charles SSL Proxying 增加你想要抓的網址
  • charles,Proxy -> SSL Proxying Settings
  • 點選add: host(寫你要抓的網址url);埠443
  兩步做完之後手機再次發起請求,charles已經能看到https網頁的介面資料了   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裡選擇剛剛儲存的檔案 之後再在客戶端重新請求介面,就可以發現客戶端顯示的就是剛剛你修改後的內容 那麼如果關閉Map local ,恢復正常請求呢,在 Tools-Map Local 裡把enable勾選去掉,或者去掉你想要關閉的檔案就可以了   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是對網路請求進行一下正則替換