天天看點

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

轉載請标明出處: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

, 歡迎關注

繼續閱讀