Fiddler界面詳解

原載傳送門https://www.cnblogs.com/chengchengla1990/p/5681775.html

 

Statistics 頁籤

完整頁籤如下圖:

 

Statistics 頁籤顯示當前用戶選擇的 Sessions 的彙總信息,包括:選擇的 Sessions 總數、發送字節數、接收字節數、響應類型的彙總表、世界各地通過不同請求方式所需的時間等。

Statistics 頁籤底部圖表

Show Chart 可以將彙總結果顯示爲一個餅狀圖,按照響應類型,在餅圖中顯示不同的比例和不同的色塊,見上圖。

Copy this chart 可以將該餅圖複製到剪貼板,粘貼到圖形處理軟件或者 WORD 中。

Collapse Chart 收起餅圖展示。

 

 Inspectors 頁籤

完整頁籤如下圖:

 

Inspectors 頁籤允許你用多種不同格式查看每個請求和響應的內容。JPG 格式使用 ImageView 就可以看到圖片,HTML/JS/CSS 使用 TextView 可以看到響應的內容。

Inspectors 頁籤分爲上下兩部分,上部顯示的是發出的請求相關信息,下部顯示的是接收的響應相關信息。

請求 (Request) 部分詳解

  1. Headers —— 顯示客戶端發送到服務器的 HTTP 請求的 header,顯示爲一個分級視圖,包含了 Web 客戶端信息、Cookie、傳輸狀態等
  2. Textview —— 顯示 POST 請求的 body 部分爲文本
  3. WebForms —— 顯示請求的 GET 參數 和 POST body 內容,特別說明,這裏 body 應該是 application/x-www-form-urlen-coded 格式
  4. HexView —— 用十六進制數據顯示請求
  5. Auth —— 顯示 header 中的 Proxy-Authorization 和 Authorization 信息
  6. Raw —— 將整個請求顯示爲純文本
  7. XML —— 如果請求的 body 是 XML 格式,就是用分級的 XML 樹來顯示它

響應 (Response) 部分詳解

  1. Transformer —— 顯示響應的編碼信息

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

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

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

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

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

    左側灰色區域會顯示圖片的大小、寬高、文件格式等信息,在下方還可以選擇縮放模式:自動縮放、縮放以適應顯示區域大小、無縮放

     

  5. HexView —— 用十六進制數據顯示響應
  6. WebView —— 響應在 Web 瀏覽器中的預覽效果
  7. Auth —— 顯示響應 header 中的 Proxy-Authorization 和 Authorization 信息
  8. Caching —— 顯示此請求的緩存信息
  9. Privacy —— 顯示此請求的私密 (P3P) 信息
  10. Raw —— 將整個響應顯示爲純文本
  11. XML —— 如果響應的 body 是 XML 格式,就是用分級的 XML 樹來顯示它 

AutoResponder 頁籤

完整頁籤如下圖:

 

此功能啓用後,可以將某一請求的響應結果替換成指定的資源,可以是本地文件,也可以是 Fiddler 內置的各種 HTTP 響應。主要用於臨時攔截某一請求的響應,而無需修改服務器上的環境和代碼,保證在最真實的環境中進行調試,也無需在 BUG 查找的時候就尋求相關部門的配合。

· 啓用該功能,請將 Enable automatic responses 打勾。

· Permit passthrough for unmatched requests 表示允許未匹配到的請求正常響應。應該打勾才能讓其他的請求繼續;否則其他未匹配到的請求都會以 404 狀態返回。

· 頁籤中間是一個列表,顯示當前創建的匹配規則,左側是匹配的條件,右側是響應的結果。即:如果請求的地址包含左側的字符串,那麼就用右邊設定的資源來替換來自服務器的響應。用 + 和 - 兩個按鍵可以調整當前選擇規則在列表中的位置。

· 頁籤底部是一個規則編輯器,可以進行編輯當前用戶選擇的匹配規則、保存編輯、刪除此匹配規則等操作。

 

第一個 Combox 是匹配的條件,可以自行輸入字符串,也可以選擇 Fiddler 內置的三個正則(都是匹配圖片的,沒什麼用)。Fiddler 支持幾種匹配模式:

  1. String Literals —— 字符匹配

    這種模式將匹配指定的字符串,不存在大小寫敏感。範例:

    *
    通配符,匹配任何地址,如: http://www.example.com/Path1/query=example
    EXAMPLE
    匹配 http://www.example.com/Path1/query=example
    path1/
    匹配 http://www.example.com/Path1/query=example
    query
    匹配 http://www.example.com/Path1/q=Query
  2. Exact Match —— 精確匹配

    這種模式一 EXACT: 開頭,將嚴格匹配字符串,包括大小寫。範例:

    EXACT:http://www.example.com/path
    匹配 http://www.example.com/path
    不匹配 http://www.example.com/Path(大小寫不符)
    不匹配 http://www.example.com/path/q=Query(有多餘字符串)
  3. Regular Expressions —— 正則表達式

    這種模式一 regex: 開頭,使用正則表達式來匹配 session 的 URL。範例:

    regex:.*
    通配符,匹配任何地址,如 http://www.example.com/Path1/query=example

    regex:.*\.jpg —— 匹配包含 .JPG 的 URL
    匹配 http://www.example.com/Path1/query=foo.jpg&bar
    匹配 http://www.example.com/Path1/query=example.jpg

    regex:.*\.jpg$ —— 匹配 .jpg 結束的 URL
    不匹配 http://www.example.com/Path1/query=foo.jpg&bar(不是 .jpg 結尾)
    匹配 http://www.example.com/Path1/query=example.jpg

    regex:.*\.(jpg|gif|bmp)$ —— 匹配 .jpg 或 .gif 或 .bmp 結束的 URL
    不匹配 http://www.example.com/Path1/query=foo.bmp&bar(不是 .bmp 結尾)
    匹配 http://www.example.com/Path1/query=example.gif
    不匹配 http://www.example.com/Path1/query=example.Gif (是 .gif 結尾,但大小寫不匹配)
    匹配 http://www.example.com/Path1/query=example.bmp 

    regex:(?insx).*\.(jpg|gif|bmp)$ —— 匹配 .jpg 或 .gif 或 .bmp 結束的 URL,忽略大小寫
    不匹配 http://www.example.com/Path1/query=foo.bmp&bar(不是 .bmp 結尾)
    匹配 http://www.example.com/Path1/query=example.gif
    匹配 http://www.example.com/Path1/query=example.Gif
    匹配 http://www.example.com/Path1/query=example.bmp

 

最後一個正則中的 ?insx 是正則表達式的語法,其中各字母的含義如下(詳見:正則表達式選項):

  • i —— 指定不區分大小寫的匹配
  • m —— 指定多行模式。更改 ^ 和 $ 的含義,以使它們分別與任何行的開頭和結尾匹配,而不只是與整個字符串的開頭和結尾匹配。
  • n —— 指定唯一有效的捕獲是顯式命名或編號的 (?<name>…) 形式的組。這允許圓括號充當非捕獲組,從而避免了由 (?:…) 導致的語法上的笨拙。
  • s —— 指定單行模式。更改句點字符 (.) 的含義,以使它與每個字符(而不是除 \n 之外的所有字符)匹配。
  • x —— 指定從模式中排除非轉義空白並啓用數字符號 (#) 後面的註釋。(有關轉義空白字符的列表,請參見字符轉義。)請注意,空白永遠不會從字符類中消除。

 

第二個 Combox 是響應的結果,可以選擇:Fiddler 內置的 HTTP 200/204/302/303/304/307/401/403/404/407/502 等各種響應範例、*bpu 和 *bpafter( 表示在此中斷,關於 bpu 和 bpfater 見 QuickExec 命令參考)、本地文件 (Find a file...)。

Save 按鈕是保存對此匹配規則的修改,Remove 按鈕是刪除此匹配規則。

增加匹配規則

1.點擊 Add... 按鈕,新增一條規則。

此時會激活頁籤底部的 Rule Editor。如果你在 Web Sessions 面板裏選擇了一個 Session,則匹配規則是該 Session 的 URL,否則是 StringtoMatch[數字]。然後可以使用 Rule Editor 編輯它。

2.點擊 Import... 按鈕,導入在 Web Sessions 中保存下來的壓縮包 (*.saz)。

3.在 Web Sessions 面板中選擇你要捕獲的請求,直接拖拽到 AutoResponder 的列表中

Filters 頁籤

Fiddler 的過濾器功能相當的強大,見下圖:

下面我們一一加以說明:

  1. HOST —— HOST 過濾規則

    你可以在文本框中輸入多個 HOST,多個之前用半角逗號或者回車分隔。

    1. - No Host Filter - —— 無 HOST 過濾
    2. Hide the following Hosts —— 隱藏如下 HOST
    3. Show only the following Hosts —— 只顯示如下 HOST
    4. Flag the following Hosts —— 加粗顯示如下 HOST
    Client Process —— 客戶端進程過濾規則

    1. Show only traffic from —— 你可以指定只捕獲哪個 Windows 進程中的請求,右側會列出當前所有的 Windows 進程
    2. Show only Internet Explorer traffic —— 只顯示 IE 發出的請求
    3. Hide Windows RSS platform traffic —— 隱藏 Windows RSS 平臺發出的請求
    Breakpoints —— 斷點設置規則
    1. Break request on HTTP POST —— 給所有 POST 請求設置斷點
    2. Break request on HTTP GET with QueryString —— 給所有帶參數的 GET 請求設置斷點
    3. Break response on Content-Type —— 給特定的 Content-Type 設定斷點
    Response Status Code —— 響應 HTTP 狀態過濾規則
    1. Hide success(202,204,206) —— 隱藏響應成功的 session (202,204,206)
    2. Hide Authentication demands(401) —— 隱藏未經授權被拒絕的 session (401)
    3. Hide redirects(300,301,302,303,307) —— 隱藏重定向的 session (300,301,302,303,307)
    4. Hide Not Modified(304) —— 隱藏無變更的 session (304)
    Response Type and Size —— 響應類型和大小過濾規則

     

    1. 設定響應類型過濾規則

      · Show all Content-Types —— 顯示所有響應類型

      · Show only IMAGE/* —— 只顯示圖片

      · Show only HTML —— 只顯示 HTML

      · Show only TEXT/CSS —— 只顯示 CSS

      · Show only SCRIPTS —— 只顯示腳本

      · Hide IMAGE/* —— 隱藏所有圖片

    2. Ignore smaller than ? KB —— 忽略小於指定大小的 session
    3. Ignore larger than ? KB —— 忽略大於指定大小的 session
    4. Block script files —— 阻止腳本文件,顯示爲 404
    5. Block image files —— 阻止圖片文件
    6. Block SWF files —— 阻止 SWF 文件
    7. Block CSS files —— 阻止 CSS 文件
    Request Headers —— 請求 header 過濾規則
    1. Flag requests with header —— 標記帶有特定 header 的請求
    2. Delete request header —— 刪除請求 header
    3. Set request header —— 設置請求的 header
    Response Headers —— 響應 header 過濾規則
    1. Flag responses that set cookies —— 標記會設置 cookie 的響應
    2. Flag responses with header —— 標記帶有特定 header 的響應
    3. Delete responses header —— 刪除響應 header
    4. Set responses header —— 設置響應的 header
  2. Keep only the most recent ? sessions. —— 只保留最新的指定數量的 session  

Timeline 頁籤

完整頁籤如下圖:

 

此列表顯示在 Web Sessions 面板中選擇的 session 請求到響應的時間表。橫向是時間軸,以秒爲單位;縱向是選擇的 session 列表。

鼠標移到 Timeline 頁籤的某一 session 上,在 Timeline 頁籤底部會顯示四個數據:

· Session 編號和 URL

· Session 的響應類型

· 發送的字節數

· 接收的字節數

 

QuickExec 命令行

QuickExec 命令行如下圖:

QuickExec 命令行允許你快速執行腳本命令,在 Fiddler 中使用快捷鍵 Alt + Q 可以快速將焦點設置到命令行。

如果當前在 Web Sessions 面板選擇了一個 Session,可以使用快捷鍵 Ctrl + I 快速將 Session URL 直接插入到命令行當前光標處。

默認命令參考

以下列表中的命令只能確保在最新版本的 Fiddler 中才生效。

多數命令是存在本地 CustomRules.js 文件中,如果不是最新版 Fiddler,可能沒有最新的命令。如果要得到最新的命令,要麼刪除你的 CustomRules.js,要麼複製 SampleRules.js 的 ExecAction 到 CustomRules.js 中。

    1. ?sometext

      Fiddler 會高亮所有 URL 匹配問號後的字符的全部 session。按回車聚焦到匹配的 session 上。

      範例:

      ?searchtext
    2. >size

      選擇響應尺寸大於指定大小的全部 session。按回車聚焦到匹配的 session 上。

      範例:

      >40000 (選擇響應大於 40kb 的請求)
    3. <size

      選擇響應尺寸大於指定大小的全部 session。按回車聚焦到匹配的 session 上。

      範例:

      <5k (選擇響應小於 5kb 的請求)
    4. =status

      選擇響應 HTTP 狀態等於指定值的全部 session。按回車聚焦到匹配的 session 上。

      範例:

      =301 (選擇 301 重定向的請求)
    5. @host

      選擇包含指定 HOST 的全部 session。按回車聚焦到匹配的 session 上。

      範例:

      @msn.com (選擇 www.msn.com、login.msn.com 等 session)
    6. bold sometext

      加粗顯示 URL 包含指定字符的全部 session。

      範例:

      bold test.php (加粗顯示 URL 中包含 test.php 的 Session

      bold (不帶參數表示清空所有加粗顯示的 Session)
    7. bpafter sometext

      中斷 URL 包含指定字符的全部 session 響應。

      範例:

      bpafter test.php (中斷 URL 中包含 test.php 的 Session

      bpafter (不帶參數表示清空所有設置斷點的 Session)
    8. bps

      中斷 HTTP 響應狀態爲指定字符的全部 session 響應。

      範例:

      bps 404 (中斷所有響應 404 的 Session

      bps (不帶參數表示清空所有設置斷點的 Session)
    9. bpv 或 bpm

      中斷指定請求方式的全部 session 響應。

      範例:

      bpv POST (中斷所有 POST 請求的 Session

      bpv (不帶參數表示清空所有設置斷點的 Session)
    10. bpu

      中斷請求 URL 中包含指定字符的全部 session 響應。

      範例:

      bpu test.php (中斷所有請求 URL 中包含指定字符的 Session

      bpu (不帶參數表示清空所有設置斷點的 Session)
    11. cls 或 clear

      清除所有 session

      範例:

      cls
    12. dump

      將所有 session 打包到 C 盤根目錄下的一個 zip 壓縮包中

      範例:

      dump
    13. g 或 go

      繼續所有中斷的 Session

      範例:

      g
    14. help

      用 IE 打開 QuickExec 在線幫助頁

      範例:

      help
    15. hide

      將 Fiddler 隱藏到任務欄圖標中

      範例:

      hide
    16. urlreplace

      將 URL 中的字符串替換成特定的字符串

      範例:

      urlreplace SeekStr ReplaceWithStr

      urlreplace (不帶參數表示清空所有之前的設置)
    17. start

      將 Fiddler 爲系統代理

      範例:

      start
    18. stop

      將 Fiddler 從系統代理註銷

      範例:

      stop
    19. show

      將 Fiddler 從任務欄圖標恢復爲圖形界面,此命令在命令行工具 ExecAction.exe 中使用

      範例:

      show
    20. slect

      選擇響應類型 (Content-Type) 爲指定字符的所有 session

      範例:

      slect image

      slect css

      select htm
    21. allbut 或 keeponly

      選擇響應類型 (Content-Type) 不是指定字符的所有 session

      範例:

      allbut xml

      allbut java
    22. quit

      退出 Fiddler

      範例:

      quit
    23. Fiddler2 狀態欄

      完整狀態欄如下圖:

      此列表顯示所有 HTTP 請求的相關信息,從左到右各列分別代表:

      1. 第一區塊,顯示的 Fiddler 是否處於捕捉狀態,(開啓狀態)、(關閉狀態),可以用快捷鍵 F12 切換或者點擊該區域。
      2. 第二區塊,顯示當前捕捉哪些進程的通訊。前提是被捕獲的進程必須使用 HTTP 代理:127.0.0.1:8888
        • All Processes —— 捕獲所有進程的請求
        • Web Browsers —— 捕獲 Web 瀏覽器的請求,應該特指 IE
        • Non-Browser —— 捕獲非 Web 瀏覽器的請求
        • Hide All —— 隱藏所有請求
      3. 第三區塊,顯示當前斷點設置狀態,通過鼠標點擊切換。可以有三種:
        • —— 不設置斷點
        • —— 所有請求在斷點處被暫停
        • —— 所有響應在斷點處被暫停
      4. 第四區塊,顯示當前共捕獲了多少 session(如:300,表示共捕獲了 300 個)。

        如果選擇了 session,會顯示共選擇了多少 session 及 session 總數(如:10/300,表示當前選擇 10 個 session,共 300 個 session)。

      5. 第五區塊,描述當前狀態。

        如果是剛打開 Fiddler,會顯示什麼時間加載了 CustomRules.js;如果選擇了一個 Session,會顯示該 Session 的 URL;如果在 QuickExec 命令行輸入一個命令,就會顯示命令相關信息。

 

Fiddler2 選項

Fiddler2 選項對話框,共有五個選項卡:

    1. General —— 常規

此選項卡顯示 Fiddler 的常規設置:

  • Check for updates on startup —— 程序啓動時查找更新
  • Reuse connections to servers(improved performance) —— 重用到服務器的連接(提高性能)
  • Reuse client connections(improved performance) —— 重用客戶端的連接(提高性能)
  • Show a message when HTTP protocol violations encountered —— 違背 HTTP 協議的時候顯示消息提示
  • Allow remote computers to connect —— 允許遠程電腦連接
  • Enable IPv6(if available) —— 啓用 IPv6(如果可用)
  • Map socket to originating application —— 映射 socket 連接到原程序
  • Encrypt use AES256 when saving password-protected SAZ files(slow) —— 保存受密碼保護的 session 到 SAZ(Session Archive ZIP) 文件時候使用 AES256 算法加密(很慢)
  • Automatically stream audio & video —— 音頻和視頻自動使用流模式
  • Fiddler 的 Windows 全局熱鍵 —— 默認是 Ctrl + Alt + F,你可以設置成 Win + 任意鍵、Ctrl + Alt + 任意鍵、Ctrl + Shift + 任意鍵的組合
  1. HTTPS —— HTTPS 設置

    此選項卡顯示 Fiddler 的 HTTPS 設置:

  • Capture HTTPS CONNECTs —— 捕獲 HTTPS 連接
  • Decrypt HTTPS traffic —— HTTPS 請求解密
  • Ignore server certficate errors —— 忽略服務器端驗證錯誤
  • Show data from RPASpy —— 顯示來自 RPASpy 的數據(RPASpy 是 Fiddler 1.3 中用於查看 HTTPS 請求和響應 header 的插件,Fiddler2 已經集成了 RPASpy)
  1. Extensions —— 擴展

    此選項卡顯示 Fiddler 的擴展設置:

  • Automatically reload script when changed —— 腳本發生變化時自動重載
  • Editor —— 腳本的編輯器
  • References —— 擴展所連接到的 dll 文件
  • Extensions —— 已經安裝的擴展列表
  • Find more extensions... —— Fiddler 在線擴展列表頁
  1. Connections —— 連接

     

    任何一款可以設置 HTTP 代理的軟件都可以使用 Fiddler。請先確保主菜單 File -> Capture Traffic 功能開啓了。此選項卡顯示 Fiddler 的連接設置:

  • Act as system proxy on startup —— 腳本發生變化時自動重載
  • Chain to upstream gateway proxy —— 鏈到上行數據流網關代理
  • Show Gateway Info —— 顯示上行數據流網關設置信息
  • Fiddler listens on port: —— Fiddler 監聽的端口
  • Copy Browser Proxy Configuration URL —— 複製 Fiddler 本地代理配置文件 URL
  • IE showld bypass Fiddler for URLs that start with: —— 如果 URL 地址以下列地址開頭,IE 會繞過 Fiddler
  • WinINET Connections —— WinINET 連接
  • Monitor all connections —— 監聽所有連接
  • 連接列表
  1. Appearance —— 外觀

     

    此選項卡顯示 Fiddler 的外觀設置:

  • Font size —— Web Sessions 面板字號選擇,單位:磅
  • Hide Fiddler when minimized —— 最小化時隱藏 Fiddler
  • Use SmartScroll in Session List —— Session 列表使用智能滾動
  • Reset Session ID counter on Ctrl + X —— 按下 Ctrl + X 的時候自動重算 session ID
  • Show Fiddler Toolbar —— 顯示 Fiddler 工具欄
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章