Charles抓包HTTP、HTTPS

抓包分析數(shù)據(jù)在移動開發(fā)中十分重要浊服,可以幫助我們更快的了解數(shù)據(jù)構(gòu)成统屈,提高開發(fā)效率。但是在蘋果要求上線的App必須使用HTTS之后牙躺,HTTPS數(shù)據(jù)包的抓取分析較為麻煩愁憔,在此總結(jié)了在mac上使用Charles抓包的詳細(xì)步驟。

首先我們下載最先版本的Charles
官網(wǎng)下載:https://www.charlesproxy.com/download/
免費(fèi)版下載:http://xclient.info/search/s/charles/

一孽拷、開啟網(wǎng)絡(luò)請求記錄吨掌,設(shè)置系統(tǒng)網(wǎng)絡(luò)代理

安裝Charles之后,我們選擇Proxy->Start Recording脓恕,開始記錄網(wǎng)絡(luò)請求膜宋,然后勾選MacOS Proxy(和其他的代理對象如:Mozilla Firefox Proxy火狐瀏覽器),將系統(tǒng)代理設(shè)置通過Charles Proxy。

這里寫圖片描述

此時打開系統(tǒng)偏好設(shè)置->網(wǎng)絡(luò)->高級炼幔,我們可以看到本機(jī)HTTP和HTTPS請求被代理到127.0.0.1秋茫,端口號是8888。至此乃秀,我們已經(jīng)完成了基本的網(wǎng)路請求設(shè)置肛著,通過此Mac發(fā)起的HTTP請求,我們都可以通過Charles分析跺讯。

這里寫圖片描述

注:在Charles關(guān)閉的時候枢贿,這里的web代理和安全web代理也會變成無勾選狀態(tài)。保證無代理時抬吟,Mac也能夠訪問網(wǎng)絡(luò)萨咕。

二、iPhone數(shù)據(jù)包的抓取

1. 打開Charles的代理功能

為了使用Charles抓取到iPhone設(shè)備的數(shù)據(jù)包火本,我們首先要打開Charles的代理功能危队。選擇Proxy ->Proxy Setting,設(shè)置Port:8888钙畔,選擇Enable TransParent HTTP Proxying茫陆。

這里寫圖片描述

2.獲取本機(jī)電腦IP

接下來我們要將手機(jī)的網(wǎng)絡(luò)代理IP設(shè)置為Charles運(yùn)行所在的電腦IP,獲取本機(jī)電腦的IP方法如下:
方法一:8Mac電腦上使用Control +空格鍵擎析,并輸入Terminal 可以進(jìn)入控制臺簿盅,然后鍵入 ifconfig en0命令 挥下,我們查看到當(dāng)前電腦的IP地址。

這里寫圖片描述

方法二:通過Charles查看本機(jī)的IP地址:打開Charles ->Help->Local IP Address

這里寫圖片描述

3. 設(shè)置手機(jī)網(wǎng)絡(luò)代理IP

我們依次打開iphone “設(shè)置->無線局域網(wǎng)”桨醋,點(diǎn)擊當(dāng)前連接Wifi右側(cè)的詳情按鈕棚瘟。這里顯示了當(dāng)前連接Wifi的基本信息,我們需要將這里底部的HTTP代理改為手動喜最,然后填上Charles運(yùn)行所在電腦的IP和端口號8888偎蘸。如圖:


這里寫圖片描述

此時,iPhone的網(wǎng)絡(luò)代理就設(shè)置完成了瞬内,手機(jī)上請求將會被代理到mac上迷雪,我們可以很方便的通過Charles查看到手機(jī)應(yīng)用發(fā)起的網(wǎng)絡(luò)請求數(shù)據(jù)包。

三虫蝶、抓取HTTPS數(shù)據(jù)包

相對于HTTP類的網(wǎng)絡(luò)請求章咧,HTTPS請求更加安全,這也使得抓取這類的數(shù)據(jù)包進(jìn)行分析要麻煩一些能真。抓取HTTPS請求數(shù)據(jù)包進(jìn)行分析赁严,關(guān)鍵的步驟如下:

1. 安裝Charles根證書

打開charles,依次點(diǎn)擊Help -> SSL Proxying -> Install Charles Root Certificate,安裝根證書

這里寫圖片描述

2. 設(shè)置證書信任

在安裝證書之后粉铐,我們查看鑰匙串误澳。選擇所有項(xiàng)目,我們會看到一個帶有紅叉標(biāo)記不被信任的Charles證書秦躯。Charles證書默認(rèn)是不信任的忆谓,需要我們手動設(shè)置。右鍵->顯示簡介->點(diǎn)擊信任踱承,我們?nèi)鐖D設(shè)置始終信任倡缠。

這里寫圖片描述

3.設(shè)置 SSL 代理

打開charles應(yīng)用,選擇Proxy->SSL Proxying Settings,我們在這里設(shè)置SSL Proxy,點(diǎn)擊面板上的add茎活,如下圖:

這里寫圖片描述

在這里我們設(shè)置主機(jī)地址Host是*,使用通配符表示檢測所有網(wǎng)絡(luò)請求昙沦。然后設(shè)置端口號是443

4. iOS設(shè)備安裝證書

最后我們還需要在iOS設(shè)備上安裝證書。點(diǎn)擊 Charles 的頂部菜單载荔,選擇 Help –> SSL Proxying–> Install Charles Root Certificate on a Mobile Device or Remote Browser盾饮,然后就可以看到 Charles 顯示如下彈窗:

屏幕快照 2017-01-09 下午2.18.11.png

然后我們需要打開safari ,輸入網(wǎng)址: http://charlesproxy.com/getssl
這時候會彈出安裝證書的界面懒熙,我們點(diǎn)擊安裝證書丘损,如圖:

這里寫圖片描述

目前為止,我們就完成了Charles抓取HTTPS數(shù)據(jù)包的所有設(shè)置了工扎。查看Charles,我們可以看到數(shù)據(jù)包的內(nèi)容了徘钥。

5. 失敗請求的處理

iOS10.3之后,在上述設(shè)置完成之后肢娘,所有的https請求都會失敗呈础。提示錯誤:Failure SSLHandshake: Received fatal alert: unknown_ca 和You may need to configure your browser or application to trust the Charles Root Certificate.
原因:charles的根證書雖然已經(jīng)在安裝列表中,但在iOS 10.3之后,安裝新的自定義證書默認(rèn)是不受信任的舆驶。如果要信任已安裝的自定義證書,需要手動打開開關(guān)以信任證書。
解決:設(shè)置->通用->關(guān)于本機(jī)->證書信任設(shè)置-> 找到charles proxy custom root certificate然后信任該證書即可. 模擬器也是這樣處理而钞。

四沙廉、使用Charles遇到的問題

1.ipa包上傳失敗

我在使用Charles抓包https之后,在使用applicationLoader上傳ipa包的時候遇到了下面的問題:
Communication error. Please use diagnostic mode to check connectivity. You need to have outbound access to TCP port 443.

屏幕快照 2017-01-11 下午5.14.08.png

解決:將charles關(guān)閉臼节,然后再上傳ipa文件春寿。
至于原因我也沒弄明白颅停,如果哪位朋友知道也可以告訴我一下僚祷。

2.使用charles無法抓取到iOS Simulator的請求數(shù)據(jù)包

解決辦法:http://www.reibang.com/p/f8d67a2761b4

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
禁止轉(zhuǎn)載辽俗,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者深滚。
  • 序言:七十年代末爪瓜,一起剝皮案震驚了整個濱河市危纫,隨后出現(xiàn)的幾起案子而克,更是在濱河造成了極大的恐慌溢吻,老刑警劉巖维费,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異促王,居然都是意外死亡犀盟,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進(jìn)店門蝇狼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來阅畴,“玉大人,你說我怎么就攤上這事迅耘〖妫” “怎么了?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵颤专,是天一觀的道長纽哥。 經(jīng)常有香客問我,道長栖秕,這世上最難降的妖魔是什么春塌? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮簇捍,結(jié)果婚禮上只壳,老公的妹妹穿的比我還像新娘。我一直安慰自己暑塑,他們只是感情好吕世,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著梯投,像睡著了一般命辖。 火紅的嫁衣襯著肌膚如雪况毅。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天尔艇,我揣著相機(jī)與錄音尔许,去河邊找鬼。 笑死终娃,一個胖子當(dāng)著我的面吹牛味廊,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播棠耕,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼余佛,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了窍荧?” 一聲冷哼從身側(cè)響起辉巡,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蕊退,沒想到半個月后郊楣,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡瓤荔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年净蚤,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片输硝。...
    茶點(diǎn)故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡今瀑,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出点把,到底是詐尸還是另有隱情放椰,我是刑警寧澤,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布愉粤,位于F島的核電站砾医,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏衣厘。R本人自食惡果不足惜如蚜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望影暴。 院中可真熱鬧错邦,春花似錦、人聲如沸型宙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽妆兑。三九已至魂拦,卻和暖如春毛仪,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背芯勘。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工箱靴, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人荷愕。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓衡怀,卻偏偏與公主長得像,于是被迫代替她去往敵國和親安疗。 傳聞我的和親對象是個殘疾皇子抛杨,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,762評論 2 345

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

  • 第一步: Charles安裝 https://www.charlesproxy.com/download/ 第二步...
    任任run閱讀 763評論 0 0
  • 簡書上的文章已經(jīng)不再維護(hù),有興趣閱讀其他文章荐类,或一起交流的朋友怖现,請移步 我的博客:punmy.cn 原文 本篇博客...
    胖綿羊閱讀 10,162評論 7 36
  • 錦瑟無端五十弦,一弦一柱思華年脐雪。莊生曉夢迷蝴蝶厌小,望帝春心托杜鵑。滄海月明珠有淚战秋,藍(lán)田日暖玉生煙璧亚。此情可待成追憶,只...
    幸福D蘇眉閱讀 594評論 5 4
  • 生命的中秋脂信,在我看來是真正的“黃金時代”癣蟋。那大概是40至55歲,浮華褪去狰闪,容顏漸老疯搅。任何標(biāo)榜都顯得不合時宜,恰似這...
    海邊的菩提2016閱讀 226評論 0 0
  • [Dipper] 一切是發(fā)生得如此的突然埋泵,當(dāng)他以為自己會撞上硬邦邦的地板時幔欧,他摔進(jìn)了一個可以稱得上溫暖的懷抱,而當(dāng)...
    企鵝奇妙物語閱讀 276評論 0 2