天天看點

fiddler

fiddler簡介

fiddler是位于用戶端和伺服器端的HTTP代理,目前最常用的http抓包工具之一,功能非常強大,是web調試的利器。

  1. 監控浏覽器所有的http和https的流量
  2. 檢視、分析請求内容細節
  3. 僞造用戶端請求和伺服器響應
  4. 測試網站的性能
  5. 解密https的web會話
  6. 全局、局部斷點功能
  7. 第三方插件

fiddler工作原理

終端裝置(web、app)送出請求,fiddler作為代理,傳給伺服器;伺服器傳回資料,fiddler作為代理,傳給伺服器,伺服器傳回資料,fiddler攔截後,在傳給終端裝置。

fiddler場景使用

  1. 接口調試、接口測試、線上環境調試、web性能分析
  2. 判斷前後端bug,開發環境hosts配置、mock、弱網斷網測試

fiddler配置

--> 自定義會話框,檢視get和post請求

fiddler

--> 抓https請求的包(tools→options)

fiddler

--> 手機wifi設定代理

  1. 手機設定-wifi-找到目前連接配接的網絡(要跟電腦同一區域網路)
  2. Fiddler設定允許遠端裝置連接配接(如果後面對手機不在進行抓包建議取消)
  3. cmd輸入ipconfig檢視ipv4位址
  4. 手機浏覽器輸入http:host:8888(host是跟手機的位址一緻),對手機進行安裝證書
fiddler

--> 設定過濾裝置

  1. ...from all processes:抓所有的請求
  2. ...from browsers only:隻抓浏覽器的請求
  3. ...from non-browsers only:隻抓非浏覽器的請求
  4. ...from remote clients only:隻抓遠端用戶端(手機app)請求
fiddler

--> 為抓包便捷隐藏相關設定

fiddler

斷點操作

修改請求資料

例:輸入使用者名、密碼、驗證碼,點選登入前設定斷點(before requests),然後點選登入。找到該斷點請求,修改QueryString,修改過後,點選run to completion,檢視修改後的資料是否能通過請求,如果預期結果不通過,實際結果通過了就是缺陷。

fiddler

修改響應資料

例:進入qq騰訊網,在發送該請求之前,設定斷點(after requests),然後找到該請求,修改html的内容,修改過後,點選run to completion,檢視修改後的展示頁面是否為修改的内容。

特殊局部斷點

  1. 使用bpu來對請求進行單個請求前斷點,也就是局部斷點 bpu+關鍵字(或者整個請求)
  2. 再次輸入bpu取消局部請求前斷點
  3. 使用bpafter對請求進行單個響應後斷點,也就是局部斷點 bpafter+關鍵字(或者整個請求)
  4. 再次輸入bpafter取消局不響應後斷點
fiddler

工具欄快捷鍵

  1. R表示重放
  2. shfit+R進行多次重放
  3. del表示删除請求
  4. 選中需要錄下的請求,shfit+del删除以外的請求
  5. ctrl+x删除所有的會話請求

工具欄的使用

fiddler
  1. go 一般在進行請求前設定斷點的時候,在使用工具go的時候,就會跳過直接進行下一步。
  2. decode 一般在請求響應傳回是一鍵進行解碼
  3. any process 選擇抓取的程式,一般點選之後,再次點選需要抓取的程式,比如谷歌。
  4. textwizard 一款編碼解碼的神器,可以對數字進行MD5加密等等
  5. online 可以檢視本機主機的ip位址

會話清單

基本面闆

fiddler
  1. # http request的順序,從1開始
  2. result http響應的狀态
  3. protocol 請求使用的協定
  4. host 請求位址的域名
  5. url 請求伺服器路徑和檔案名,也包括get參數
  6. body 請求的大小,以byte為機關
  7. caching 請求的緩存過期時間或緩存控制和header等值
  8. content-type 請求響應的類型
  9. process 發出此請求的windows程序及程序id
  10. comments 使用者通過腳本或者右鍵菜單給此session增加的備注
  11. custom 使用者可以通過腳本設定的自定義值

會話儲存

  1. 儲存方式
    1. 儲存為txt save→selected sessions→as Text
    2. 儲存為saz save→selected sessions→in ArchiveZIP
    3. 導入saz 直接将儲存的saz格式檔案拖動到fiddler
  2. 儲存作用
    1. 當你測出接口的BUG時候,保留證據給開發.
    2. 遇到儲存問題解決不了請教别人的時候,直接将儲存的會話發給别人

狀态欄與Quick Exec

fiddler
  1. 指令位址:https://docs.telerik.com/fiddler/knowledgebase/quickexec
  2. 黑色部分表示quick Exec,可以使用特殊方式,進行快速定位 比如:>1000 表示大于1000byte的會話請求
  3. capturing表示會話正在進行代理運作或者捕獲會話,點選過後表示關閉代理或者關閉捕獲會話

Statistics統計分析

fiddler

Inspectors檢查器

Inspectors 頁簽允許你用多種不同格式檢視每個請求和響應的内容。Inspectors 頁簽分為上下兩部分,上部顯示的是發出的請求相關資訊,下部顯示的是接收的響應相關資訊。

fiddler抓包出現亂碼解決方案

  1. 修改系統資料庫
    1. windows按鈕+R
    2. 輸入regedit +回車+是
    3. HKEY_CURRENT_USER\Software\Microsoft\Fiddler2
    4. 右鍵建立,選字元串值 加上HeaderEncoding 然後值輸入 ,GBK值設定為預設編碼(GBK)。建議設成GB18030
  2. 在抓包之前點選工具欄中的Decode

請求Request部分詳解

  1. Headers :顯示用戶端發送到伺服器的 HTTP 請求的 header,顯示為一個分級視圖,包含了 Web 用戶端資訊、Cookie、傳輸狀态等
  2. Textview : 顯示 POST 請求的 body 部分為文本
  3. WebForms :顯示請求的 GET 參數 和 POST body 内容,特别說明,這裡的QueryString為url後接的内容;這裡 body 為是 application/x-www-form-urlen-coded 格式
  4. HexView: 用十六進制資料顯示請求
  5. Auth :顯示 header 中的 Proxy-Authorization 和 Authorization 資訊
  6. Cookies:顯示請求的cookie資訊
  7. Raw :将整個請求顯示為純文字(用的較多)
  8. XML:如果請求的 body 是 XML 格式,就是用分級的 XML 樹來顯示它

響應(Response) 部分詳解

  1. Transformer :顯示響應的編碼資訊
  2. Headers :用分級視圖顯示響應的 header
  3. TextView : 使用文本顯示相應的 body
  4. ImageVies :如果請求是圖檔資源,顯示響應的圖檔,左側區域會顯示圖檔的大小、寬高、檔案格式等資訊,在下方還可以選擇縮放模式:自動縮放、縮放以适應顯示區域大小、無縮放
  5. HexView : 用十六進制資料顯示響應
  6. WebView :響應在 Web 浏覽器中的預覽效果
  7. Auth:顯示響應 header 中的 Proxy-Authorization 和 Authorization 資訊
  8. Caching : 顯示此請求的緩存資訊
  9. Cookies:顯示傳回的cookie資訊
  10. Raw : 将整個響應顯示為純文字
  11. JSON:傳回的響應内容如果是一個json格式的,這裡會顯示
  12. XML:如果相應的 body 是 XML 格式,就是用分級的 XML 樹來顯示它

AutoResponder自動響應器

需要掌握,再次重新整理網頁時使用ctrl+F5進行強制重新整理

AutoResponder可用于攔截某一請求,進行如下操作:

  1. 重定向到本地的資源
  2. 使用fiddler的内置響應
  3. 自定義響應

    替換發出的請求

    目的是将發出的請求,替換為其他的請求或者本地圖檔等相關,釣魚網站多用于此方法。

fiddler

Composer設計器

篡改資料,包括cookie,有些接口測試的樣子

fiddler

filters過濾器(過濾相關請求)

弱網測試

  1. Rules→Customize Rules
  2. 設定弱網條件
  3. 儲存弱網條件設定(Rules→Performance→Simulate Modem Speed)

繼續閱讀