Charles-mac抓包工具簡(jiǎn)介

摘自:http://www.51ste.com/share/det-402.html

一、前言

我們經(jīng)常在工作中使用到各種工具去對(duì)網(wǎng)絡(luò)請(qǐng)求進(jìn)行攔截苏携。抓包的工具有很多,適用于不同的平臺(tái)和場(chǎng)景,例如:Charles惧蛹、Fiddler、Wireshark等等刑枝,在windows下香嗓,使用Fiddler就非常的方便,但是它的缺陷在于沒有Mac的版本装畅,這讓使用mac的人員就十分苦惱靠娱。那么今天就其中一款抓包工具, Charles 進(jìn)行講解掠兄,Charles 是一款全平臺(tái)的抓包工具像云,所以可以在 Mac 下使用。

二蚂夕、Charles

1迅诬、什么是Charles

Charles 是一款比較常用的全平臺(tái)的網(wǎng)絡(luò)封包截取工具,而我們?cè)谧鲆苿?dòng)開發(fā)的時(shí)候婿牍,我們?yōu)榱苏{(diào)試侈贷、測(cè)試、分析等目的等脂,經(jīng)常需要與服務(wù)端的網(wǎng)絡(luò)通訊協(xié)議打交道铐维。Charles 可以幫我們截取網(wǎng)絡(luò)數(shù)據(jù)包來(lái)進(jìn)行分析。

Charles 通過將軟件本身設(shè)置成系統(tǒng)的網(wǎng)絡(luò)訪問代理服務(wù)器慎菲,使得所有的網(wǎng)絡(luò)請(qǐng)求都會(huì)走一遍 Charles 代理嫁蛇,從而 Charles 可以截取經(jīng)過它的請(qǐng)求,然后我們就可以對(duì)其進(jìn)行網(wǎng)絡(luò)包的分析露该。

Charles 是一款收費(fèi)的軟件睬棚,可以提供 30 天的免費(fèi)試用體驗(yàn)。試用期過后解幼,為付費(fèi)的用戶抑党,仍然可以繼續(xù)使用,但是每次使用時(shí)間不能超過 30 分鐘撵摆,并且啟動(dòng)時(shí)將會(huì)有 10s 的延遲底靠。所以如果只是偶爾使用一下,可以考慮一直使用免費(fèi)版本特铝,如果長(zhǎng)期依賴抓包的話暑中,可以選擇付費(fèi)或者其他你能想到的辦法來(lái)解決 Charles License 的問題壹瘟。

Charles 的功能非常強(qiáng)大,具體的還是以官方文檔為準(zhǔn)鳄逾,這里只是介紹一下開發(fā)和測(cè)試在工作中會(huì)用到的功能:

截取Http和Https網(wǎng)絡(luò)包稻轨。

支持重發(fā)網(wǎng)絡(luò)請(qǐng)求,方便后端調(diào)試雕凹。

支持修改網(wǎng)絡(luò)請(qǐng)求參數(shù)殴俱。

支持網(wǎng)絡(luò)請(qǐng)求的截取以及動(dòng)態(tài)修改請(qǐng)求響應(yīng)結(jié)果。

支持模擬限流網(wǎng)絡(luò)枚抵。

官網(wǎng):https://www.charlesproxy.com

這里使用的次新版线欲,v4.2.5 進(jìn)行講解,和舊版本相比汽摹,有一些界面的修改和增加了一下新的功能李丰,整體來(lái)說都差不多。

2竖慧、Charles的基本界面

打開Charles之后嫌套,在主頁(yè)面中逆屡,提供了兩種查看網(wǎng)絡(luò)包的視圖方式圾旨,分別是『Structure』和『Sequence』。

1魏蔗、Structure 視圖

Structure 視圖將網(wǎng)絡(luò)請(qǐng)求按請(qǐng)求的域名進(jìn)行分類砍的,將同域名的請(qǐng)求進(jìn)行分類。

可以看到莺治,Structure 視圖模式下廓鞠,所有的請(qǐng)求是以域名進(jìn)行分類顯示的,可以讓我們更關(guān)注同域名下的請(qǐng)求谣旁,當(dāng)然這里都被折疊起來(lái)了床佳,當(dāng)此域名下有接口鏈接被請(qǐng)求了,會(huì)閃一下榄审,這樣就可以讓我們發(fā)現(xiàn)哪些域名下的數(shù)據(jù)正在被請(qǐng)求砌们。

2、Sequence 視圖

Sequence 視圖模式下搁进,會(huì)將所有的網(wǎng)絡(luò)請(qǐng)求都按照訪問的時(shí)間從上到下進(jìn)行排序浪感。

和 Structure 一樣,該有的區(qū)域都有饼问,很直觀的顯示了當(dāng)前的請(qǐng)求鏈接影兽、請(qǐng)求數(shù)據(jù)、響應(yīng)數(shù)據(jù)等情況莱革。因?yàn)檫@里是按請(qǐng)求的先后順序進(jìn)行有序的排列峻堰,Charles 同時(shí)也提供了一個(gè)過濾請(qǐng)求的地方讹开,可以通過它來(lái)簡(jiǎn)單的過濾我們需要的請(qǐng)求再進(jìn)行查看。

在實(shí)際使用過程中茧妒,通常根據(jù)具體的需要在這兩種視圖之間來(lái)回切換萧吠。而對(duì)于某一個(gè)具體的網(wǎng)絡(luò)請(qǐng)求,Charles 也提供了詳細(xì)的請(qǐng)求內(nèi)容和響應(yīng)內(nèi)容桐筏,將發(fā)送的數(shù)據(jù)和顯示的數(shù)據(jù)均顯示出來(lái)纸型,對(duì)于一些常見的數(shù)據(jù)格式, Charles 還提供了一些格式化的操作梅忌,例如 JSON 內(nèi)容狰腌,可以切換到 JSON 標(biāo)簽下,它會(huì)按照 JSON 的格式進(jìn)行格式化牧氮,方便我們閱讀和查看琼腔,而圖片的請(qǐng)求也會(huì)在 Charles 中顯示縮略圖的預(yù)覽。

三踱葛、截取移動(dòng)設(shè)備的網(wǎng)絡(luò)封包

Charles 通常本身是可以直接截取本機(jī)上的網(wǎng)絡(luò)封包的丹莲,但是在現(xiàn)在互聯(lián)網(wǎng)公司來(lái)說,大部分使用到抓包的場(chǎng)景都是需要去抓一些移動(dòng)設(shè)備上的網(wǎng)絡(luò)請(qǐng)求尸诽,例如:iPhone甥材、Android 設(shè)備等,下面就以 iPhone 為例子性含,講解如何通過 Charles 抓取移動(dòng)設(shè)備上的網(wǎng)絡(luò)封包洲赵。

1、Charles對(duì)應(yīng)設(shè)置

既然 Charles 是做了一個(gè)本地代理商蕴,所以需要將代理功能打開叠萍,并設(shè)置一個(gè)固定的端口。默認(rèn)情況下绪商,端口號(hào)為:8888 苛谷。

可以通過菜單欄:proxy → Proxy Settings ,進(jìn)行查看當(dāng)前或者修改當(dāng)前代理端口格郁,并且保證 Enable transparent HTTP proxying 被勾選腹殿。

2、iPhone上的設(shè)置

如果像在移動(dòng)設(shè)備上指向 Charles 配置的代理理张,還需要知道本機(jī)的 IP 地址赫蛇。一般來(lái)說,我們都知道在 Ternimal 中使用 ifconfig 命令雾叭,也可查到當(dāng)前的 IP 地址悟耘。而 Charles 也提供了可視化的方式來(lái)查看當(dāng)前本機(jī)的 IP 地址。

通過頂部菜單:Help → Local IP Address 织狐,即可查看到當(dāng)前設(shè)備的 IP 地址暂幼。

知道當(dāng)前代理設(shè)備的 IP 地址之后筏勒,還需要在 iPhone 上設(shè)置 WIFI 的 HTTP 代理。注意這里的前提是旺嬉,iPhone 和 Charles 代理設(shè)備鏈接的是同一網(wǎng)絡(luò)管行。

在iPhone中,通過 設(shè)置 → 無(wú)線局域網(wǎng) 邪媳,查看當(dāng)前鏈接的 WIFI 點(diǎn)擊最右邊的感嘆號(hào)捐顷,進(jìn)入當(dāng)前 WIFI 的細(xì)節(jié)配置頁(yè)面,在最下面的 HTTP 代理中雨效,選擇「手動(dòng)」迅涮,然后填寫 Charles 代理機(jī)器的 IP 和 端口。

設(shè)置好之后徽龟,在 iPhone 上打開任意需要聯(lián)網(wǎng)的 App 叮姑,就可以看到 Charles 中彈出iPhone 請(qǐng)求鏈接的確認(rèn)菜單,點(diǎn)擊“Allow”即可完成設(shè)置据悔。

3传透、截取Https的網(wǎng)絡(luò)封包

在現(xiàn)在這個(gè)全網(wǎng)皆Https的環(huán)境下,一個(gè)App使用Https 是非常常見的极颓。而正常情況下朱盐,Charles 是不能截取Https的網(wǎng)絡(luò)包的,這涉及到 Https 的證書問題讼昆。

但是可以在 Charles 中托享,通過一些簡(jiǎn)單的配置骚烧,使其安裝 Charles 的 CA 證書浸赫。

具體步驟如下:

①在 Mac 上安裝 CA 證書。通過頂部菜單選擇:Help → SSL Proxying →? ? ?Install Charles Root Certificate赃绊,來(lái)安裝 CA 證書既峡。

②iPhone 中,通過訪問 http://charesproxy.com/getssl來(lái)下載安裝 Charlse 的 CA 證書碧查。

③在需要截取Https的請(qǐng)求上运敢,選擇 Enable SSL Proxying。

完成上面的步驟之后忠售,就可以在 Charles 中传惠,截取到 iPhone 設(shè)備上的 Https 請(qǐng)求了。

在這個(gè)配置的過程中稻扬,可能會(huì)出現(xiàn)一些問題卦方,可能按照步驟依然抓取不了 Https 的網(wǎng)絡(luò)包。主要的原因在于: CA 證書需要被 MacOS 信任泰佳。

Charles 的 CA 證書盼砍,需要被 MaxOS 信任尘吗,安裝好證書之后,通常會(huì)彈出『鑰匙串訪問』的窗口等待確認(rèn)浇坐,當(dāng)發(fā)現(xiàn)剛才安裝的 Charles 證書右下角有各 x 號(hào)睬捶,表示當(dāng)前證書并不被 MacOS 信任。

需要選中這個(gè) CA 證書近刘,并指定為信任即可擒贸,在這個(gè)過程中,需要輸入密碼進(jìn)行授權(quán)觉渴。

這樣酗宋,我們就可以抓取iPhone手機(jī)上的請(qǐng)求了,當(dāng)然該工具還有著很多強(qiáng)大的功能疆拘,大家可以根據(jù)需要前去查找蜕猫。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市哎迄,隨后出現(xiàn)的幾起案子回右,更是在濱河造成了極大的恐慌,老刑警劉巖漱挚,帶你破解...
    沈念sama閱讀 206,311評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件翔烁,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡旨涝,警方通過查閱死者的電腦和手機(jī)蹬屹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)白华,“玉大人慨默,你說我怎么就攤上這事』⌒龋” “怎么了厦取?”我有些...
    開封第一講書人閱讀 152,671評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)管搪。 經(jīng)常有香客問我虾攻,道長(zhǎng),這世上最難降的妖魔是什么更鲁? 我笑而不...
    開封第一講書人閱讀 55,252評(píng)論 1 279
  • 正文 為了忘掉前任霎箍,我火速辦了婚禮,結(jié)果婚禮上澡为,老公的妹妹穿的比我還像新娘漂坏。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評(píng)論 5 371
  • 文/花漫 我一把揭開白布樊拓。 她就那樣靜靜地躺著纠亚,像睡著了一般。 火紅的嫁衣襯著肌膚如雪筋夏。 梳的紋絲不亂的頭發(fā)上蒂胞,一...
    開封第一講書人閱讀 49,031評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音条篷,去河邊找鬼骗随。 笑死,一個(gè)胖子當(dāng)著我的面吹牛赴叹,可吹牛的內(nèi)容都是我干的鸿染。 我是一名探鬼主播,決...
    沈念sama閱讀 38,340評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼乞巧,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼涨椒!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起绽媒,我...
    開封第一講書人閱讀 36,973評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤蚕冬,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后是辕,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體囤热,經(jīng)...
    沈念sama閱讀 43,466評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評(píng)論 2 323
  • 正文 我和宋清朗相戀三年获三,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了旁蔼。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,039評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡疙教,死狀恐怖棺聊,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情松逊,我是刑警寧澤躺屁,帶...
    沈念sama閱讀 33,701評(píng)論 4 323
  • 正文 年R本政府宣布肯夏,位于F島的核電站经宏,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏驯击。R本人自食惡果不足惜烁兰,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望徊都。 院中可真熱鬧沪斟,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至槽奕,卻和暖如春几睛,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背粤攒。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工所森, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人夯接。 一個(gè)月前我還...
    沈念sama閱讀 45,497評(píng)論 2 354
  • 正文 我出身青樓焕济,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親盔几。 傳聞我的和親對(duì)象是個(gè)殘疾皇子晴弃,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評(píng)論 2 345

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

  • 簡(jiǎn)介 Charles 是在 Mac 下常用的網(wǎng)絡(luò)封包截取工具,在做 移動(dòng)開發(fā)時(shí)逊拍,我們?yōu)榱苏{(diào)試與服務(wù)器端的網(wǎng)絡(luò)通訊協(xié)...
    faunjoe閱讀 742評(píng)論 0 0
  • 有一個(gè)人做了一個(gè)這樣的小實(shí)驗(yàn)肝匆,她把兩朵玫瑰花分別放在了兩個(gè)瓶子里同樣的照顧,唯一不同的是顺献,她常常對(duì)A玫瑰說:...
    wspg閱讀 450評(píng)論 0 2