Charles的使用詳細(xì)介紹

一、Charles簡(jiǎn)介

1.Charles的功能

Charles 是在 PC 端常用的網(wǎng)絡(luò)封包截取工具具篇,在做移動(dòng)開發(fā)時(shí),我們?yōu)榱苏{(diào)試與服務(wù)器端的網(wǎng)絡(luò)通訊協(xié)議,常常需要截取網(wǎng)絡(luò)封包來分析弓摘。除了在做移動(dòng)開發(fā)中調(diào)試端口外,Charles 也可以用于分析第三方應(yīng)用的通訊協(xié)議痕届。配合 Charles 的 SSL 功能韧献,Charles還可以分析 Https 協(xié)議。

Charles 通過將自己設(shè)置成系統(tǒng)的網(wǎng)絡(luò)訪問代理服務(wù)器研叫,使得所有的網(wǎng)絡(luò)訪問請(qǐng)求都通過它來完成锤窑,從而實(shí)現(xiàn)了網(wǎng)絡(luò)封包的截取和分析。

應(yīng)用場(chǎng)景原理圖:

從直接與云端服務(wù)器通信蓝撇,變?yōu)橄扰cCharles所在計(jì)算機(jī)通信果复,再由計(jì)算機(jī)將信息發(fā)給云端服務(wù)器

image

2.Charles的界面

總覽

image

工具欄

其中的“編輯會(huì)話”,即Compose功能

“重發(fā)請(qǐng)求”渤昌,即Repeat功能

image

工作區(qū)

會(huì)話列表

按“結(jié)構(gòu)”排列:

會(huì)話列表按照“域名”虽抄、“一級(jí)路徑”走搁、“二級(jí)路徑”……“N級(jí)路徑”的方式,分組整理展示

image

按“順序”排列:

會(huì)話列表按照抓取請(qǐng)求的時(shí)間順序排列迈窟,不分組

在Filter中輸入匹配文本或正則表達(dá)式(在點(diǎn)擊右側(cè)Settings按鈕打開的“Sequence Settings”對(duì)話框開啟“Filter uses regex”<使用正則過濾>后)私植,會(huì)話列表將僅展示符合匹配規(guī)則的會(huì)話

image

會(huì)話詳情a

image

總覽

a選定請(qǐng)求或請(qǐng)求組概況,如地址车酣、狀態(tài)曲稼、狀態(tài)碼、協(xié)議湖员、方法贫悄、時(shí)間信息、大小信息等屬性

image

內(nèi)容

請(qǐng)求的Request(請(qǐng)求)娘摔、Response(響應(yīng))信息查看

image

Request窗口各個(gè)Tab:

image

Response窗口各個(gè)Tab:

image

總結(jié)

選定請(qǐng)求或請(qǐng)求組的綜合信息窄坦,如路徑、地址凳寺、狀態(tài)等

image

圖表

選定請(qǐng)求或請(qǐng)求組信息的圖表展示

可展示維度:

時(shí)間線

大小

耗時(shí)

Type(類型)

Flow(時(shí)間與網(wǎng)絡(luò)速度的二維坐標(biāo)圖)

image

筆記

給請(qǐng)求做純文本筆記

image

二鸭津、下載\安裝與環(huán)境配置:

1、電腦(Mac做示范):

下載地址:https://www.charlesproxy.com/

下載完成后進(jìn)行注冊(cè)(如下圖)

Registered Name (賬號(hào)): https://zhile.io

License Key (密碼): 48891cf209c6d32bf4(應(yīng)該還能使用)

image

在 Charles 的菜單欄上選擇 “Proxy”->”Proxy Settings”肠缨,填入代理端口 8888(或者自定義逆趋,前提是不能和系統(tǒng)已占用端口沖突),并且勾上 “Enable transparent HTTP proxying”

image

安裝證書:

pc端安裝證書

在Mac上配置Charles證書晒奕,Charles菜單欄中的Help——SSL Proxying——Install Charles Root Ce rtificate

image

如果證書不受信任闻书,請(qǐng)更改為完全信任:

image

pc端端口配置:

在Charles中設(shè)置需要抓取的URL地址 (Proxy→SSL Proxying Settings..)

首先在charles的 Proxy選項(xiàng)選擇SSL Proxy Settings, 然后在彈出的對(duì)話框中點(diǎn)擊add,添加需要監(jiān)視的域名吴汪。域名支持 *號(hào)通配符惠窄,如:抓取所有的https請(qǐng)求,可以填寫 *:443漾橙。

image

2.手機(jī)(iOS做示范)

連接代理:

手機(jī)連接無線網(wǎng)絡(luò)與電腦一致杆融,確保在同一個(gè)網(wǎng)絡(luò)環(huán)境

通過 設(shè)置 → 無線局域網(wǎng) ,查看當(dāng)前鏈接的 WIFI 點(diǎn)擊最右邊的感嘆號(hào)霜运,進(jìn)入當(dāng)前 WIFI 的細(xì)節(jié)配置頁面脾歇,在最下面的 HTTP 代理中,選擇「手動(dòng)」淘捡,然后填寫 Charles 代理機(jī)器的 IP(在charles的 "Help"->"Local IP Addresses") 和 端口號(hào)藕各,點(diǎn)擊保存

其中服務(wù)器與端口號(hào)可以通過charles查詢,如下:

image
image

iOS示例

image

手機(jī)端安裝證書

使用手機(jī)默認(rèn)瀏覽器(如safari)(安卓如果不能識(shí)別證書格式可以試試chrome)

地址欄訪問 chls.pro/ssl 下載證書焦除,安裝證書

注??:在你打開瀏覽器的時(shí)候激况,Charles會(huì)出現(xiàn)下面這樣一個(gè)彈窗,一定要點(diǎn)擊Allow,同意建立連接乌逐,否則你就無法下載證書

image

輸入地址后:

image

打開設(shè)置:

image

注??:ps:如果是iOS10.3.1之前的系統(tǒng)竭讳,上述三步之后便能夠使用Charles抓取HTTPS的內(nèi)容,但是iOS10.3.1的時(shí)候浙踢!--還需要在iPhone中的Settings--General--About--Certificate Trust Settings中打開一個(gè)信任的開關(guān)绢慢。

補(bǔ)充:ios>10 都有這個(gè)坑,請(qǐng)注意B宀āR扔摺!

中文系統(tǒng):設(shè)置-通用-關(guān)于本機(jī)-滑倒最下面-證書信任設(shè)置-打開 Charles 開關(guān)

至此蹬挤,Charles的安裝基本完成缚窿,現(xiàn)在你可以試著去抓一些接口了

三、Charles常用操作

1.Map Remote

遠(yuǎn)程映射焰扳,即:將「符合匹配規(guī)則」的請(qǐng)求映射向「一個(gè)遠(yuǎn)程地址」滨攻,可修改請(qǐng)求的尋址(url或ip+port)和路徑(path),不可更改請(qǐng)求體內(nèi)容

映射后的響應(yīng)內(nèi)容蓝翰,由該「遠(yuǎn)程地址」決定

原理示意圖:

開啟前:通過Charles后,仍然請(qǐng)求向原定地址

開啟后:通過Charles后女嘲,向新遠(yuǎn)程地址請(qǐng)求

image

在開發(fā)階段畜份, 為了方便調(diào)試、聯(lián)調(diào)欣尼、問題追查爆雹, 可以使用代理的方式連接到特定開發(fā)機(jī)。 可以使用charles提供的map remote的方式愕鼓。

image
image

設(shè)置好后钙态,相關(guān)接口的請(qǐng)求會(huì)直接打到開發(fā)機(jī)。

2.Map Local

將接口的請(qǐng)求重定向到本地文件

此類操作可稱為“Mock接口”

本地映射菇晃,即:將「符合匹配規(guī)則」的請(qǐng)求映射向「一個(gè)本地文件」册倒,請(qǐng)求完全在本機(jī)處理完成,不修改請(qǐng)求內(nèi)容磺送,響應(yīng)為文件內(nèi)容

原理圖:

開啟前:通過Charles后驻子,仍然請(qǐng)求向原定地址

開啟后:通過Charles后,由Charles直接返回文件中的接口響應(yīng)估灿,不再與服務(wù)器通信

image
image
image

設(shè)置好后崇呵,對(duì)應(yīng)接口的請(qǐng)求不會(huì)打到服務(wù)器,直接返回本地文件中的數(shù)據(jù)馅袁。

3.Rewrite

rewrite功能重寫對(duì)應(yīng)的內(nèi)容域慷,主要可以對(duì)某些匹配請(qǐng)求的header、host、url犹褒、path抵窒、query param、response status化漆、body進(jìn)行rewrite估脆。

image
image
image
image

設(shè)置好后,發(fā)送的請(qǐng)求就是修改后的請(qǐng)求了座云。

4.Repeat

重復(fù)發(fā)送請(qǐng)求

是一手動(dòng)操作,沒有匹配規(guī)則的限制,可以自定義重復(fù)發(fā)送請(qǐng)求的并發(fā)、間隔等,但不能修改請(qǐng)求內(nèi)容恤左,即是“原樣重發(fā)”

不需要客戶端即可發(fā)送請(qǐng)求

image
image

設(shè)置好后,Charles會(huì)重復(fù)發(fā)送指定次數(shù)的同一請(qǐng)求到服務(wù)器

5.Throttle Setting

通過throttle setting可以模擬不同的網(wǎng)絡(luò)環(huán)境

image
image

6.Compose

Compose功能是在原有的請(qǐng)求基礎(chǔ)上進(jìn)行修改飞袋。

在進(jìn)行接口測(cè)試時(shí)巧鸭,臨時(shí)需要修改請(qǐng)求參數(shù)巷折、參數(shù)值或者Header等等就可以用到Compose功能歌豺。

是一手動(dòng)操作,沒有匹配規(guī)則的限制炉爆,可以自定義編輯請(qǐng)求的地址螟炫,路徑,參數(shù)荆烈,內(nèi)容岔帽,header等逾一,可手動(dòng)點(diǎn)“Excute”按鈕執(zhí)行

和Repeat的功能、場(chǎng)景類似躺彬,區(qū)別在于,Compose可以編輯請(qǐng)求的內(nèi)容梅惯,Repeat不可以

不需要客戶端即可發(fā)送請(qǐng)求

image
image

7.Breakpoint

斷點(diǎn)宪拥,即:將「符合匹配規(guī)則」的請(qǐng)求中斷,可選擇在“請(qǐng)求”階段或“響應(yīng)”階段中斷铣减,中斷后她君,請(qǐng)求被暫時(shí)攔截到Charles,并展示請(qǐng)求詳細(xì)界面供編輯葫哗、執(zhí)行或丟棄

breakpoint功能可以截取發(fā)送給服務(wù)器的請(qǐng)求以及服務(wù)器發(fā)送回的響應(yīng)數(shù)據(jù)犁河,截取成功后可以修改后繼續(xù)發(fā)送鳖枕。

image
image
image
image
image

以上便是抓包代理工具Charles的基本原理和操作方式你學(xué)會(huì)了么

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末诅诱,一起剝皮案震驚了整個(gè)濱河市勃教,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌梗掰,老刑警劉巖灭翔,帶你破解...
    沈念sama閱讀 218,755評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件魏烫,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡肝箱,警方通過查閱死者的電腦和手機(jī)哄褒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來煌张,“玉大人呐赡,你說我怎么就攤上這事】ト冢” “怎么了链嘀?”我有些...
    開封第一講書人閱讀 165,138評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)档玻。 經(jīng)常有香客問我怀泊,道長(zhǎng),這世上最難降的妖魔是什么误趴? 我笑而不...
    開封第一講書人閱讀 58,791評(píng)論 1 295
  • 正文 為了忘掉前任霹琼,我火速辦了婚禮,結(jié)果婚禮上凉当,老公的妹妹穿的比我還像新娘枣申。我一直安慰自己,他們只是感情好看杭,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評(píng)論 6 392
  • 文/花漫 我一把揭開白布糯而。 她就那樣靜靜地躺著,像睡著了一般泊窘。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上像寒,一...
    開封第一講書人閱讀 51,631評(píng)論 1 305
  • 那天烘豹,我揣著相機(jī)與錄音,去河邊找鬼诺祸。 笑死携悯,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的筷笨。 我是一名探鬼主播憔鬼,決...
    沈念sama閱讀 40,362評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼龟劲,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了轴或?” 一聲冷哼從身側(cè)響起昌跌,我...
    開封第一講書人閱讀 39,264評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎照雁,沒想到半個(gè)月后蚕愤,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,724評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡饺蚊,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年萍诱,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片污呼。...
    茶點(diǎn)故事閱讀 40,040評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡裕坊,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出燕酷,到底是詐尸還是另有隱情籍凝,我是刑警寧澤,帶...
    沈念sama閱讀 35,742評(píng)論 5 346
  • 正文 年R本政府宣布悟狱,位于F島的核電站静浴,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏挤渐。R本人自食惡果不足惜苹享,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望浴麻。 院中可真熱鬧得问,春花似錦、人聲如沸软免。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽膏萧。三九已至漓骚,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間榛泛,已是汗流浹背蝌蹂。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留曹锨,地道東北人孤个。 一個(gè)月前我還...
    沈念sama閱讀 48,247評(píng)論 3 371
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像沛简,于是被迫代替她去往敵國(guó)和親齐鲤。 傳聞我的和親對(duì)象是個(gè)殘疾皇子斥废,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 一、Charles簡(jiǎn)介 1.Charles的功能 Charles 是在 PC 端常用的網(wǎng)絡(luò)封包截取工具给郊,在做移動(dòng)開...
    李二初閱讀 14,007評(píng)論 0 7
  • Charles簡(jiǎn)介 Charles是一個(gè)HTTP代理服務(wù)器,HTTP監(jiān)視器,反轉(zhuǎn)代理服務(wù)器牡肉,當(dāng)瀏覽器連接Charl...
    Somnus_小凱閱讀 2,345評(píng)論 0 1
  • 簡(jiǎn)介 Charles[http://www.charlesproxy.com/]是在 Mac 下常用的網(wǎng)絡(luò)封包截取...
    睿智的少年閱讀 638評(píng)論 0 0
  • 本文章轉(zhuǎn)載于:https://mp.weixin.qq.com/s?src=3&timestamp=1606119...
    小巷_4eda閱讀 1,122評(píng)論 0 0
  • 簡(jiǎn)介 正常情況下,Chrome DevTool已經(jīng)滿足了日常web開發(fā)的需求丑罪,但是有的特性:編輯request參數(shù)...
    小小的開發(fā)人員閱讀 87,569評(píng)論 8 96