charles抓包https設置


 

寫在前面

開發時,面對各種接口數據,絕大多數時間都會用Charles抓包進行數據分析,但也總會有那么些情況讓人抓狂:

  • Bugfix,線下環境(非https)數據少,滿足不了bug出現的情況,無法一邊抓包一邊改bug
  • 線上環境(https)有接口數據,線下環境無接口數據的bug,這個時候抓包突然顯得很蒼白無力,Charles抓不了https包╯ ︵╰(‵□′╰

很自然地想要Charles能抓https包,於是去搜各種教程,結果發現依然抓狂:

  • 首先得電腦上裝證書,ok,進入Charles-》Help-》SSL Proxying-》Install Charles Root Certificate,然而現實是殘酷的 — ”無法找到證書“
  • 抓Android真機或者模擬器上的https包,還是得先給Android真機或模擬器裝證書,照着教程折騰(失敗):

    a)下載Charles證書 下載地址: http://www.charlesproxy.com/assets/legacy-ssl/charles.crt

    b)安裝Charles證書 將下載完成的charles.crt證書push到Android設備(adb push charles.crt /sdcard/),從手機存儲卡中找到安裝證書charles.crt點擊安裝,教程說安裝上就可以抓包了,結果又掉淚(網上找了好多教程,還發現好多都是針對ios的)—— 無法安裝該證書,因為無法讀取證書文件 

     

折騰了一兩次發現無果,於是只有遷就着安於無法抓https包的現狀了,但后來發現“抓狂的情況”出現越來越頻繁了,不能安於現狀了  (¬_¬)   

https抓包的實現

(一)首先,電腦得裝個證書

(1)先去官網下載證書,不然會報“無法找到證書”錯誤(官網注明說該證書在v3.10上會失效,我安裝能正常工作...)

官網地址:https://www.charlesproxy.com/documentation/additional/legacy-ssl-proxying/

(2)進入Charles-》Help-》SSL Proxying-》Install Charles Root Certificate ,會打開證書,安裝進去 

(3)當安裝后,可能你看不到在哪里,在右上角的搜索中 輸入 cha 則會顯示出來,你看到上面是 此根證書不被信任

(4)在證書上右鍵 - 顯示詳情 ,展開信任 選擇 始終信任,然后點擊左上角的關閉,系統會彈出授權提示框,授權同意修改,回到列表,稍等,證書就刷新了

(二)然后,移動設備上安裝證書

這里不以ios為例,以Android模擬器為例~~打開模擬器瀏覽器,在瀏覽器中輸入http://charlesproxy.com/getssl,然后會彈出一個界面,讓輸入證書名字,直接輸入charles就ok啦,安裝成功后會提示證書安裝成功

注:親測直接在模擬器瀏覽器打開網址可以安裝成功證書,通過網址http://www.charlesproxy.com/assets/legacy-ssl/charles.crt)下載,手動安裝會報“無法安裝證書”錯誤

(三)最后,Charles添加SSL Proxying

(1)進入Proxy-》SSL Proxying Settings

(2)勾選“Enable SSL Proxying”,並點擊下方的Add

(3)在彈出的“Edit Location”中,輸入Host和Port都為“*”(看提示這樣配置可以抓到所有https的包),然后進行添加

(4)確保模擬器/手機將電腦的IP地址設置為代理,端口號為8888,具體教程點這里

這下就可以愉快的抓https包,https攔截里不再是unknown了~~


免責聲明!

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



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