🔥《吐血整理》保姆級系列教程 - 玩轉 Fiddler 抓包教程 (3)-再識 Fiddler 讓你感性認識一下

北京-宏哥發表於2024-12-04

1.簡介

上一篇透過宏哥的介紹想必各位小夥伴或者童鞋們對 Fiddler 已經有了一個理性地認識,今天宏哥在從 Fiddler 的外貌介紹和分享一下,讓小夥伴們或者童鞋們再對 Fiddler 有一個感性的認識,今天主要是對 Fiddler 的介面進行一個詳細的介紹。

2.Fiddler 主介面

Fiddler 的主介面分為:選單欄(①)、工具皮膚(②)、會話皮膚(③)、監控皮膚(④)和狀態皮膚(⑤)四部分組成,如下圖所示:

2.1Fiddler 主介面概覽

Fiddler 的主介面概覽,如下圖所示:

3.Fiddler 主介面詳解

Fiddler 的主介面詳解,說明註釋、重新請求、刪除會話、繼續執行、流模式/緩衝模式、解碼、保留會話、監控指定程序、尋找、儲存會話、切圖、計時、開啟瀏覽器、清除 IE 快取、編碼/解碼工具、彈出控制監控皮膚、MSDN、幫助。如下圖所示:

3.1 選單欄

選單欄的功能其實很簡單主要包含:File(檔案)、Edit(編輯)、Rules(規則)、 Tools(工具) 、View(檢視) 和 Help(幫助) 六個板塊。如下圖所示:

3.1.1 File

File 選單主要包含新建檢視、載入一個儲存好的抓包會話檔案、儲存所有會話列表資料到一個.saz 檔案中等等。如下圖所示:

各個按鈕功能說明:

Capture Traffic:預設勾選,勾選此項才可抓包,與點選左下角狀態列的 Capture 效果一樣。

New Viewer:開啟一個新的 fiddler 的 viewer,注意這裡不是再開一個新的 fiddler,而是開一個新的fiddler的viewer。

Load Archive…:用於重新載入之前捕獲到的 SAZ 檔案格式儲存的流量。Session Archive Zip 檔案,用於儲存 http 請求資訊。

Recent Archives:檢視最近之前捕獲到的 SAZ 檔案格式儲存的流量。

Save:儲存。

Import Sessions…:從目標資料夾及其子資料夾載入所有 SAZ 檔案。快取和重用密碼。支援匯入從其他工具獲得的流量。

Export sessions:支援用fiddler把捕捉到的 sesison 用多種方式儲存。CURL 指令碼由 CURL 回放。

Exit:退出 Fiddler。
3.1.2 Edit

Edit 選單主要包含一些編輯的功能,例如對會話的:複製 貼上 複製等操作。如下圖所示:

各個按鈕功能說明:

Copy:用來複製請求的相關資訊。有用於複製在 web session 列表中選中的 session 資訊,包括 just URL(選中的 session 的 URL 複製到剪下板中)、this column(複製選單所在列的文字)、terse summary(選中 session 的簡要說明覆制到剪下板裡)、header only (把 session 請求頭複製到剪下板裡)、session(把整個的 session 列表都複製到剪下板裡)、full summary(把列表中顯示的所有 session 資訊複製到剪下板裡)這些功能。

Remove:主要是用來移除左側邊欄中的session。

Select All:全選左側邊欄中 session。

Undelete:恢復之前刪除的 session。

Paste as Sessions:把剪下板裡的 sesisongs 複製到 web sessions 中,把以前的會話貼上回來.

Mark:自定義不同 session 的顯示顏色.

Unlock for Editing:把鎖定的 session 進行解鎖,可以進行編輯,預設情況下是不可進行編輯的,預設可以看到選定的 session 前是“鎖”的圖形 ,點選此按鈕後變成可編輯按鈕 。

Find Sessions…:搜尋 session.
3.1.3 Rules

Rules 規則選單所謂規則 指的也就是抓包的規則, 按照設定的一系列規則來顯示抓取的資料會話。如下圖所示:

各個按鈕功能說明:

Hide Image Requests:可以隱藏圖片請求,讓圖片類的 session 不在 session 框中顯示出來。

Hide CONNECTs:可以隱藏 CONNECT 方法的請求,讓這類 session 不在 session 框中顯示出來。

Automatic Breakpoints:自動斷點,控制是否自動在 Before Request 或 After Request 處斷點,來修改請求或響應的內容。

Customize Rules…:來開啟 fiddler script 工具,調取指令碼操作,多用於網路修改,其他自定義時使用。

Require proxy authentication:若選中此項,則所有未提交 Require proxy authentication 的請求頭的請求會返回 HTTP/407 響應,要求客戶安裝證書。

Apply GZIP Encoding:請求 GZIP 編碼,若選中此項,則只要請求包含了 gzip 標識的 Accept-Encoding 請求頭就會對除了圖片以外的所有相應使用 GZIP HTTP 進行壓縮。

Remove All Encoding:若選中此項,會刪除所有請求相應的 http 內容編碼和傳輸編碼。

Hide 304s:在session框中隱藏所有的 304 的 session。

Request Japanese Content:把所有的 Accept-Encoding 請求頭設定替換成 ja 標示,標示客戶端希望以日語的形式傳送。

Automatically Authenticate:自動進行身份驗證。

User-Agents:選擇相應的使用者代理模式,預設是選擇 disabled。那什麼是 user-agent 呢?ua 是頭域的組成部分,簡單來說就是你向訪問的網站提供你所用的瀏覽器的型別等資訊,ua 字串在每次瀏覽器 http 請求時傳送到伺服器端。

Performance:此項提供影響 web 效能的簡單選項。若選中了 simulate modem speeds,它會設定所有後續 session 的 flag,把 request-trickle-delay 標誌設定為 300,所有上傳資料延遲 300ms/kb,若把 response-trickle-delay 標誌位設為 150,會使所有下載資料延遲 150ms/kb。若選中了 disable caching,將會刪除所有 If-None-Match和If-Modified-Since 請求頭,並新增 Pragma:no-cache 請求頭,選中該項還會刪除響應中的所有 Expires 頭,並把 Cache-Control 響應頭設定成 no-cache,該項無法阻止瀏覽器重用在所用該選項之前所快取的響應,在選中該選項後,為了得到最佳結果,最好是清空瀏覽器中快取。若選擇 Catch Always Fresh 會自動響應所有包含 http/304 響應的有條件的 http 請求,表示客戶端快取是最新的,當訪問的站點無法正確的設定快取失效日期時,該選項可以極大的提高效能。
3.1.4 Tools

Tools(工具選單) 這個選單多數是針對 fiddler 這款工具本身的一些網路設定。如下圖所示:

各個按鈕功能說明:

Options…:開啟 Options 視窗,是 fiddler 抓包的一些設定項,包括對抓取介面是 http 還是 https://image.baidu.com/search/down?url=https 的設定,獲取證書,設定代理埠號等功能。

WinINET Options…:開啟IE瀏覽器的 options 進行設定。

Clear WinINET Catch:清空 IE 和其他應用中所使用的 WinINET 的快取檔案。

Clear WinINET Cookies:清空 IE 和其他應用中所使用的 WinINET 的 Cookies 檔案。

TextWizard:文字嚮導工具,是一個非常好用的可以輕鬆將 text 文字 encode 和 decode 的小工具。

Compare Sessions:比較 session,可以在 session 框中選中兩個 session,然後點選此按鈕,可以來比較兩個 session,正常情況下需要安裝外掛。

Reset Script:重置指令碼。

Sandbox:fiddler sanbox 官方文件。

View IE Cache:開啟本地檔案系統,檢視ie快取。

Win8 Loopback Exemptions:Win8 迴環豁免工具,這個時候會彈出一個“AppContainer 迴環豁免實用程式”的視窗,若要將所有的程式使用豁免,點選“全部免除”,然後點選“儲存更改”

New Session Clipboard…:開啟一個新的 session 剪貼簿,可以把側邊欄中的 session 拖到這個剪貼簿中具體來檢視。

HOSTS…:主機重定向工具。若在其中勾選 Enable 框,然後在下面加入 host 配置,點選儲存之後,這個配置並不會修改到本地 hosts 中,取消勾選就會失效,若點選 Import Windows Hosts File 將會匯入本地的 host 檔案內容。
3.1.5 View

View(檢視選單) 這個選單是針對 fiddler 顯示介面與檢視的一些設定,如果有些工具欄和按鈕沒有顯示,就可以在這裡來查詢。如下圖所示:

各個按鈕功能說明:

Show Toolbar:顯示工具欄,預設是勾選的。

Default Layout:預設 layout,session 在左,請求和響應在右邊的上下處。

Stacked Layout:session 在上,請求在下方。

Wide layout:session 在上,請求和響應在下方的左右處。

Tabs:開啟標籤頁面,其中有三個標籤可以開啟,分別是 Preferences(fiddler 偏好屬性),AutoSave(fiddler 自動儲存的設定),APITest(api 的測試)。

Statistics:檢視一個請求的統計資料。

Inspectors:嗅探,用來檢視會話的內容,上面是請求,下面是響應

Composer:設計構造,在 Composer 中進行請求的修改,可以把 session 框中的資料先清除,然後點選 Composer 中的 Excute 按鈕來傳送請求,請求出現在 session 框中

Minimize To Tray:最小化托盤。

Stay On Top:保持置頂。

Squish Session List:擠壓 session 框。

AutoScroll Session List:自動滾動會話列表,預設是勾選此項的,勾選此項後,session 框中的每出現新的 session,session 框中就會不斷向下滾動,若不勾選此項,就很方便具體某一個 session 的定位,即使出現了新的 session 也不會自動向下滾動。

Refresh:重新整理功能,按 F5 重新整理。
3.1.6 Help

Help(幫助選單) 一些關於 fiddler 和網路的幫助資訊文件,有興趣的可以去查檢視。如下圖所示:

各個按鈕功能說明:

Help:進入 fiddler 的幫助的網頁中。

Get Fiddler Book…:fiddler book 的網頁。

Discussions:fiddler 的討論網頁,這個需要魔法上網。

Http Preferences:進入 http preferences 相關網站。

Troubleshoot…:會捕獲所有請求,對於哪些被過濾的請求用刪除線表示出來並給出原因,使用時候會開啟一個網頁。

Get Priority Support…:開啟網頁購買 fiddler 的優先順序服務。

Check for Updates…:檢查軟體更新情況。

Send Feedback…:意見反饋。

About:當前 fiddler 的相關資訊。

3.2 工具欄

工具欄上的快捷按鈕,也是平常我們在抓包過程當中經常會使用到的。如下圖所示:

3.2.1 WinConfig

給 win 電腦上的應用程式 配置 fiddler 許可權。windows 使用了一種叫做 “AppContainer” 的隔離技術,使得一些流量無法正常捕獲,在 fiddler 中點選 WinConfig 按鈕可以解除這個詛咒,這個與選單欄 Tools→Win8 Loopback Exemptions 功能是一致的。如下圖所示:

3.2.2 氣泡圖示

此按鈕來給選定的 session 新增註釋或者給會話新增備註。使用這個工具按鈕你可以給某個會話新增一些描述或者備註資訊。如下圖所示:

3.2.3 Replay

重發按鈕,選定請求重發按鈕。

(1)這個按鈕的作用其實就是,重新發一次當前你所選擇的會話請求, 也就是說你點選一下 Replay 就會透過 Fiddler 來幫你發一次請求到伺服器去,也可以透過選擇一個會話之後點選鍵盤上的 R 鍵進行快速重放操作,如下圖所示:

(2)如果你想一次性向某個會話傳送 n 次請求, 那麼可以先選擇一個會話,然後按住 shift+R 或者 按住 shift+Replay 按鈕或者 shift + u 來輸入一個請求的次數。這種操作可以對一些普通的基礎伺服器做一個壓力測試, 也就相當於一個簡單併發測試。如下圖所示:

3.2.3 Remove

刪除會話按鈕顧名思義就是用來刪除列表中的會話, 它這個按鈕內部包含了刪除會話的一些過濾方法。移除按鈕,其中有 Remove all 移除所有,Images,CONNECTs,Non-200s,Non-Browser,Complete & Unmarked,Duplicate response bodies,這些都是移除 session 中的這些狀態的選項。如下圖所示:

選項的含義如下表:

選項 描述
Remove All 刪除全部會話 快捷鍵為 ctrl+x
Images 刪除圖片相關的請求會話
CONNECTs 刪除連線相關的請求會話
Non-200s 刪除非 200 狀態的請求會話
Non-Browser 刪除非瀏覽器的請求會話
Complete & Unmarked 刪除已完成且未新增備註的請求
Duplicate response bodies 刪除沒有響應 bodies 或者重複響應 bodies 的請求
3.2.4 Go

重跑 sessions,依據斷點暫停。打斷點時使用。

3.2.5 Stream

流模式是一種實時通訊模式,請求之後實時的返回,更接近瀏覽器真實行為,但 fiddler 預設是緩衝模式而不是流模式。

Fiddler 兩種抓包模式

緩衝模式(Buffering Mode)Fiddler 直到 HTTP 響應完成時才將資料返回給應用程式。可以控制響應,修改響應資料。但是時序圖有時候會出現異常。

流模式(Streaming Mode)Fiddler 會即時將 HTTP 響應的資料返回給應用程式。更接近真實瀏覽器的效能。時序圖更準確,但是不能控制響應。

緩衝模式: 伺服器把所有內容全部返回到 Fiddler 之後,Fiddler 在一次性傳送到客戶端。可以控制響應,修改響應資料,但是時序圖有時候會出現異常。(這樣就支援斷點功能,偽造請求,偽造響應等)。

Fiddler 預設的模式為緩衝模式。

在緩衝模式下,可以進行 Fiddler 的其他功能,比如支援斷點功能,偽造請求,偽造響應等。

流模式: Fiddler 會把收到內容立即傳送給客戶端。更接近真實瀏覽器的效能,速度快,時序圖更準確(比如瀑布圖),但是不能控制響應。換句話說,與瀏覽器實際請求的模式一致,伺服器響應什麼資料,立即返回前端。

如果不需要 AutoResponse 和 Fileters 功能的話,一般使用緩衝模式。

3.2.6Decode

解碼,這裡可以將 session 中亂碼進行解碼方便檢視。當把這個按鈕點選上了之後,會對所有返回的請求會話進行解碼。

第一種方法:要知道 http 有的時候返回的正文內容是被編碼之後的,若要解碼全部會話中的響應報文可以先把這個按鈕點選上, 再抓包的時候響應報文就會自動解碼其中的正文內容。如下圖所示:

第二種方法:你也可以不用點選這個按鈕,要解碼那個會話,再選擇會話的時候點選右邊響應報文中的黃色部分提醒你解碼:Response body is encoded click to decode(解碼響應報文) 就可以了,如下圖所示:

3.2.7Keep All sessions

All sessions:這裡可以保持 session 框中存在多少個 sessions。

3.2.8Any Process

點選此按鈕並且拖動到你想要捕獲的瀏覽器從而實現只捕獲某個瀏覽器的請求。這個功能有點意思, 可以瞄準你想要抓取的物件。比如說: 我們現在要抓取一個ie瀏覽器的請求資料包, 那麼可以以下操作,如下圖所示:

3.2.9Find

這個望遠鏡的圖示是用來查詢的,其他軟體有類似的圖示,呼叫這個查詢功能的快捷鍵(Ctrl + F)。可以查詢包含指定內容的請求(可單獨指定請求過程或者響應過程,檢測 header 或 body),預設以黃色高亮顯示。如下圖所示:

一些其他選項的含義如下表:

選項 描述
Match case 表示區分大小寫
Regular Expression 正規表示式
Search binaries 搜尋二進位制檔案
Decode compressed content 解碼壓縮內容
Search only selected sessions 只搜尋選擇的請求
Result Highlight 搜尋結果的強調顏色
3.2.10Save

儲存按鈕,儲存所有的 session 成 SAZ 檔案。

3.2.11 相機

這裡可不是用來拍照的而是用來截圖的。把當前的螢幕截圖以 jpg 的格式,新增到 web sessions 列表中如下圖所示:

3.2.12 鐘錶圖示

簡單的計時功能。點選一下開始計時,再點選一下停止計時。

3.2.13Browser

快捷的開啟一個瀏覽器,開啟瀏覽器來檢視響應資料。如果選中了一個會話,會在瀏覽器中開啟目標 URL。如果沒有選中任何會話或者選中了多個會話,在瀏覽器中開啟 about:blank。

3.2.14Clear Cache

清除 WinINET 的快取,按住 CTRL 鍵並點選該按鈕可以清除 WinINET 中儲存永久的 cookies。

3.2.15TextWizard

開啟文字編碼/解碼小工具,以使文字在多種編碼間轉換。此工具可以將某一編碼過的或者未編碼過的字串拿到此處解碼和編碼,在選單欄中的 Tools 中也有此項可以開啟。如下圖所示:

3.2.16Tearoff

此功能用來將右邊欄裡的請求和響應部分給單獨拆成一個新視窗,方便視察。點選分離出的視窗 X 關閉按鈕,即可復原視窗。如下圖所示:

3.2.17MSDN Search…

在網頁版的微軟開發中去搜尋。在 MSDN 的 web sessions 區域進行搜尋,在微軟開發者社群的搜尋,一般都不會用。

3.2.18 問號圖示

fiddler 的線上幫助網站。

3.2.19Online

滑鼠放在上面,會顯示一些本機的線上資訊。如 IP 資訊。用來指示當前是線上的還是離線的。如果線上,把游標停留在該按鈕上方會顯示包含本地計算機的主機名和 IP 的提示。雙擊該按鈕會開啟系統的 Network Connections 控制皮膚。如下圖所示:

3.2.19 叉號(刪除工具欄)

用來關閉工具欄的按鈕,在 View 中可以開啟工具欄。如果要恢復工具欄,可以點選選單欄 View —> Show Toolbar ,進行恢復。

4.小結

好了,到此宏哥就將 Fiddler 的工具欄常用的基本上全都講解和分享完了,今天時間也不早了,就到這裡!感謝您耐心的閱讀~~

相關文章