Fiddler抓包使用教程-基本功能介紹

来源:http://www.cnblogs.com/zhaoyanjun/archive/2017/07/12/7156748.html
-Advertisement-
Play Games

轉載請標明出處:http://blog.csdn.net/zhaoyanjun6/article/details/72932886 本文出自 "【趙彥軍的博客】" Fiddler 基本頁面 會話列表功能介紹 | 標識符 | 含義| | |: :| | | Fiddler為Session生成的ID | ...


轉載請標明出處:http://blog.csdn.net/zhaoyanjun6/article/details/72932886
本文出自【趙彥軍的博客】

Fiddler 基本頁面

這裡寫圖片描述

會話列表功能介紹

這裡寫圖片描述

標識符 含義
# Fiddler為Session生成的ID
Result 響應狀態碼
Protocol 該Session使用的協議(HTTP/HTTPS/FTP)
Host 接收請求的伺服器的主機名和埠號
URL 請求URL的路徑、文件和查詢字元串
Body 響應體中包含的位元組數
Caching 響應頭中Expires和Cache-Control欄位的值
Content-type 響應的Content-type頭
Process 數據流對應的本地Windows進程
Comments 通過工具欄Comment按鈕設置的註釋信息
Custom FiddlerScript所設置的ui-CustomColumn標誌位的值

這個排序不是固定的,可以通過滑鼠拖拽來改變順序。

清空會話列表

這裡寫圖片描述

快捷功能

這裡寫圖片描述

  • 第一個是Capturing,控制捕獲會話的快捷開關;

  • 第二個是選擇當前需要捕獲的會話的來源程式,所有程式、瀏覽器、非瀏覽器、都不捕獲選項。

  • 第三個是會話request發送前的斷點和response返回後且到瀏覽器前的斷點,分別對應點一次,點兩次該按鈕(預設是空白即不設斷點),request斷點和response斷點詳情中詳解

  • 後面的而是當前選中會話的一些標識和描述。

會話列表複製

這裡寫圖片描述

  • Just Url : 複製完整 url 請求串

    http://jcenter.bintray.com/com/yiba/wifisdk/maven-metadata.xml
  • This Column : 複製這個列的內容
  • Terse Summary : 複製一個簡潔的請求

    GET http://jcenter.bintray.com/com/yiba/wifisdk/maven-metadata.xml
    200 OK (application/xml)
  • Headers only : 複製請求的Header

GET http://jcenter.bintray.com/com/yiba/wifisdk/maven-metadata.xml HTTP/1.1
cache-control: no-cache
Postman-Token: 94f573ac-0f86-439a-9262-d786d00470c1
User-Agent: PostmanRuntime/3.0.9
Accept: */*
Host: jcenter.bintray.com
accept-encoding: gzip, deflate
Connection: keep-alive


HTTP/1.1 200 OK
Server: nginx
Date: Tue, 13 Jun 2017 08:21:51 GMT
Content-Type: application/xml
Content-Length: 690
Connection: keep-alive
Content-Disposition: attachment; filename="maven-metadata.xml"
Last-Modified: Wed, 19 Apr 2017 07:49:26 GMT
Cache-Control: max-age=30, must-revalidate
Accept-Ranges: none
ETag: ce4d1b808ee1a5fa564c72bee9b3db05561adac7b23dfb8a031680683641aba5
X-Checksum-Sha1: 55cd7ab9857f50839f6c91d8bd14494b16822a33
X-Checksum-Sha2: ce4d1b808ee1a5fa564c72bee9b3db05561adac7b23dfb8a031680683641aba5
  • Session : 複製 Session
GET http://jcenter.bintray.com/com/yiba/wifisdk/maven-metadata.xml HTTP/1.1
cache-control: no-cache
Postman-Token: 94f573ac-0f86-439a-9262-d786d00470c1
User-Agent: PostmanRuntime/3.0.9
Accept: */*
Host: jcenter.bintray.com
accept-encoding: gzip, deflate
Connection: keep-alive


HTTP/1.1 200 OK
Server: nginx
Date: Tue, 13 Jun 2017 08:21:51 GMT
Content-Type: application/xml
Content-Length: 690
Connection: keep-alive
Content-Disposition: attachment; filename="maven-metadata.xml"
Last-Modified: Wed, 19 Apr 2017 07:49:26 GMT
Cache-Control: max-age=30, must-revalidate
Accept-Ranges: none
ETag: ce4d1b808ee1a5fa564c72bee9b3db05561adac7b23dfb8a031680683641aba5
X-Checksum-Sha1: 55cd7ab9857f50839f6c91d8bd14494b16822a33
X-Checksum-Sha2: ce4d1b808ee1a5fa564c72bee9b3db05561adac7b23dfb8a031680683641aba5

<?xml version="1.0" encoding="UTF-8"?>
<metadata>
  <groupId>com.yiba</groupId>
  <artifactId>wifisdk</artifactId>
  <version>2.1.8</version>
  <versioning>
    <latest>2.1.8</latest>
    <release>2.1.8</release>
    <versions>
      <version>1.5.1</version>
      <version>2.0.0</version>
      <version>2.0.1</version>
      <version>2.1.0</version>
      <version>2.1.1</version>
      <version>2.1.2</version>
      <version>2.1.3</version>
      <version>2.1.4</version>
      <version>2.1.5</version>
      <version>2.1.6</version>
      <version>2.1.7</version>
      <version>2.1.8</version>
    </versions>
    <lastUpdated>20170419074926</lastUpdated>
  </versioning>
</metadata>

從結果可以看到 : Session = Headlers + 請求結果

  • Response DataURL : 響應數據URL
  • Full Summary : 複製完整的會話列表內容
#   Result  Protocol    Host    URL Body    Caching Content-Type    Process Comments    Custom  
15642   200 HTTP    jcenter.bintray.com /com/yiba/wifisdk/maven-metadata.xml    690 max-age=30, must-revalidate application/xml postman:5532    

會話列表保存

這裡寫圖片描述

  • in ArchiveZip:把 Sessions 保存為一個Fiddler 可以執行的文件,文件尾碼 .saz。

這裡寫圖片描述

雙擊這個文件,可以用 Fiddler 打開,並且重新發起請求。

  • as Text... :把 Sessions 保存為一個文本文件

這裡寫圖片描述

  • as Text( Headers only)...:把 Sessions 裡面的 Headers 保存為文本文件

這裡寫圖片描述

會話列表移除

這裡寫圖片描述

  • Selected Sessions : 移除選擇的 Session
  • Unselected Sessions : 除了選擇的Session , 移除其他所有的 Session
  • All Sessions : 移除所有的 Sessions

會話列表過濾

這裡寫圖片描述

在會話列表界面,有一個很實用的過濾請求的功能。

  • Hide 'postman' : 隱藏所有從 postman 發出的請求
  • Hide Process =5532 : 隱藏進程為 5532 的所有請求
  • Show Only Process = 5532 : 只顯示進程為 5532 的所有請求
  • Hide 'jcenter.bintray.com' : 隱藏host為 'jcenter.bintray.com' 的請求
  • Hide '/com' : 隱藏請求URL包含 '/com ' 的請求
  • Hide Url : 隱藏用戶指定的 URL 請求
  • Hide 'application/xml’: 隱藏請求類型為 'application/xml' 的請求

會話列表備註

這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

會話列表標記

這裡寫圖片描述

可以把會話列表中的 Sessions 標記為特殊的顏色

  • Strikeout : 加刪除線
  • Red : 紅色
  • Blue : 藍色
  • Gold : 金色
  • Green : 綠色
  • Orange : 橙色
  • Purple : 紫色
  • Unmark : 取消標記

這裡寫圖片描述

會話列表重放-replay

replay 顧名思義就是重新執行請求。用這個功能可以很方便的多次請求。

在 Fiddler 工具欄中有一個快捷圖片。

這裡寫圖片描述

當然這還不夠,會話列表中,我麽右鍵下拉框中有 Replay 選項,這個選項提供了豐富的重放條件。

這裡寫圖片描述

Reissue : 重發、再版、改版

unconditionally : 無條件的

Sequentially : 順序的、繼續

Composer : 制定者、設計者
  • Reissue Requests : 重新請求 。如果有多個請求,則同時進行,相當於多線程。

  • Reissue Unconditionally:無條件重新請求

  • Reissue Edit:重新請求並且可以編輯。

  • Reissue Verify : 重新請求並且可以驗證 。 發起的請求會有綠色的標記。

  • Reissue Sequentially : 順序的重新發起請求。 如果有多個請求,則順序進行,相當於單線程。

  • Reissue from Composer: 從制定的請求中發起請求。點擊這個按鈕會跳轉到 Composer 選項卡。

  • Revisit in IE : 在 IE 瀏覽器中執行此請求。 點擊這個按鈕會打開 IE 瀏覽器。

Statistics 請求統計

通過陳列出所有的 HTTP 通信量,Fiddler 可以很容易的向您展示哪些文件生成了您當前請求的頁面。使用Statistics頁簽,用戶可以通過選擇多個會話來得來這幾個會話的總的信息統計,比如多個請求和傳輸的位元組數。選擇第一個請求和最後一個請求,可獲得整個頁面載入所消耗的總體時間。從條形圖表中還可以分別出哪些請求耗時最多,從而對頁面的訪問進行訪問速度優化。

這裡寫圖片描述

統計選項卡的一些信息含義如下解釋:

  • Request Count: 選中的session數;

  • Unique Hosts: 流量流向的獨立目標主機數。如果所有選中的流量都發送到相同的伺服器上,則不會顯示該欄位。

  • Bytes sent: HTTP請求頭和請求體中向外發送的位元組總數。後面括弧中分別給出了頭和body各自的位元組數。

  • Bytes received: HTTP請求頭和請求體中接收到的所有位元組數。在全部計數後面的括弧中給出了請求頭和請求體各自的位元組數。

  • Requests started at: Fiddler接收到的第一個請求的第一個位元組的時間點。

  • Responses completed at: Fiddler發送到客戶端的最後一個響應的最後一個位元組的時間點。

  • Sequence(clock) duration: 第一個請求開始到最後一個響應結束之間的 “時鐘時間”。

  • Aggregate session duration: 所有選中的session從請求到響應之間的時間的和。

  • DNS Lookup time: 所有選中的session解析DNS所花費的時間的總和。

  • TCP/IP Connect duration: 所有選中session建立TCP/IP連接所花費的時間總和。

  • HTTPS Handshake duration: 所有選中session在HTTPS握手上所花費的時間總和。

  • Response Codes: 選中session中各個HTTP響應碼的計數。

  • Response Bytes by content-type: 選中session中響應的各個Content-Type的位元組數。

  • Estimated Performance: 選中的流量在不同語種(local)地區和連接方式下所需時間的初步估計。

Inspectors 選項卡

翻譯

Inspectors [ɪn'spektər]]
原型、檢查員、巡查員

Inspectors : 上半部分是請求頭部分,下半部分是響應頭部分。

對於每一部分,提供了多種不同格式查看每個請求和響應的內容。JPG 格式使用 ImageView 就可以看到圖片,HTML/JS/CSS 使用 TextView 可以看到響應的內容。Raw 標簽可以查看原始的符合 HTTP 標準的請求和響應頭。Auth則可以查看授權Proxy-Authorization 和 Authorization的相關信息。Cookies標簽可以看到請求的cookie和響應的set-cookie頭信息。

這裡寫圖片描述

請求 (Request) 部分詳解

  • Headers —— 顯示客戶端發送到伺服器的 HTTP 請求的 header,顯示為一個分級視圖,包含了 Web 客戶端信息、Cookie、傳輸狀態等.

  • Textview —— 顯示 POST 請求的 body 部分為文本

  • WebForms —— 顯示請求的 GET 參數 和 POST body 內容,特別說明,這裡 body 應該是 application/x-www-form-urlen-coded 格式

  • HexView —— 用十六進位數據顯示請求

  • Auth —— 顯示 header 中的 Proxy-Authorization 和 Authorization 信息

  • Raw —— 將整個請求顯示為純文本

  • XML —— 如果請求的 body 是 XML 格式,就是用分級的 XML 樹來顯示它

響應 (Response) 部分詳解

  • Transformer —— 顯示響應的編碼信息

這裡寫圖片描述

頂部的黃色提示文字表示,此請求為了提高性能,而做了編碼或者壓縮(例如 GZIP),需要轉換後才能在 TextView 里正常瀏覽。點擊該區域或者下麵的 Remove HTTP Chunked Encoding 按鈕,都能執行轉換或者解壓縮。如果該請求沒編碼/壓縮是看不見此提示的。

HTTP Compression 顯示當前請求使用的編碼方式

  • No Compression —— 無壓縮
  • GZIP Encoding —— GZIP 壓縮
  • DEFLATE Encoding —— DEFLATE 壓縮
  • BZIP2 Encoding —— BZIP2 壓縮

對未編碼壓縮的請求,可以選擇不同的模式,看 Entity Size 里顯示壓縮後有多大。從而根據這個決定是否需要採用這樣的壓縮技術來提升網站的性能。

  • Headers —— 用分級視圖顯示響應的 header
  • TextView —— 使用文本顯示相應的 body
  • ImageVies —— 如果請求是圖片資源,顯示響應的圖片。

這裡寫圖片描述

  • HexView —— 用十六進位數據顯示響應

  • WebView —— 響應在 Web 瀏覽器中的預覽效果

  • Auth —— 顯示響應 header 中的 Proxy-Authorization 和 Authorization 信息

  • Caching —— 顯示此請求的緩存信息

  • Privacy —— 顯示此請求的私密 (P3P) 信息

  • Raw —— 將整個響應顯示為純文本

  • XML —— 如果響應的 body 是 XML 格式,就是用分級的 XML 樹來顯示它

Composer 選項卡:創建請求

這裡寫圖片描述

右邊是請求歷史記錄。只要點擊 Execute 按鈕,就會在會話列表中顯示請求的 Session 。用這個可以模擬 http 請求。


個人微信號:zhaoyanjun125 , 歡迎關註


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • JavaScript URL傳值過程中遇到的問題及知識點總結 Web系統開發過程中經常用到URL進行傳值,剛剛接觸時不太會解析,會出現中文亂碼問題等。 1、父子頁面之間的傳值(在一個頁面中以載入iframe框架的形式調出另一個頁面)。 var URL=“XXXX..?code=aaa&name=li ...
  • 上個周周末,接手了一個移動端的(外包)小項目,一直著手於PC端,對移動端還是一知半解,所以這也是我的一個挑戰,因此,今天心血來潮,總結一些移動端的基礎知識和技巧供自己以後方便查閱,歡迎大家補充或轉載: 一.單位(px,em,rem) 1.px:屏幕設備物理上能顯示出的最小的一個點,不同設備上點的長寬 ...
  • 擴展運算符(Spread operator) let zzz=[2,4,6]; console.log(zzz);//[2, 4, 6] console.log(...zzz);//2 4 6 展開併合並 let a=[1,2,3]; let b=[...a,4,5,6]; console.log( ...
  • 非同步:現在與將來 分塊的程式 可以把JavaScript 程式寫在單獨的js 文件中,這個程式是由多個塊組成的,這些塊 中只有一個是現在執行,其餘在撿來執行,最常見的塊單位是函數。 例如: function now() { return 21; } function later() { answer ...
  • 最新 iOS11中的AR特別火爆,自己也到網上找了幾個Demo把玩了下,核心代碼無非以下: //AR視圖:展示3D界面 @property(nonatomic,strong)ARSCNView *arSCNView; 添加模型方法一: // Create a new scene SCNScene * ...
  • 轉載請標明出處:http://blog.csdn.net/zhaoyanjun6/article/details/73467267 本文出自 "【趙彥軍的博客】" 在無線測試中,網路測試是必不可少的環節,通過網路限速查看頁面渲染等效果,能有效保障低速網路下的用戶體驗和頁面性能。Fiddler可通過延 ...
  • 最近在做Android的WiFi部分的開發,連接的工具類參照了這個文章的工具類。 http://www.cnblogs.com/zhuqiang/p/3566686.html 開發中碰上的一些問題,在這裡對一些解決辦法做了些記錄。 1.對於WiFi加密方式的識別 2.連接WiFi的成功率 開發中發現 ...
  • 轉載請標明出處:http://blog.csdn.net/zhaoyanjun6/article/details/73350344 本文出自 "【趙彥軍的博客】" 在 Fiddler 的工具欄中有一個 Decode 功能,一直不知道是幹嘛用的. 從一個簡單的介面說起 最近在調試一個介面,伺服器返回值 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...