Mac 環境 下使用Charles 抓包Http/Https請求
實現目標
在Mac 上 對 iOS 真機 和 模擬器 進行 Http/Https抓包
使用工具
Mac 上 Charles 4.2
安裝 參考鏈接 1. 和 鏈接 2.
抓包 http 請求
(1) 保證真機 和 Mac 使用 同一個 局域網(wifi),查看Mac IP地址,例如 192.168.x.xx
(2) 選擇Proxy | Proxy Settings,彈出proxy設置選項卡,勾選Enabling transparent HTTP proxying
真機 點擊設置 —> 無線局域網—>指定wifi—>設置代理
服務器 填寫 (1)獲取的IP
端口號 填寫 8888 (Charles 默認 http proxy port 為 8888,可以在 charles —> Proxy—>Proxy Settings 修改 http proxy port
)
(3)真機配置完成,打開Charles 開始抓包前 會彈出 是否允許抓包彈框 點擊允許 至此真機抓包正常 可按需求 配置查看 request response 相關數據信息
(4)模擬器抓包 需要把電腦設置為代理:
抓包 http 請求 charles —> Proxy—> macOS Proxy 勾選 即可,這樣 ,你通過瀏覽器請求的網址都會出現在這里,iOS模擬器的所有的網絡請求也會出現在這里。
抓包 https 請求
charles 也要遵守 https 協議,因此需要下載官網 CA證書
證書下載地址:參考圖,位置可能在Help里 多找找菜單欄,主要是在SSL Proxying 里,里面有好多證書,很方便我們以下的各種操作

(1) Mac 到 參考 3. 下載根證書即CA證書 或者 SSL Proxying 中 Install Charles Root Certificate 即可 非常方便,用鑰匙串打開,此時是不被信任的,點擊右鍵,顯示簡介—>信任選項 第一項—>改為“始終信任”
如圖:
-->
(2)手機安裝證書
SSL Proxying 中點擊Install Charles Root Certificate On a Mobile or...這項 會彈框,彈框會提示下載地址,
然后復制鏈接 在手機 Sarfri 瀏覽器中打開 會提示下載相關操作,按提示處理即可。(網上會有其他下載方式,但是我操作不好使,仍然不能抓包 只有按照Charles提示的下載地址才行)
特殊在 如果是iOS11以上 手機 要打開信任開關,設置-->通用-->關于本機-->證書信任設置--> 指定證書開關開啟
其他的都是通過網上其他攻略下的 都不好使。。。所以就跟著Charles提示即可
(3) SSL Proxying Settings 勾選Enable SSL Proxying,在Location部份選擇add,按如下圖添加,抓取任意站點、443端口的數據
* 代表任意站點,也可以指定站點

(4)同 http 抓包步驟 (1)(2)
至此,當手機重新 發出https請求時候,抓包結果就能不再是 unknown了 能夠正常解析了。
模擬器?此時只要 Install Charles Root Certificate in iOS Similaors 即可正常抓包
參考:
1.https://www.charlesproxy.com/download/ (官網 下載小花瓶)
2. http://charles.iiilab.com (小花瓶 安裝攻略)
3.https://www.charlesproxy.com/documentation/additional/legacy-ssl-proxying/(根證書地址)
4.https://segmentfault.com/a/1190000005070614 (配置 參考)
posted on 2017-11-12 15:03 ACM_Someone like you 閱讀(2348) 評論(0) 收藏 舉報
浙公網安備 33010602011771號