Fiddler 十分鐘最全使用介紹

Wireshark 、HTTPWatch、Fiddler的介紹

  • Firebug雖然能夠抓包,可是對於分析http請求的詳細信息,不夠強大。模擬http請求的功能也不夠,且firebug經常是須要「無刷新修改」,若是刷新了頁面,全部的修改都不會保存。
  • Wireshark是通用的抓包工具,可是比較龐大,對於只須要抓取http請求的應用來講,彷佛有些大材小用(TCP/IP協議監聽)。
  • Httpwatch也是比較經常使用的http抓包工具,可是隻支持IE和firefox瀏覽器(其餘瀏覽器可能會有相應的插件),對於想要調試chrome瀏覽器的http請求,彷佛稍顯無力,而Fiddler2 是一個使用本地 127.0.0.1:8888 的 HTTP 代理,任何可以設置 HTTP 代理爲 127.0.0.1:8888 的瀏覽器和應用程序均可以使用 Fiddler。
  • Fiddler只能抓http和https數據包,因此在針對http和https數據包的抓取上它更加專業。

功能:

1.截獲客戶端HTTP/HTTPS的請求
2.可查看截獲的請求內容
3.並可僞造請求內容以及響應結果
4.測試網站性能
5.解密HTTPS的回話
6.可拓展插件
複製代碼

如何使用

開啓後自動修改了瀏覽器的代理服務器html

  • 流模式(實時能夠顯示,接近瀏覽器自己的響應狀況)
  • 緩衝模式(HTTP請求全部的數據都準備好只有才把數據返回給客戶端,能夠控制服務器響應)

Fildder使用場景

  • 開發環境host配置
  • 先後端接口調試
  • 線上bugfix(可將發佈文件代理到本地,快速定位線上bug)
  • 性能分析和優化(提供請求實際圖,以便於作優化)

目錄


工具條

工具條

  1. 對請求選中添加註釋
  2. Replay: 選中請求從新提交(快捷鍵R),可從新請求。
  3. X: 清空監控面板
  4. GO: http請求或者返回斷點查看
    • 如同開發中咱們經常使用的Debug
    • 配合狀態欄中的斷電開關使用
    • 支持打開請求斷點和響應斷點
  5. Stream: 模式切換
    • Stream流模式 (接近正常的HTTP請求,實時響應)
    • 緩衝模式(請求徹底結束纔會返回,可控制響應)
  6. Decode: 解壓請求,更加方便查看Http請求裏面的信息
  7. Keep Session: 會話保持數
  8. AnyProcess: 過濾請求(指定瀏覽器,經過選中進程)
  9. Find: 條件搜索,查找標註
  10. save: 保存當前會話
  11. 截圖
  12. 計時器
  13. Browse: 快速啓動瀏覽器
  14. Clear Cache: 清楚瀏覽器緩存
  15. TextWizard: 編解碼以及工具
  16. Tearoff: 分離面板

狀態條

狀態條

  1. 黑窗口: QuickExec命令行, 輸入help 就能去官網查看詳細命令
  2. Capturing: 開啓和關閉代理
  3. webbrowsers: 過濾來源
  4. 添加請求前請求後斷點
  5. 鏈接數
  6. 請求地址

監控面板

監控面板

  1. 面板圖標

面板圖標

  1. 右側功能
    • statistics 數據統計 -- 鏈接創建 發送請求 發送請求頭 請求發送出去 RTT 往返時間
    • inspectors 請求解包 -- 請求/響應
    • autoresponder 資源代理 -- 代理服務器的文件,更改js,等文件,線上bugfix
    • composer 先後端接口聯調 -- 拖至窗口進行請求僞造
    • filters 過濾器 -- 過濾無用請求
    • log 日誌
    • timeline 網絡性能優化 -- 選中同一個網站查看來進行性能優化
    • FiddlerScript 經過代碼來修改代理請求響應等 來限制請求 延遲等

簡單的運用


設置斷點

按照以前介紹的,在狀態欄啓用斷點(不管是請求斷點,仍是響應斷點)後,全部的請求都會中斷。 事實上,一個網頁加載時,會觸發不少異步請求。甚至在加載完成後,也還會不停地發送異步請求,好比如今很流行的二維碼登陸頁面。攔截全部請求彷佛顯得不太合適。 而在上一節其實留了斷點的命令行沒有介紹。斷點即 breakpoint,全部跟斷點相關的都是以 bp 爲前綴。git

  • bpu:請求時斷點,好比 bpu /foo
  • bpafter:請求時斷點,好比 bpafter /foo
  • bps:請求時斷點,好比 bps 404
  • bpm:請求時斷點,好比 bpm post

用不帶參數的命令能夠清除斷點,好比 bpafter 能夠清除全部的響應斷點。github

url 的匹配方式是判斷「字符串是否包含」,好比 bpu /foo 會攔截全部包含 /foo 的請求。web

若是忘了這些命令,在命令行輸入 bp ,敲回車,就能看到提示了。bp is short for breakpoint,這個能記住嗎?正則表達式

具體使用

  1. 文件、文件夾代理和host配置

Tools-->host來更改 (不經過system下的 host)chrome

  1. AutoResponder: 監控面板後端

    • Enable Rules 開啓資源代理
    • 拖拽請求到窗口,支持正則表達式匹配
    • 選擇響應內容
    • 保存
  2. 請求僞造瀏覽器

    • 拖拽請求到窗口
    • 修改請求
    • excute執行僞造請求
  3. 網絡請求延遲(FiddlerScript的使用)緩存

    FiddlerScript將請求代碼化,可對請求前、請求後代碼進行修改 再 OnBeforeRequest安全

    • 添加oSession["request-trickle-delay"]="3000"; 爲請求添加3秒延時
    • 添加oSession["response-trickle-delay"]="3000"; 爲服務器響應添加3秒延時

網絡延遲

或者經過 Rulse Rules -> Customize Rules ctrl+f 查找 SimulateModem ,看到具體代碼塊 ,修改延遲時間而且保存 Performance -> Simulate Modems Speeds : 開啓或者關閉延遲

HTTPS抓取設置

HTTPS正常是沒法抓取的,須要導入安裝Fiddler的證書

下載並安裝Fiddler證書生成器:www.telerik.com/docs/defaul…

步驟以下: 進入Tools -> Options 如圖配置

1.HTTPS:

配置HTTPS

2.Connections:

Connections

3.導出證書:

在`HTTPS`的`Actions`裏面選擇`Export Root Certificate to Destop` 生成Fiddler證書到桌面
複製代碼

  • 截獲瀏覽器HTTPS請求

找到本身經常使用瀏覽器的設置 管理證書,導入本身剛剛生成的證書就ok啦 重啓Fiddler

安全連接提示

可參照Fiddler的HTTPS抓包最全配置

Fiddler插件

官方插件下載地址

willow插件

相關文章
相關標籤/搜索