1.charles安裝
下載charles4.0.1破解版,官方下載只能試用30天揪惦。網(wǎng)盤(pán)下載地址:https://pan.baidu.com/s/1eSwwvo2卑笨。(里面包括.dmg(用于安裝)和.jar文件(用于破解))破解方法:在Finder的應(yīng)用程序中找到Charles.app茧泪,右鍵選擇“顯示包內(nèi)容”,之后進(jìn)入Contents文件夾圆恤,接著進(jìn)入Java文件夾突倍,用破解文件(也就是jar文件)替換charles.jar文件腔稀。到此就破解了。
2.安裝證書(shū)
如果你需要截取分析 Https 協(xié)議相關(guān)的內(nèi)容羽历。那么需要安裝 Charles 的 CA 證書(shū)焊虏。具體步驟如下。我們需要在 Mac 電腦上安裝證書(shū)秕磷。點(diǎn)擊 Charles 的頂部菜單诵闭,選擇 “Help” –> “SSL Proxying” –> “Install Charles Root Certificate”,然后輸入系統(tǒng)的帳號(hào)密碼澎嚣,即可在 KeyChain 看到添加好的證書(shū)疏尿。如下圖:
3.設(shè)置charles
要截取 iPhone 上的網(wǎng)絡(luò)請(qǐng)求,我們首先需要將 Charles 的代理功能打開(kāi)易桃。在 Charles 的菜單欄上選擇 “Proxy”–>“Proxy Settings”褥琐,填入代理端口 8888,并且勾上 “Enable transparent HTTP proxying” 就完成了在 Charles 上的設(shè)置晤郑。如下圖:
4.iPhone上面的設(shè)置敌呈。
首先我們需要獲取 Charles 運(yùn)行所在電腦的 IP 地址,Charles 的頂部菜單的 “Help”–>“Local IP Address”造寝,即可在彈出的對(duì)話(huà)框中看到 IP 地址磕洪,如下圖:
在 iPhone 的 “ 設(shè)置 ”–>“ 無(wú)線(xiàn)局域網(wǎng) ” 中,可以看到當(dāng)前連接的 wifi 名诫龙,通過(guò)點(diǎn)擊右邊的詳情鍵褐鸥,可以看到當(dāng)前連接上的 wifi 的詳細(xì)信息,包括 IP 地址赐稽,子網(wǎng)掩碼等信息。在其最底部有“HTTP 代理”一項(xiàng)浑侥,我們將其切換成手動(dòng)姊舵,然后填上 Charles 運(yùn)行所在的電腦的 IP,以及端口號(hào) 8888(若此時(shí)設(shè)置代理無(wú)效寓落,則先忽略此網(wǎng)絡(luò)括丁,重新連接后再設(shè)置代理即可)。如下圖:
5.安裝手機(jī)證書(shū)
如果我們需要在 iOS 或 Android 機(jī)器上截取 Https 協(xié)議的通訊內(nèi)容伶选,還需要在手機(jī)上安裝相應(yīng)的證書(shū)史飞。點(diǎn)擊 Charles 的頂部菜單,選擇 “Help” –> “SSL Proxying” –> “Install Charles Root Certificate on a Mobile Device or Remote Browser”仰税,然后就可以看到 Charles 彈出的簡(jiǎn)單的安裝教程构资。
在手機(jī)safari上面輸入:chls.pro/ssl,安裝文件。
通常這樣就可以進(jìn)行網(wǎng)絡(luò)抓包了陨簇。但是這只是僅僅針對(duì)http請(qǐng)求吐绵。如果要抓取https請(qǐng)求,則還需要做第6步。我們先來(lái)看看沒(méi)有做第6步的情況己单。對(duì)一個(gè)接口打上Breakpoints唉窃。在進(jìn)行網(wǎng)絡(luò)截取的時(shí)候會(huì)發(fā)現(xiàn)一直報(bào)錯(cuò)。
報(bào)Failed to parse headers:EOF reading HTTP headers,原因是不能截取https的網(wǎng)絡(luò)請(qǐng)求纹笼。
加上第6步即可纹份。此時(shí)如果碰到抓取到的https請(qǐng)求接口一直顯示紅色X<unknown>,則需要進(jìn)行如下操作:設(shè)置->通用->關(guān)于本機(jī)->證書(shū)信任設(shè)置->針對(duì)根證書(shū)啟用完全信任下的Charles Proxy CA開(kāi)關(guān)打開(kāi)。
6.勾選https的截取功能
Charles 默認(rèn)也并不截取 Https 網(wǎng)絡(luò)通訊的信息廷痘,如果你想對(duì)截取某個(gè)網(wǎng)站上的所有 HTTPS 網(wǎng)絡(luò)請(qǐng)求蔓涧,可以在該請(qǐng)求上右擊,選擇 SSL proxy牍疏,如下圖:
這樣蠢笋,對(duì)于該 Host 的所有 SSL 請(qǐng)求可以被截取到了。當(dāng)截取到網(wǎng)絡(luò)請(qǐng)求紅色箭頭向下的時(shí)候即可改變網(wǎng)絡(luò)接口返回的內(nèi)容鳞陨。比如此時(shí)可以將code碼改為000001昨寞,data內(nèi)容也可以做修改。