手把手教你Charles抓包工具使用

Charles簡(jiǎn)介

Charles是一個(gè)HTTP代理服務(wù)器,HTTP監(jiān)視器,反轉(zhuǎn)代理服務(wù)器,當(dāng)瀏覽器連接Charles的代理訪問互聯(lián)網(wǎng)時(shí)淳衙,Charles可以監(jiān)控瀏覽器發(fā)送和接收的所有數(shù)據(jù)。它允許一個(gè)開發(fā)者查看所有連接互聯(lián)網(wǎng)的HTTP通信,這些包括request, response和HTTP headers (包含cookies與caching信息)箫攀。

Charles主要功能

  • 支持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)試〖放#可以將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)。

開始抓包

在開始抓包之前章办,先來(lái)介紹下本篇文章主要涉及Charles那些锉走?

  • Charles的介紹與安裝
  • web抓包
  • App抓包
  • 抓取手機(jī)HTTPS協(xié)議
  • Charles過濾
  • 弱網(wǎng)測(cè)試
  • 打斷點(diǎn)篡改數(shù)據(jù)
  • 重復(fù)發(fā)送請(qǐng)求
  • compose編輯接口
  • 服務(wù)器壓力測(cè)試
  • 本地映射
  • 遠(yuǎn)程映射
  • 后續(xù)會(huì)繼續(xù)更新

Charles的介紹與安裝

在移動(dòng)互聯(lián)網(wǎng)時(shí)代,作為測(cè)試工程師藕届,開發(fā)工程師挪蹭。絕對(duì)必須要掌握必要測(cè)試工具,今天主要來(lái)了解Charles休偶。

官方地址:

https://www.charlesproxy.com/

在這里插入圖片描述

安裝

由于安裝過程是比較簡(jiǎn)單梁厉,這里就不再過多貼圖了,直接上一張安裝后進(jìn)入首頁(yè)的圖片踏兜,讓我們一起來(lái)看一下Charles的廬山面目懂算。


在這里插入圖片描述

web抓包

1,web 抓包

Charles Web抓包非常簡(jiǎn)單庇麦,啟動(dòng)Charles會(huì)自動(dòng)與瀏覽器設(shè)置成代理计技,不需要進(jìn)行過多的設(shè)置,接下來(lái)我就就是通過瀏覽器發(fā)送網(wǎng)絡(luò)請(qǐng)求山橄,Charles就會(huì)直接抓取到這些信息和響應(yīng)信息

在這里插入圖片描述

2,Web 抓取HTTPS協(xié)議

雖然現(xiàn)在Charles能夠直接抓包了垮媒,但是https協(xié)議的報(bào)我們是抓取不了的,需要安裝SSL證書才可以

Charles下配置
1,點(diǎn)擊頂部菜單欄【Help】-->選擇【SSL Proxying】睡雇,點(diǎn)擊【install Charles Root Certificate 】安裝Charles根證書即可萌衬;
這里由于用的筆記本截圖快捷鍵問題,沒發(fā)截取它抱,這里截取證書安裝秕豫,證書安裝一直下一步就可以


在這里插入圖片描述

在這里插入圖片描述

2,點(diǎn)擊【Proxy】-->【SSL Proxying Settings...】
3,在彈出選項(xiàng)卡中观蓄,勾選【Enable SSL Proxying】點(diǎn)擊【add】混移,在Host輸入【*】表示接收任何主機(jī),在Prot輸入【443】最后點(diǎn)擊【ok】保存


在這里插入圖片描述

在這里插入圖片描述

App抓包

Charles抓包不僅僅可以抓取來(lái)在電腦端的HTTP請(qǐng)求侮穿,也能夠抓取來(lái)自App發(fā)出的HTTP請(qǐng)求歌径,但是手機(jī)抓包需要在電腦端配置下,并且<u>同時(shí)需要手機(jī)和電腦在同一網(wǎng)絡(luò)下</u>

電腦端配置:

1亲茅,啟動(dòng)安裝好的Charles抓包工具回铛;
2,點(diǎn)擊【Help】-->【local IP Address】獲取下ip地址克锣,也可以直接通過電腦自帶的CMD命令來(lái)獲取電腦IP【ipconfig】茵肃,根據(jù)自己的習(xí)慣這里的ip是取我虛擬機(jī)的;


在這里插入圖片描述

在這里插入圖片描述

3袭祟,點(diǎn)擊【Proxy】-->【Proxy Settings】我們?cè)谠O(shè)置下端口號(hào)“9999”免姿;


在這里插入圖片描述

手機(jī)端設(shè)置:

1,打開手機(jī)的設(shè)置頁(yè)面榕酒;
2,選擇【無(wú)線局域網(wǎng)】故俐;
3想鹰,IOS點(diǎn)擊連接的WIFI后面的感嘆號(hào),安卓應(yīng)該是長(zhǎng)按連接的WIFI药版;(注:這里主要以IOS為例)
4辑舷,點(diǎn)擊【配置代理】-->【手動(dòng)】;
5槽片,輸入本機(jī)【IP地址(192.168.1.75)】以及端口號(hào)【9999】何缓,這是我本機(jī)的,根據(jù)自己情況合理配置还栓;
6碌廓,點(diǎn)擊【存儲(chǔ)】


在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

接下里驗(yàn)證下手機(jī)請(qǐng)求,當(dāng)我們看到Charles里能抓到這個(gè)連接剩盒,就說明配置沒問題谷婆,看到unknown,這個(gè)不要緊,那是我們沒有安裝針對(duì)手機(jī)端的證書纪挎,下面繼續(xù)我們手機(jī)端HTTPS證書安裝


在這里插入圖片描述

抓取手機(jī)HTTPS協(xié)議

通過上面的設(shè)置期贫,雖然來(lái)自我們手機(jī)端的Http協(xié)議請(qǐng)求可以抓取到,但是HTTPS協(xié)議的包是不能抓取的异袄,需要安裝配置證書才可以通砍,現(xiàn)在手機(jī)上大多數(shù)都已經(jīng)切到https很少由http協(xié)議的了

Charles配置:

1,點(diǎn)擊頂部菜單欄【Help】-->選擇【SSL Proxying】烤蜕,點(diǎn)擊【install Charles Root Certificate】安裝Charles根證書即可封孙;
2,點(diǎn)擊安裝【Install Charles Root Certificate On a Mobile Device or Remote Browser】在移動(dòng)設(shè)備上或遠(yuǎn)程瀏覽器安裝證書即可玖绿;(這里和上面安裝一樣)


在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

Charles過濾

通常情況下敛瓷,我們需要對(duì)網(wǎng)絡(luò)請(qǐng)求進(jìn)行過濾,只監(jiān)控向指定目錄服務(wù)器上發(fā)送的請(qǐng)求斑匪。對(duì)于這種需求呐籽,以下幾種辦法:

方法一:在主界面的中部的 Filter 欄中填入需要過濾出來(lái)的關(guān)鍵字。例如我們的服務(wù)器的地址是:http://ceshi.com, 那么只需要在 Filter 欄中填入 ceshi 即可蚀瘸。

方法二:在 Charles 的菜單欄選擇 “Proxy”->”Recording Settings”狡蝶,然后選擇 Include 欄,選擇添加一個(gè)項(xiàng)目贮勃,然后填入需要監(jiān)控的協(xié)議贪惹,主機(jī)地址,端口號(hào)寂嘉。這樣就可以只截取目標(biāo)網(wǎng)站的封包了奏瞬。如下圖所示:


在這里插入圖片描述

弱網(wǎng)測(cè)試

Charles配置弱網(wǎng)設(shè)置
1,點(diǎn)擊【Proxy】-->【Throttle Setting】
2泉孩,勾選上【Enable Throttle】硼端,也可以勾選【only for selected host 】 設(shè)置一個(gè)指定注解訪問進(jìn)行網(wǎng)絡(luò)限制,不影響其他軟件寓搬;
3珍昨,在【Throttle preset】選擇常見預(yù)設(shè)的網(wǎng)絡(luò)情況,也可以在【Bandwidth】自己設(shè)置網(wǎng)絡(luò)的上傳和下載速率


在這里插入圖片描述

在這里插入圖片描述

打斷點(diǎn)篡改數(shù)據(jù)

在我們的測(cè)試場(chǎng)景中句喷,可能需求修改請(qǐng)求參數(shù)或者返回參數(shù)進(jìn)行測(cè)試镣典,比如支付方面的接口,涉及用戶登陸權(quán)限的接口參數(shù)
這里就不再舉例了唾琼;

修改請(qǐng)求數(shù)據(jù)

1兄春,選擇請(qǐng)求會(huì)話右鍵勾選【Breakpoints】這是我們會(huì)發(fā)現(xiàn)工具欄有個(gè)六邊形按鈕已經(jīng)變?yōu)榧t色
2,設(shè)置斷點(diǎn)锡溯,點(diǎn)擊菜單欄【proxy】勾選【Breakoint Setting ...】這是會(huì)彈出斷點(diǎn)設(shè)置彈窗神郊;
3肴裙,在彈出的斷點(diǎn)設(shè)置彈窗,雙擊想打斷點(diǎn)的接口涌乳,進(jìn)行斷點(diǎn)編輯蜻懦;
4,編輯斷點(diǎn)夕晓,如果修改Request數(shù)據(jù)宛乃,九江Request勾選,如果修改Response數(shù)據(jù)蒸辆,就將Response勾選征炼,當(dāng)然你也可以都勾選;
5躬贡,在手機(jī)上重新進(jìn)行請(qǐng)求谆奥,Charles 會(huì)自動(dòng)進(jìn)行攔截并跳轉(zhuǎn)到請(qǐng)求數(shù)據(jù)修改頁(yè)面;


在這里插入圖片描述

這時(shí)拂玻,服務(wù)端給我們返回的數(shù)據(jù)就是有關(guān)jmeter的數(shù)據(jù)了

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

在我們的測(cè)試工作中酸些,可能你會(huì)發(fā)先一個(gè)bug,開發(fā)會(huì)讓你在操作一遍檐蚜,他要查看日志經(jīng)i選哪個(gè)定位分析魄懂,這時(shí)候,在客戶端上進(jìn)行操作一遍就會(huì)麻煩闯第,這是直接用Charles 發(fā)送一遍重復(fù)的請(qǐng)求就可以了市栗,并且,重新發(fā)送請(qǐng)求也可以幫助我們進(jìn)行功能測(cè)試咳短;
選擇需要重新發(fā)送請(qǐng)求的會(huì)話上填帽,直接點(diǎn)擊工具欄【重新按鈕】

Compose編輯接口

在我們的測(cè)試工作中,可能需要發(fā)送不同的參數(shù)進(jìn)行請(qǐng)求咙好。
選擇需要修改的請(qǐng)求篡腌,右鍵選擇【Compose】這時(shí)多出一個(gè)筆的請(qǐng)求;

服務(wù)器壓力測(cè)試

Charles 還有一個(gè)比較有意思的功能敷扫,它能勾簡(jiǎn)單的給服務(wù)器進(jìn)行壓力測(cè)試;
1诚卸,在進(jìn)行壓力測(cè)試的請(qǐng)求會(huì)話上右擊葵第,選擇【Repeat Advanced】


在這里插入圖片描述

2,在彈出框中合溺,輸入并發(fā)線程數(shù)以及壓力次數(shù)點(diǎn)擊進(jìn)行測(cè)試

本地映射

映射的意思就是指將一個(gè)請(qǐng)求重定向到另外一個(gè)請(qǐng)求卒密,本地映射的含義就是通過修改已有數(shù)據(jù)來(lái)映射指定的接口,使接口數(shù)據(jù)使用本地設(shè)置的數(shù)據(jù)來(lái)做調(diào)試棠赛,
下面我就通過一個(gè)例子位大家講解如果通過Charles 將網(wǎng)絡(luò)請(qǐng)求映射到本地文件
在請(qǐng)求會(huì)話上右鍵選擇【Save Reponse...】將返回信息保存到本地

遠(yuǎn)程映射

遠(yuǎn)程映射的含義就是將你本地的請(qǐng)求地址哮奇,映射到另外一個(gè)遠(yuǎn)程地址上膛腐,相當(dāng)于你的請(qǐng)求地址修改了,下面就通過一個(gè)例子
在菜單欄點(diǎn)擊【Tools】選擇【Remote】進(jìn)行遠(yuǎn)程映射設(shè)置鼎俘。

如果本文對(duì)你有所幫助哲身,歡迎關(guān)注點(diǎn)贊,分享給您身邊的朋友贸伐。您的鼓勵(lì)就是對(duì)我的最大動(dòng)力勘天。

相關(guān)博客

CSDN原文博客:手把手教你Charles抓包工具使用
掘金地址:手把手教你Charles抓包工具使用

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市捉邢,隨后出現(xiàn)的幾起案子脯丝,更是在濱河造成了極大的恐慌,老刑警劉巖伏伐,帶你破解...
    沈念sama閱讀 216,744評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件宠进,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡藐翎,警方通過查閱死者的電腦和手機(jī)材蹬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,505評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)阱高,“玉大人赚导,你說我怎么就攤上這事〕嗑” “怎么了吼旧?”我有些...
    開封第一講書人閱讀 163,105評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)未舟。 經(jīng)常有香客問我圈暗,道長(zhǎng),這世上最難降的妖魔是什么裕膀? 我笑而不...
    開封第一講書人閱讀 58,242評(píng)論 1 292
  • 正文 為了忘掉前任员串,我火速辦了婚禮,結(jié)果婚禮上昼扛,老公的妹妹穿的比我還像新娘寸齐。我一直安慰自己,他們只是感情好抄谐,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,269評(píng)論 6 389
  • 文/花漫 我一把揭開白布渺鹦。 她就那樣靜靜地躺著,像睡著了一般蛹含。 火紅的嫁衣襯著肌膚如雪毅厚。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,215評(píng)論 1 299
  • 那天浦箱,我揣著相機(jī)與錄音吸耿,去河邊找鬼祠锣。 笑死,一個(gè)胖子當(dāng)著我的面吹牛咽安,可吹牛的內(nèi)容都是我干的伴网。 我是一名探鬼主播,決...
    沈念sama閱讀 40,096評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼板乙,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼是偷!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起募逞,我...
    開封第一講書人閱讀 38,939評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤蛋铆,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后放接,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體刺啦,經(jīng)...
    沈念sama閱讀 45,354評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,573評(píng)論 2 333
  • 正文 我和宋清朗相戀三年纠脾,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了玛瘸。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,745評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡苟蹈,死狀恐怖糊渊,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情慧脱,我是刑警寧澤渺绒,帶...
    沈念sama閱讀 35,448評(píng)論 5 344
  • 正文 年R本政府宣布,位于F島的核電站菱鸥,受9級(jí)特大地震影響宗兼,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜氮采,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,048評(píng)論 3 327
  • 文/蒙蒙 一殷绍、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧鹊漠,春花似錦主到、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,683評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至楞陷,卻和暖如春怔鳖,著一層夾襖步出監(jiān)牢的瞬間茉唉,已是汗流浹背固蛾。 一陣腳步聲響...
    開封第一講書人閱讀 32,838評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工结执, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人艾凯。 一個(gè)月前我還...
    沈念sama閱讀 47,776評(píng)論 2 369
  • 正文 我出身青樓献幔,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親趾诗。 傳聞我的和親對(duì)象是個(gè)殘疾皇子蜡感,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,652評(píng)論 2 354