『言善信』Fiddler工具 — 4、Fiddler面佈局詳解【工具欄】

繁華似錦Fighting 發表於 2021-06-07

(一)工具欄詳細介紹

Fiddler工具欄就是平時比較常用功能的一個快捷方式。

如下圖所示:

image

下面對每個工具進行詳解的介紹。

1、第一組工具:

如下圖所示:

image

  • WinConfig:可以在裡面配置一些windows系統的應用程式,配置在裡面的應用的請求Fiddler都可以抓到,Fiddler5新增功能。
    換句話說:就是有些應用Fiddler預設是抓不到包的,需要WinConfig新增配置一下,就能抓到了。
  • 一個訊息的圖示:點選該按鈕可以為所有選定的session新增comment(對會話進行備註)。
  • Replay:向伺服器重新傳送該請求。(重放)
  • 叉子Remove:從web sessions中刪除sessions的選單(刪除會話)。
  • Go:恢復執行在request或response斷點處暫停的所有sessions。(在打斷點的時候使用)

2、第二組工具:

如下圖所示:

image

  • Stream:開啟stream開關,取消所有沒有設定中斷的相應的快取。即:點選為流模式,不點選為緩衝模式。
    • 緩衝模式:伺服器把所有內容全部返回到Fiddler之後,Fiddler在一次性傳送到客戶端。可以控制響應,修改響應資料,但是時序圖有時候會出現異常。(這樣就支援斷點功能,偽造請求,偽造響應等)
      Fiddler預設的模式為緩衝模式。
      在緩衝模式下,可以進行Fiddler的其他功能,比如支援斷點功能,偽造請求,偽造響應等。
    • 流模式:Fiddler會把收到內容立即傳送給客戶端。更接近真實瀏覽器的效能,速度快,時序圖更準確(比如瀑布圖),但是不能控制響應。
      換句話說,與瀏覽器實際請求的模式一致,伺服器響應什麼資料,立即返回前端。
      如果不需要AutoResponseFileters功能的話,一般使用緩衝模式.
  • Decode:開啟decode,會對所有會話請求進行解碼。(解碼操作,預設勾選)
    或者點選Response body is encoded. Click to decode.進行單個會話請求的解碼。
    image
  • Keep: All sessions:在下拉選項框中選擇在web sessions(左側會話列表)列表中儲存多少個sessions。
    如果機器效能比較低的話,可以選擇少儲存一些會話,因為儲存會話是需要佔用記憶體的,但一般不做修改。
  • Any Process/pick target...:任何你要監聽的程式(程式),精準定位。
    當點選上面的Any Process圖示並將其移動到指定瀏覽器頁面(或者其他程式介面)後,會單獨記錄這個頁面的通訊情況。
    只能監聽一個程式,在點選一次把心圖示,則取消監聽。
    注意:記錄Fiddler訪問過程中發生的主要事件的日誌,每當更新一次頁面時,eventlog會自動重新整理一次。。
  • Find:開啟Fiddler Sessions視窗,進行相關查詢。
  • Save:把會話視窗中所有的sessions儲存到.saz格式的檔案中。
    把該檔案傳送給相關人員即可,他們開啟後Fiddler的狀態和你儲存時候的Fiddler狀態一樣。

3、第三組工具:

如下圖所示:

image

  • 小相機:把當前的桌面的螢幕截圖以jpeg的格式,新增到web sessions列表中。(截圖)
    點選後會倒數5秒進行桌面截圖,可以把截圖好的圖片作為資料進行資料傳送。(並沒什麼用,用的很少)
  • 小秒錶:簡單的計時功能。
    點選一下開始計時,在點選一下停止計時。
  • Browse:快捷的開啟一個瀏覽器
    如果選中了一個session,在瀏覽器中開啟該URL。
    如果沒有選中任何sessions,會在IE瀏覽器中開啟aboutblank
  • Clear Cache:清空WinINET的快取檔案,即:清除瀏覽器快取功能。
  • TextWizard:開啟文字編碼/解碼小工具。
    image
    支援編碼和解碼,比如base64,urlencode,urldecode,md5等。例如模擬get請求,可以將請求引數轉為urlencode盡情編碼。

4、第四組工具:

如下圖所示:

image

  • Tearoff:分離皮膚。一般不會使用。
    image
    點選叉子關閉,即可復原視窗。
  • MSDN Search:在MSDN的web sessions區域進行搜尋。
    在微軟開發者社群的搜尋,一般都不會用。
  • 問號:開啟Fiddler的幫助視窗。
  • Online:滑鼠放在上面,會顯示一些本機的線上資訊。如IP資訊。
  • 小紅叉:刪除工具欄
    注意:如果要恢復工具欄,可以點選選單欄view —> show toolbar,進行恢復。

(二)工具欄使用說明

這裡舉例幾個例子,說明工具欄中的工具怎麼使用,沒有說明的工具,在上一點中介紹的很詳細了。

1、Fiddler修改代理埠:

在Fiddler點選Tools —> Options... —> Connections選項中

image

上圖說明:

  • Fiddler listens on port:Fiddler監聽的埠是8888。
  • Act as system proxy on startup:Fiddler在啟動時充當系統代理。(如果你不想代理系統的代理,這一項可以取消勾選)

注意:

  • Google瀏覽器和IE瀏覽器預設訪問的系統代理,Fiddler 就會自動代替。
  • 而火狐瀏覽器需要自己手動配置。
  • Fiddler監聽的埠是可以自定義配置的,1024到65535的埠都可以,只要不衝突即可。

2、過濾Tunnel to...443請求連結

當我們使用瀏覽器傳送請求的時候,例如訪問百度。

使用Fiddler進行抓取,如下結果:

image

可以看到有很多Tunnel to...443,圖示是一把鎖形狀的連結。

這個是什麼原因呢?

  • connect請求是為了建立http tunnel(通道),connect是HTTP請求方法中的其中一種,它和GET、POST、PUT、DELETE請求方法是並列的。
  • 因為網路環境受限,客戶端無法直接訪問某些網路,所以只能通過代理伺服器訪問網路,然後將內容轉發給客戶端,從巨集觀上看客戶端與伺服器端就像建立了一條隧道一樣。
  • 當使用https通訊時,客戶端使用http connect請求代理伺服器,代理伺服器使用connect方法與目標伺服器建立http tunnel,通道建立後,客戶端與伺服器進行通訊,代理伺服器就像透明一樣,只是接收、轉發tcp stream
  • Fiddler抓包出現大量connect tunnel連線
    是因為Fiddler是一個代理服務,訪問百度網頁(使用了https協議),滿足了使用connect條件,所以客戶端會使用connect方法與目標伺服器建立http tunnel,一旦connection建立完成,後續Fiddler會轉發、接收所有的tcp stream
  • 對於connect tunnel連線,伺服器通常會進行限制,一般只開放SSL的443埠。

總結:可以理解成connect請求表示https的握手動作。也就是認證資訊,只要是https就要進行認證。只要不是滿篇的Tunnel to….443,就沒有任何問題。

如果我們對看到很多的Tunnel to...443連結比較頭疼,或者不方便找到我們需要抓取的請求連結時,我們就可以把這些Tunnel to...443請求連結全部過濾掉。

操作:選單欄Rules —> 勾選Hide CONNECTs選項,即可。

提示:一般Hide CONNECTsHide 304選項一起勾選。

3、給抓到的請求新增備註

當我們使用Fiddler抓取到一個請求後,可以選中該請求,點選工具欄中的如下圖示,即可給該請求新增備註。

image

新增備註和未新增備註的請求如下:

image

在實際的工作中,不一定非要每個請求都要新增備註。

但是請求新增備註後,當請求匯出檔案給其他人看的時候,別人能很快能識別你這個請求是用來幹什麼的。

4、Replay工具的使用

Replay:重放工具,向伺服器重新傳送該請求。

使用方法很簡單,選用需要重新傳送的請求(一個或多個),點選Replay工具按鈕即可。

image

每點選一次Replay工具按鈕,就重傳送一次所選中的請求到伺服器。

把滑鼠懸停在Replay工具上會出現一些提示,如下:

  • Reissue the selected requests.:重新發出選定的請求。

  • Hold CTRL to reissue unconditionally:按住CTRL可無條件重新發出。

    這裡翻譯的不準確,其實選中一個請求,直接點選r鍵即可重新傳送一次該請求。

  • Hold SHIFT to reissue multiple times.:按住SHIFT鍵可重新發出多次。

    選中一個或者多個請求,按SHIFT + r 組合鍵,會彈出一個對話方塊,
    輸入數字,就表示重新傳送多少次所選請求到伺服器。

    這樣的操作也就是模擬了一次"重放攻擊"的操作。

5、移除工具(黑叉子)

移除工具有很多選項在下拉選單中:

  • Remove all:清除所有請求。
  • Images:清除圖片類請求。
  • Connects:清除中間連線請求。
  • Non-200s:清除響應狀態非200的請求。
  • Non-browser:清除非瀏覽器請求。
  • Complete&Unmarked:清除已完成且未新增備註的請求。
  • Duplicate response bodies:清除重複響應bodies相同的請求。

擴充套件:刪除會話列表(web sessions)中的請求會話

(1)刪除所有選中的會話請求:

  • 選中的會話上右鍵 —> Remove —> Selected Sessions。
  • 或者直接按鍵盤上的Delete鍵即可。

(2)刪除選中外的所有會話請求:

  • 選中的會話上右鍵 —> Remove —> Unselected Sessions
  • 快捷鍵:Shift + Delete

(3)刪除會話視窗中的所有請求會話:

  • 任意會話上右鍵 —> Remove —> All Sessions
  • 快捷鍵:Ctrl + X
  • 黑叉移除工具 —> Remove all

提示:瀏覽器去快取重新整理快捷鍵:Shift + F5。

6、查詢功能

查詢功能在工具欄中的Find或者快捷鍵Ctrl + f

可以查詢包含指定內容的請求(可單獨指定請求過程或者響應過程,檢測header或body),預設以黃色高亮顯示。

image

  • Search:搜尋範圍
    • Requests and responses:在請求和響應的所有資料中搜尋。
    • Requests only:僅在請求中的資料進行搜尋。
    • Responses only:僅在響應中的資料進行搜尋。
    • URLs only:在URL中搜素。
  • Examine:檢查,也是選擇搜尋範圍的
    • Headers and bodies:在Headers 和bodies中搜尋。
    • Headers only:僅在Headers 中搜尋。
    • Bodies only:僅在bodies中搜尋。
  • Match case:大小寫敏感
  • Regular Expression:使用正規表示式
  • Search binaries:二進位制搜尋,如音訊,視訊,Flash物件等
  • Decode compressed content:解碼壓縮內容,返回的body是encoded的,將所有的Responses decode後進行搜尋,比較耗時。
  • Search only selected sessions:只搜尋選中的回話。選中多個Sessions會預設啟用選中。
  • Select matches:選擇匹配。選中符合條件的搜尋結果。
  • Unmark old results:取消標記舊的搜尋結果。
  • Unmark old results:當不勾選Unmark old results時,每次搜尋的結果會在Unmark old results迴圈使用不同的顏色作為背景高亮顯示。