Charles是一個(gè)HTTP代理/ HTTP監(jiān)視器/反向代理批旺,使開發(fā)人員能夠查看其機(jī)器和Internet之間的所有HTTP和SSL / HTTPS流量骆撇。 這包括請(qǐng)求廓推,響應(yīng)和HTTP標(biāo)頭(包含cookie和緩存信息)想虎。
主要功能:
- 支持SSL代理艇炎〔购叮可以截取分析SSL的請(qǐng)求沸久。
- 支持流量控制∮嘈罚可以模擬慢速網(wǎng)絡(luò)以及等待時(shí)間(latency)較長(zhǎng)的請(qǐng)求卷胯。
- 支持AJAX調(diào)試⊥疲可以自動(dòng)將json或xml數(shù)據(jù)格式化窑睁,方便查看。
- 支持AMF調(diào)試葵孤〉Eィ可以將Flash Remoting 或 Flex Remoting信息格式化,方便查看尤仍。
- 支持重發(fā)網(wǎng)絡(luò)請(qǐng)求箫津,方便后端調(diào)試。
- 支持修改網(wǎng)絡(luò)請(qǐng)求參數(shù)宰啦。
- 支持網(wǎng)絡(luò)請(qǐng)求的截獲并動(dòng)態(tài)修改苏遥。
- 檢查HTML,CSS和RSS內(nèi)容是否符合W3C標(biāo)準(zhǔn)赡模。
Charles是一款收費(fèi)的軟件田炭, 可以免費(fèi)試用30天 (常用的話建議大家找下破解版)官網(wǎng)下載地址
下載安裝后, 啟動(dòng)Charles漓柑。
第一次啟動(dòng)教硫,Charles會(huì)請(qǐng)求你給它設(shè)置系統(tǒng)代理的權(quán)限,可以直接確認(rèn)辆布,輸入登錄密碼授權(quán):
也可以忽略該請(qǐng)求瞬矩, 在需要使用的時(shí)候?qū)⑵湓O(shè)置為系統(tǒng)代理:
抓取iPhone上應(yīng)用的網(wǎng)絡(luò)封包
-
Charles的設(shè)置
- 要抓取iPhone上應(yīng)用的網(wǎng)絡(luò)請(qǐng)求, 我們首先需要將Charles的代理功能打開(菜單欄:Proxy->Proxy Settings...):
- 將代理端口設(shè)置為8888锋玲,并勾選“Enable transparent HTTP proxying”:
-
iPhone的設(shè)置
- 獲取Charles運(yùn)行所在電腦的IP地址:
- 在iPhone的“設(shè)置”->“無線局域網(wǎng)”中點(diǎn)擊當(dāng)前連接的wifi景用,在詳情界面找到[HTTP代理]一項(xiàng), 切換為手動(dòng)嫩絮, 設(shè)置上Charles運(yùn)行所在電腦的IP和端口號(hào)8888:
- 打開你需要抓包的應(yīng)用丛肢,可以看到Charles彈窗iPhone請(qǐng)求連接的確認(rèn)菜單围肥, 點(diǎn)擊“Allow”允許連接即可。
抓取Https請(qǐng)求
- 安裝證書
輸入系統(tǒng)的登錄密碼蜂怎, 即可在鑰匙串中看到我們安裝的證書穆刻, 雙擊證書, 信任證書:
- iPhone安裝證書
選中后會(huì)彈出一個(gè)提示框:
在iPhone自帶的safari瀏覽器中輸入網(wǎng)址:chls.pro/ssl ,允許其下載配置描述文件杠步, 在“設(shè)置”->“通用”->“描述文件與設(shè)備管理”中信任Charles Proxy 文件:
在ios10.3以后氢伟,安裝新的自定義證書默認(rèn)是不受信任的,需要在“設(shè)置”->“通用”->“關(guān)于本機(jī)”->“證書信任設(shè)置”中手動(dòng)打開開關(guān)去信任:
到這里幽歼, 我們就可以愉快的抓取應(yīng)用的請(qǐng)求了朵锣,但此時(shí)你發(fā)現(xiàn) ,抓取到的請(qǐng)求內(nèi)容都發(fā)生了亂碼:
不用擔(dān)心甸私, 去設(shè)置SSL代理就ok了: