Fiddler -工具使用介紹(附:攔截請求並修改返回數據)(轉)

1、Fiddler 介紹

Fiddler 是一個使用 C# 編寫的 http 抓包工具。它使用靈活,功能強大,支持衆多的 http 調試任務,是 web、移動應用的開發調試利器。

css

1,功能特色

  • 同 Httpwatch、Firebug 這些抓包工具同樣,Fiddler 夠記錄客戶端和服務器之間的全部 HTTP 請求,能夠針對特定的 HTTP 請求,分析請求數據、設置斷點等。
  • 但 Fiddler 更爲強大的是,它還能夠修改請求的數據,甚至能夠實現請求自動重定向,從而修改服務器返回的數據。
  • Fiddler 使用也十分方便。在打開 Fiddler 的時候,它就自動設置好了瀏覽器的代理,經過改寫 HTTP 代理,讓數據從它那經過,來監控而且截取到數據。當關閉 Fiddler 的時候,它又自動幫你把代理還原。
 

2,下載安裝

直接去 Fiddler 的官網下載便可。地址: http://www.telerik.com/fiddler
 

2、http 請求抓取

1,Fiddler 啓動後就自動開始工做了。

  • 使用瀏覽器隨便訪問幾個頁面,左側區域就會將捕獲的結果顯示出來。
  • 經過點擊左下角的圖標能夠關閉/開啓抓包功能。
原文:Fiddler - 超好用的http抓包工具使用介紹(附:攔截請求並修改返回數據)

2,查看請求內容

雙擊某個會話請求,在右側的 Inspectors 選項卡中能夠查看該會話的內容,上半部分是請求的內容,下半部分是響應的內容。
原文:Fiddler - 超好用的http抓包工具使用介紹(附:攔截請求並修改返回數據)

3,使用 Filters 過濾請求

因爲 Fiddler 會抓取全部的 HTTP 請求,這樣會形成左邊的窗口不斷的更新,有時可能會對咱們的調試形成干擾。咱們能夠經過過濾規則的設置,從而來過濾掉那些不想看到的請求。
 
(1)點擊 Fiters 選項卡,勾選左上角的 Use Filters 便可開啓過濾器。下方有兩個最經常使用的過濾條件:Zone 和 Host:
  • Zone:指定只顯示內網(Intranet)或互聯網(Internet)的內容
  • Host:指定顯示某個域名下的會話
原文:Fiddler - 超好用的http抓包工具使用介紹(附:攔截請求並修改返回數據)
 
(2)好比咱們只想顯示與  hangge.com 的會話,能夠這麼設置。(若是有紅框中的文字,表示修改未生效,點擊便可。)
原文:Fiddler - 超好用的http抓包工具使用介紹(附:攔截請求並修改返回數據)

3、AutoResponder 用法(攔截指定請求,並返回自定義數據)

AutoResponder 容許你攔截指定規則的求情,並返回本地資源或 Fiddler 資源,從而代替服務器響應。這個在咱們平時開放調試中也是頗有用的:
  • 好比在前端開發中,若是發現服務器上某個 css/JavaScript 文件有問題,直接上去改會影響生產環境的穩定。利用 Fiddler 的 AutoResponder 功能,我能夠將須要修改的文件重定向到本地文件上,這樣就能夠基於生產環境修改並驗證,確認後再發布。
  • 再好比服務端提供了接口和數據格式給前端調用,可能因爲某些緣由,接口還未開發完畢、或者返回數據有異常。爲了避免影響開發進度,前端仍然能夠繼續調用這個接口,而後經過 Fiddler 將請求轉向本地的數據文件上。

(1)好比  hangge.com 首頁用到了 jQuery,假設咱們要修改這個 js。
原文:Fiddler - 超好用的http抓包工具使用介紹(附:攔截請求並修改返回數據)
(2)首先將 js 文件保存到本地(若是本地已經有這個文件,能夠跳過這步)
原文:Fiddler - 超好用的http抓包工具使用介紹(附:攔截請求並修改返回數據)
(3)接着打開 AutoResponder 標籤設置,勾選前面兩個複選框,開啓 Fiddler 的請求自動重定向功能。
  • 第一個複選框的做用是開啓或禁用自動重定向功能,咱們就能夠在下面添加劇定向規則了。
  • 第二個複選框框勾上時,不影響那些沒知足咱們處理條件的請求。
 
原文:Fiddler - 超好用的http抓包工具使用介紹(附:攔截請求並修改返回數據)
(4)下面就要建立重定向規則了,將目標是這個 js 的 HTTP 請求重定向到本地文件。咱們能夠經過「Add…」按鈕手動添加規則,不過這個 URL 已經出如今咱們的 session 列表中,能夠直接拖動過來。
原文:Fiddler - 超好用的http抓包工具使用介紹(附:攔截請求並修改返回數據)
(5)接着修改這個規則。點擊下方的下拉框,選擇「Find a file…」,就能夠選擇本地的文件做爲返回的 body 內容。
原文:Fiddler - 超好用的http抓包工具使用介紹(附:攔截請求並修改返回數據)
(6)這裏咱們選擇剛纔保持下來的 js 文件。這樣咱們的請求重定向就設置好了。
原文:Fiddler - 超好用的http抓包工具使用介紹(附:攔截請求並修改返回數據)
(7)試着修改下本地這個 js 文件。好比咱們在開頭加了個 alert 語句。
原文:Fiddler - 超好用的http抓包工具使用介紹(附:攔截請求並修改返回數據)
(8)刷新頁面,從新訪問就能夠看到效果了。(若是瀏覽器有緩存,要先清下緩存)
原文:Fiddler - 超好用的http抓包工具使用介紹(附:攔截請求並修改返回數據)

4、解密 HTTPS 的網絡數據

一般狀況下,對於 HTTPS 請求,咱們捕獲後是沒法看到裏面的數據。
原文:Fiddler - 超好用的http抓包工具使用介紹(附:攔截請求並修改返回數據)
不過 Fiddler 能夠經過僞造 CA 證書來欺騙瀏覽器和服務器,從而實現解密 HTTPS 數據包的目的。大概原理就是在瀏覽器面前 Fiddler 假裝成一個 HTTPS 服務器,而在真正的 HTTPS 服務器面前 Fiddler 又裝成瀏覽器。
 
(1)要開啓 HTTPS 解密,咱們依次點擊菜單欄 Tools -> Telerik Fiddler Options 
原文:Fiddler - 超好用的http抓包工具使用介紹(附:攔截請求並修改返回數據)
(2)在彈出窗口中,勾選 HTTPS 標籤頁下的 Decrypt HTTPS Traffic。這是會彈出個對話框詢問是否安裝證書,選擇 Yes 安裝便可。
原文:Fiddler - 超好用的http抓包工具使用介紹(附:攔截請求並修改返回數據)
(3)再次訪問 HTTPS 頁面,能夠發現數據已經夠被成功解析了。
原文:Fiddler - 超好用的http抓包工具使用介紹(附:攔截請求並修改返回數據)

5、自定義請求發送到服務器

在 Composer 面板中,咱們能夠向服務器發送自定義請求,能夠手動建立一個新的請求,也能夠從會話表中,拖拽一個現有的請求。
使用時咱們只須要提供簡單的 URLS 地址便可。固然還能夠在 RequestBody 定製一些屬性,如模擬瀏覽器 User-Agent 等等。
原文:Fiddler - 超好用的http抓包工具使用介紹(附:攔截請求並修改返回數據)

6、抓取 iPhone / Android 設備的數據包

想要 Fiddler 抓取移動端設備的數據包,其實很簡單。只要設置代理,讓這些數據經過 Fiddler 便可。
 
(1)首先確保 PC 和手機是在同一個局域網下。打開 Fidder,點擊菜單欄中 Tools –> Telerik Fiddler Options 
原文:Fiddler - 超好用的http抓包工具使用介紹(附:攔截請求並修改返回數據)
(2)勾選 Connections 選項卡中的「Allow remote computers to connect」容許遠程鏈接。
  • 勾選後可能會要求重啓 Fiddler,那就重啓一下。
  • 默認代理端口是 8888,能夠不須要修改。
原文:Fiddler - 超好用的http抓包工具使用介紹(附:攔截請求並修改返回數據)
(3)將手機端的代理設置爲 PC 的 IP 和端口(這裏假設咱們 PC 地址爲 192.168.1.101)
原文:Fiddler - 超好用的http抓包工具使用介紹(附:攔截請求並修改返回數據)
(4)接着打開手機瀏覽器,訪問 PC 的地址+端口
原文:Fiddler - 超好用的http抓包工具使用介紹(附:攔截請求並修改返回數據)
(5)在打開的頁面中點擊「FiddlerRoot certificate」,下載並安裝證書。
原文:Fiddler - 超好用的http抓包工具使用介紹(附:攔截請求並修改返回數據)
(6)安裝完了證書,使用用手機訪問應用,就能夠看到截取到的數據包了。(這裏我使用百度外賣 App 隨便測試了下)
原文:Fiddler - 超好用的http抓包工具使用介紹(附:攔截請求並修改返回數據)


原文出自:www.hangge.com  轉載請保留原文連接:http://www.hangge.com/blog/cache/detail_1697.htmlhtml

相關文章
相關標籤/搜索