目錄
1、Fiddler簡介
- Fiddler是強大的抓包工具之一,它能記錄所有客戶端和伺服器之間的HTTP和HTTPS請求,是web除錯的利器。
- Fiddler是位於客戶端和服務端之間的HTTP代理,它的原理是以web代理伺服器的形式進行工作的,使用的代理地址是:
127.0.0.1
,埠預設為8888
,我們也可以通過設定進行修改。 - Fiddler可以抓取支援HTTP代理的任意程式的資料包,如果要抓取https會話,要先安裝證書。
說明:
代理就是在客戶端和伺服器之間設定一道關卡,客戶端先將請求資料傳送出去後,代理伺服器會將資料包進行攔截,代理伺服器再冒充客戶端傳送資料到伺服器;
同理,伺服器將響應資料返回,代理伺服器也會將資料攔截,再返回給客戶端。
2、Fiddler功能
Fiddler可以針對特定的HTTP請求,分析請求資料、設定斷點、除錯web應用、修改請求的資料,甚至可以修改伺服器返回的資料。
其他功能包括:
- 監控瀏覽器所有的HTTP/HTTPS流量。
- 檢視、分析請求內容細節。
- 偽造客戶端請求和伺服器響應。
- 測試網站的效能。
- 解密HTTPS的web會話。
- 全域性、區域性斷點功能。
- 可進行第三方外掛功能擴充套件。
3、Fiddler工作原理
(1)先來了解一下B/S架構
- 編寫程式部署到web伺服器。
- web伺服器執行在伺服器上,繫結ip地址並監聽某埠,接收和處理HTTP請求。
- 客戶端通過HTTP協議的請求,獲取伺服器上的網頁、文件等資源。
如下圖所示:
(2)Fiddler工作原理
Fiddler的工作原理,是它在客戶端和服務端之間搭建了一層proxy,所有的請求都會經過它。也就是說:客戶端的所有請求都要先經過Fiddler,然後轉發到相應的伺服器。反之,伺服器端的所有響應,也都會先經過Fiddler然後傳送到客戶端,所以web客戶端和伺服器的請求如下圖所示:
(3)Fiddler工作原理進階說明
- 使用Fiddler的話,需要先設定瀏覽器的代理地址,才可以抓取到瀏覽器的資料包。
- 而方便的是,在你啟動該工具後,它就已經自動幫你設定好瀏覽器的代理了。當關閉Fiddler後,它又將瀏覽器代理還原了。
- 當然如果發現沒有自動設定瀏覽器代理的話,那就得自己動手去瀏覽器進行設定代理操作了,例如火狐瀏覽器。(可自行百度每個瀏覽器是如何設定代理的),反正一定要設定相應的代理,否則Fiddler是無法捕獲到HTTP請求的。
如下圖所示:
進行詳細說明:
在Windows系統中,瀏覽器訪問網站時,預設是訪問Windows中的系統代理。
而當Fiddler一開啟時,就會代替這個系統代理。
在Fiddler點選Tools —> Options... —> Connections選項中
上圖說明:
Fiddler listens on port
:Fiddler監聽的埠是8888。Act as system proxy on startup
:Fiddler在啟動時充當系統代理。
注意:
- Google瀏覽器和IE瀏覽器預設訪問的系統代理,Fiddler 就會自動代替。
- 而火狐瀏覽器需要自己手動配置。
- Fiddler監聽的埠是可以自定義配置的,1024到65535的埠都可以,只要不衝突即可。
(4)以Google瀏覽器來演示說明
- 開啟谷歌瀏覽器,進入設定頁面。
- 點選在左上的的三條橫線 —> 高階 —> 系統 —> 點選開啟代理設定。
- 在連線選項中點選區域網設定,可以看到左邊代理伺服器沒有勾選。
- 當我們開啟Fiddler後,在來檢視上面代理伺服器的狀態,如下:
- 在Fiddler點選Tools —> Options... —> Connections選項
我們可以看到Fiddler埠就是8888。
這說明Fiddler自動配置了瀏覽器的系統代理。
4、Fiddler安裝
(1)Fiddler許可協議
在安裝之前,您必須同意此許可。
(2)選擇Fiddler安裝目錄
(3)點選Install
安裝
(4)點選Close
完成安裝
(5)把Fiddler啟動檔案配置到桌面
Fiddler安裝完成後,在桌面是沒有快捷啟動方式的,需要到Fiddler的安裝目錄中,把Fiddler.exe
檔案傳送到桌面。
(6)開啟Fiddler軟體
在開啟Fiddler時會有一個彈窗,如下圖:
可以自行翻譯,選擇No
即可。