在Mac上利用fiddler爬取https 協(xié)議包

最近研究了一下利用Mac上如何利用fiddler抓取https協(xié)議數(shù)據(jù),踩了很多地雷,所以想在此總結(jié)一下,希望其他小伙伴不要再踩我踩過的雷。

工作原理

Fiddler是用代理web服務(wù)器的形式工作的,代理端口是8888,代理端口可以在fiddler中設(shè)置。


fiddler原理圖

一、mono的安裝

1. mono作用:簡單的說就是由于Fiddler是基于.Net技術(shù)開發(fā)的,沒辦法直接在Mac/Linux下使用,mono就是給Fiddler在Mac/Linux系統(tǒng)下提供.Net運行環(huán)境的。mono可以在這里下載。

2.安裝步驟:

下載完成后在Terminal里執(zhí)行以下命令

/Library/Frameworks/Mono.framework/Versions/<Mono Version>/bin/mozroots --import --sync

其中Mono Version是指mono的版本,現(xiàn)在是5.10.1版。此步是為了從Mozilla LXR上下載所有受信任的root證書,存于Mono的證書庫里。root證書能用于請求https地址。

接下來把mono加入到環(huán)境變量中,編輯.bash_profile文件:

sudo vi ~/.bash_profile

加入文本:

export MONO_HOME=/Library/Frameworks/Mono.framework/Versions/5.0.1

export PATH=$PATH:$MONO_HOME/bin

保存后重新打開Terminal,Mono環(huán)境已裝好。

二、Fiddler的安裝

從Fiddler官網(wǎng)https://www.telerik.com/download/fiddler下載,打開Terminal,進入到剛才Fiddler的保存路徑,執(zhí)行命令運行:

sudo mono --arch=32 Fiddler.exe

在Mac上要指明--arch=32 ,猜測可能是Fiddler運行在32位機器上的程序,原因不是很確定,有清楚的朋友歡迎指正。

三、代理配置

打開Fiddler后依次選中tools->options->Connections按下圖勾選選中:


1.png

iPhone手機中的代理設(shè)置:

1. 要想抓取手機端內(nèi)容首先要讓手機跟電腦鏈接到同一個網(wǎng)絡(luò)中

2. 點擊手機設(shè)置->Wi-Fi右側(cè)的藍色按鈕進入http代理設(shè)置:


2.png

在http代理處選擇手動模式,輸入ip和端口。ip即pc的局域網(wǎng)地址,端口為:8888


3.png

四、https證書的配置

? 由于https的ssl/tls層使用了非對稱的加密方式,利用公鑰加密私鑰解密,其中公鑰放在證書中,所以Fiddler要監(jiān)聽https協(xié)議的網(wǎng)絡(luò)請求需要配置證書。

? 1. Fiddler中相關(guān)設(shè)置:


圖片發(fā)自簡書App

在選擇好后Fiddler會安裝相關(guān)證書,點擊OK按鈕完成。

2. 在移動端證書的配置:

? ? 之前已經(jīng)說過了,要抓取移動端數(shù)據(jù),必須使手機和電腦連接到同一個網(wǎng)絡(luò),然后在Safari 打開http://<ip>:8888,點擊 FiddlerRoot certificate,進行證書安裝。其中IP就是電腦局域網(wǎng)IP

? 安裝的證書需要認(rèn)證,否則無法使用,ios設(shè)置證書認(rèn)證:設(shè)置-->通用--->關(guān)于本—>證書信任設(shè)置 。找到剛才安裝的證書點擊信任。

3.?在mac電腦中配置證書:

打開Fiddler在Fiddler工具欄中依次點擊Tools-->Options-->HTTPS-->Actions-->Export Root Certificate to Desktop導(dǎo)出證書到桌面上:

雙擊證書,會跳到鑰匙串中,即可倒入證書到Mac電腦證書管理中:

雙擊鑰匙串中倒入的證書設(shè)置信任證書及可以抓取瀏覽器中的https協(xié)議請求的數(shù)據(jù):


好了,整個在Mac上利用fiddler爬取https協(xié)議請求數(shù)據(jù)的過程就講完了,看了很多別人寫的相關(guān)博客,借鑒了寫的不錯的,再此申明一下。

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

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

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