charles 抓包

在平時(shí)的開發(fā)與測(cè)試過程中,總會(huì)遇到網(wǎng)絡(luò)問題。我們?yōu)榱苏{(diào)試與服務(wù)器端的網(wǎng)絡(luò)通訊協(xié)議,常常需要截取網(wǎng)絡(luò)封包來分析。Charles 通過將自己設(shè)置成系統(tǒng)的網(wǎng)絡(luò)訪問代理服務(wù)器,使得所有的網(wǎng)絡(luò)訪問請(qǐng)求都通過它來完成,從而實(shí)現(xiàn)了網(wǎng)絡(luò)封包的截取和分析。

準(zhǔn)備工作

由于本人是 iPhone 手機(jī),這里以 iPhone 為主 (ps: 主要是安卓種類繁多,說不過來)

  1. iPhone + Charles(抓包工具)
  2. 抓包

iPhone + Charles(抓包工具)

安裝 Charles

根據(jù)自己的系統(tǒng),從 Charles 官網(wǎng) 下載,安裝即可。
安裝完成后,配置 Charles 相關(guān)。

截取手機(jī)上的網(wǎng)絡(luò)數(shù)據(jù)包

Charles 通常用來截取本地上的網(wǎng)絡(luò)數(shù)據(jù)包,但是當(dāng)我們需要時(shí),我們也可以用來截取其它設(shè)備上的網(wǎng)絡(luò)請(qǐng)求。下面我就以 iPhone 為例,講解如何進(jìn)行相應(yīng)操作。

設(shè)置系統(tǒng) Charles

啟動(dòng) Charles 的代理功能,在 Charles 中的 Proxy -> Proxy Setting ,具體設(shè)置如下圖:

設(shè)置 iPhone HTTP 代理

首先,獲取當(dāng)前 Mac 的 IP 地址

  1. option/alt + 鼠標(biāo)左鍵點(diǎn)擊 Wi-Fi 圖標(biāo),會(huì)展示 IP 地址
  2. Charles 的菜單中 Help -> Local IP Address, 也能獲取當(dāng)前 IP 地址 (推薦)

ip

接下來,讓 Mac 作為 iPhone 的代理

設(shè)置 -> 無線局域網(wǎng) -> 你 Wi-Fi 名稱 -> 詳情 -> HTTP 代理 -> 配置代理

  1. 進(jìn)到代理配置頁,將 “關(guān)閉” 切換為 “手動(dòng)”。
  2. 將你獲取到的 IP 填入“服務(wù)器”的選項(xiàng)中
  3. 端口填入 8080
  4. 記得點(diǎn)擊存儲(chǔ),否則代理信息不會(huì)保存
    [圖片上傳失敗...(image-fa58cf-1535271871494)]
    此時(shí), Mac 已經(jīng)作為了 iPhone 的 HTTP 代理。但是,并不能截取到 HTTPS,因此,還需要進(jìn)行額外的配置,使其可以截取 HTTPS
    請(qǐng)注意,當(dāng) Charles 彈出如下圖彈框時(shí),請(qǐng)一定選擇 Allow !!!! 請(qǐng)一定選擇 Allow !!!! 請(qǐng)一定選擇 Allow!!!!
    image

設(shè)置 iPhone HTTPS 代理

HTTPS 需要進(jìn)行如下額外配置:

  1. Mac 安裝證書
  2. 手機(jī)安裝證書
  3. Mac 配置 HTTPS 代理
Mac 安裝證書

找到 Charles 菜單,選擇 Help -> SSL Proxying -> Install Charles Root Certificate,然后輸入系統(tǒng)的帳號(hào)密碼,即可在 鑰匙串訪問 中看到添加好的證書。
打開鑰匙串訪問,點(diǎn)擊 登錄 -> 證書 ,找到如下證書:


如果該證書不被用戶信任,則需要修改信任等級(jí),雙擊證書根據(jù)下圖進(jìn)行修改:
image

至此,Mac 的證書安裝完畢。

iPhone 安裝證書

找到 Charles 菜單,選擇 Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device or Remote Browser


會(huì)彈出如下彈窗:
image

使用已經(jīng)進(jìn)行 HTTP 代理的 iPhone 的 Safari 訪問 chls.pro/ssl , 安裝證書即可。

注意: iOS 10.3 以上需要針對(duì) 通用 -> 關(guān)于本機(jī) -> 證書信任設(shè)置 -> Charles Proxy Custom Root Certification 進(jìn)行信任操作,10.3以上必須要做!

Mac 配置 HTTPS 代理

找到 Charles 菜單,選擇 Proxy -> SSL Proxying Setting -> SSL Proxying,圖片效果如下:

選擇 SSL Proxying Setting 后,具體配置內(nèi)容如下:

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Charles這個(gè)工具我想對(duì)于Android和iOS開發(fā)的小伙伴來說并不陌生,很多從機(jī)構(gòu)學(xué)習(xí)的小伙伴做項(xiàng)目都是利用...
    英俊神武閱讀 2,832評(píng)論 0 5
  • 簡介 Charles其實(shí)是一款代理服務(wù)器,通過成為電腦或者瀏覽器的代理,然后截取請(qǐng)求和請(qǐng)求結(jié)果達(dá)到分析抓包的目的。...
    薪火_閱讀 101,530評(píng)論 10 60
  • 簡介 Charles 是在 Mac 下常用的網(wǎng)絡(luò)封包截取工具,在做 移動(dòng)開發(fā)時(shí),我們?yōu)榱苏{(diào)試與服務(wù)器端的網(wǎng)絡(luò)通訊協(xié)...
    faunjoe閱讀 813評(píng)論 0 0
  • 前言 使用Mina大概也有半年了,一直忙于開發(fā)而忘了總結(jié),項(xiàng)目里的業(yè)務(wù)系統(tǒng)只需要發(fā)送文字消息,而TCP底層是不區(qū)分...
    Mars_M閱讀 3,928評(píng)論 3 7
  • 大學(xué)畢業(yè)以后,很少讀現(xiàn)代詩,也很少被現(xiàn)代詩打動(dòng)。但這一首例外,今夜例外…… 一直以為自己被禁錮了...
    改正歸邪閱讀 4,623評(píng)論 4 4

友情鏈接更多精彩內(nèi)容