第一步:安裝
百度雲地址: https://pan.baidu.com/s/11dz5...
提取碼: arb4macos
注:這個下載的是破解版的charles,裏面包含了破解方法,按照提示進行操做便可,json
正版的須要購買,其實不破解的也能夠用,只不過三十天試用期過了以後,每次使用charles的時間就不能夠超過半小時了(超過會自動退)瀏覽器
退了再從新打開就好,並且正版的(非破解)進入軟件須要等待十秒,對於一些長時間的抓包操做最好仍是破解一下安全
(ps:感謝孫亮提供的破解版下載連接)服務器
第二步:安裝Charles HTTPS證書
2.1
路徑:help–>SSLProxying–> Install Charles Root Ceriticate
如圖所示:iphone
2.2
點擊Install Charles Root Ceriticate後,而後到鑰匙串中。可是這個證書並不能信任,此時咱們能夠點擊對應的證書名稱,會彈出下圖,在信任中選擇「始終信任」便可。加密
第三步:當電腦上已經安裝好證書以後,咱們將須要調試的手機設置該電腦爲代理服務器,端口爲8888。(或者設置與其餘同樣的端口)
3.1 手機和mac在同一個區域網
3.2 查看Charles的設置
3.2.1 Charles的端口設置
在 Charles的菜單欄上選擇「Proxy」–>「Proxy Settings」,填入代理端口 8888,而且勾上「Enable transparent HTTP proxying」 就完成了在 Charles 上的設置。spa
3.2.2 查看Charles 的IP地址
首先咱們須要獲取 Charles運行所在電腦的 IP 地址,Charles的頂部菜單的「Help」–>「Local IP Address」,便可在彈出的對話框中看到IP 地址。代理
3.2.3 iPhone 上的設置
在 iPhone 的 「 設置 」–>「 無線局域網 」 中,能夠看到當前鏈接的 wifi 名,經過點擊右邊的詳情鍵,能夠看到當前鏈接上的 wifi 的詳細信息,包括 IP 地址調試
,子網掩碼等信息。在其最底部有「HTTP 代理」一項,咱們將其切換成手動,
而後填上 Charles 運行所在的電腦的 IP,以及端口號 8888。
以下圖:
若是隻是要抓包http的,這樣就行了。
若是要訪問https的話,則要打開charles->help->SSL Proxying->Install Charles Root Certificate on a Mobile Device or Remote Browser,
以下圖:
點擊會彈出:
手機端打開safari,訪問圖中的地址-->chls.pro/ssl,即會跳轉下載並安裝描述性文件,安裝完成後到 【通用】->【關於本機】-> 【證書信任設置】,而後就啓用徹底信任剛纔安裝的證書
接着就能夠在mac裏面抓取iphone中的https流量了
在安卓的手機
上操做和蘋果一致,都是打開瀏覽器訪問chls.pro/ssl,下載對應的證書以後,在手機系統裏安裝,須要注意的是,安卓手機的證書須要在設置裏面選擇從存儲設備安裝
而且找到你剛纔下的證書文件,選擇安裝便可,這裏以一加手機爲例
【設置】-->【安全和鎖屏】-->【加密與憑據】→【從存儲設備安裝】
注意:各種安卓手機的安裝方式不盡相同,在這裏我會後期補充,也歡迎你們隨時進行補充
第四步:在電腦(mac)上嘗試抓包:
在 Charles的菜單欄上選擇「Proxy」–>「macos proxy」, 勾選住,就能夠看見電腦上的請求了
第五步:在電腦(mac)上嘗試改包:
當咱們在charles裏面已經找到了對應的接口請求的時候,咱們想修改這個請求裏面的一些東西,能夠這樣作:
一、首先找到這個請求,右鍵打開這個請求的選項,找到【map local】,選擇
二、若是你已經有了能夠替換這個接口返回數據的json文件,那麼你能夠直接就替換掉,若是沒有,你能夠先在當前接口請求內複製出一份數據把它放在一個新的json文件內再進行替換:
這樣一來,接口返回的數據就會變成你本地的json文件內的數據了
三、若是你想取消當前的改包,讓數據正常的請求正常的拿回來,那麼你能夠選擇【tools】-–>【Map Local】
而後在打開的頁面內你會看到目前都有哪些接口被改掉了,這時候勾選enable map local 就能夠禁用掉當前全部的改包
或者你也能夠只是把其中的某一個右鍵單擊刪除掉:)