Fiddler

Fiddler使用

1、主界面各面板的功能

Fiddler的主界面分爲 工具面板、會話面板、監控面板、狀態面板html

 

一、工具面板

 

兩種模式跨域

  • 緩衝模式(Buffering Mode)Fiddler直到HTTP響應完成時纔將數據返回給應用程序。能夠控制響應,修改響應數據。可是時序圖有時候會出現異常
  • 流模式(Streaming Mode)Fiddler會即時將HTTP響應的數據返回給應用程序。更接近真實瀏覽器的性能。時序圖更準確,可是不能控制響應。

二、會話面板

 

三、監控面板

<1> Statistics---統計瀏覽器

  1. 請求總數、請求包大小、響應包大小。
  2. 請求起始時間、響應結束時間、握手時間、等待時間、路由時間、TCP/IP、傳輸時間。
  3. HTTP狀態碼統計。
  4. 返回的各類類型數據的大小統計以及餅圖展示。

 

<2> Timeline---時間軸緩存

每一個網絡請求都會經歷域名解析、創建鏈接、發送請求、接受數據等階段。把多個請求以時間做爲 X 軸,用圖表的形式展示出來,就造成了瀑布圖。在Fiddler中,只要在左側選中一些請求,右側選擇Timeline標籤,就能夠看到這些請求的瀑布圖安全

 

四、狀態面板

控制檯Fiddler的左下角有一個命令行工具叫作QuickExec,容許你直接輸入命令。
常見得命令有:服務器

命令cookie

解釋網絡

help併發

打開官方的使用頁面介紹,全部的命令都會列出來composer

cls

清屏 (Ctrl+x 也能夠清屏)

select

選擇會話的命令

?.png

用來選擇png後綴的圖片

bpu

截獲request

bpafter

截獲response

截包改包操做

1)全局斷點:中斷fiddler捕獲全部請求

第一步:rules-> automatic breakpoint  ->before requests

第二步:選中before requests選項後,打開一個頁面看到T的標識,說明斷點成功

第三步:打完斷點後,會發現全部的請求都沒法發出去了,這時候,點下Go按鈕,就能走下一步了
第四步:找到須要修改的請求後,選中該條會話,右側打開WebFroms,這時候裏面的參數都是能夠修改的了

第五步:修改以後點Run to Completion就能提交了,因而就成功修改了請求參數了

清除斷點:rules-> automatic breakpoint  ->disabled

2bpu  url在某個url發包時打斷點

   bpu 清理掉已設置的斷點

3)rules裏面的breakpoint設置

五、經常使用功能

1

 

 

2fiddler協議請求部分:

請求行:http方法 url http協議版本。

請求頭:請求行換行以後全部的鍵值對呈現的內容,直到下一個換行爲止。

請求體:請求頭空行以後,請求的主體內容,參數通常在這裏。

3http協議返回部分:

返回行:第一行 協議版本和狀態碼

返回頭:返回行換行以後的頭域信息

返回體:空行以後獲得的返回主體

4)請求四大要素:

方法:http協議提供的方法,目前用得最多隻有getpost,在rest風格里面,其餘的幾種也會用上PUT DELETE PATCH OPTION

url:指示訪問的資源的地址

頭域(無關緊要):以鍵值對的形式呈現的在http請求過程當中的某些約定,大部分是由http協議本省就已經定義好,也有一些開發過程當中自定義的頭域。

參數:get方法就在url裏面,post方法能夠在請求體裏,content-typex-www-form-urlencoded的時候,也能夠帶在url裏面

5autoresponder:一般會用於mock測試,至關於模擬接口的正確返回

編寫rules,設置匹配請求的條件和想要的返回結果,當發起請求時,會獲得對應的設置結果

composerfiddler的自定義發包功能,能夠完成一些簡單的接口調試測試,相似於postman

fiddlerscript:js的腳本,能夠進行弱網設置:

找到

        if (m_SimulateModem) {

            // Delay sends by 300ms per KB uploaded.

            oSession["request-trickle-delay"] = "300";

            // Delay receives by 150ms per KB downloaded.

            oSession["response-trickle-delay"] = "150";

        }

修改上下行的延時

六、頭域

HTTP Request header

1)Cache頭域

if-Modified-since:緩存

if-None-Match:可提升性能(在Response中添加ETag信息,客戶端再次請求資源,Request中加入if-None-MatchETag的值),服務器驗證ETag,若沒改變返回狀態碼304,有改變,返回狀態碼200

Pragma:防止頁面被緩存

Cache-ControlResponse—Request遵循的緩存機制

  public:能夠被任何緩存所緩存

  private:內容只緩存在私有緩存中

  no-cache:全部內容都不會被緩存

2)Client頭域

Accept:瀏覽器能夠接受的文件類型(Accepttext/html 表示瀏覽器可接受服務器返回的文件類型爲text/html

Accept-Encodig:指定壓縮方法,是否支持壓縮,支持什麼壓縮方法(gzipdeflate

Accept-Language:瀏覽器申明本身的接收語言

User-Accept:告知服務器客戶端使用的操做系統與瀏覽器的名稱和版本

Accept-chareset:瀏覽器申明本身接收的字符集。如gb2312UTF_8

3)Cookie/Login頭域

Cookie:將cookie的值發送給服務器

4)Entity頭域

Content-Length:發送給HTTP服務器的數據長度

Content-Type:決定文件接收方將以什麼形式、什麼編碼讀取此文件

5)Miscellaneous頭域

Referer:提供了Request的上下文信息,告訴服務器我是從哪一個連接過來的

A------>BB的服務器從Referer中統計有多少用戶是從A過來的)

6)Transport頭域

connectionKeep—alive            TCP鏈接不會關閉

connectionclose                     一個Request完成後,TCP鏈接關閉

7)Host:發送請求時,該報頭域是必需的。主要用於指定被請求資源的Internet主機和端口號,一般從HTTP URL 中提取出來

HTTP Response header

1)Cache頭域

Date:生成消息的具體時間和日期

Expires:瀏覽器在指定過時時間內使用本地緩存

2)Cookie/Login頭域

P3P:用戶跨域設置cookie,能夠解決iframe跨域訪問cookie的問題

Set-Cookie:重要的header,用於把cookie發送到客戶端瀏覽器,每個寫入cookie都會生成一個set-cookie

3)Entity頭域

ETag:與if-None-Match配合使用

Last-Modified:用於指示資源的最後修改日期和時間

Content-TypeWeb服務器告知瀏覽器本身響應對象的類型和字符集

Content-Length:指明實體正文長度,以字節方式存儲的十進制數字表示。在數據下行中,要預先在服務器中緩存全部數據,而後全部數據一併發給客戶端

Content-EncodingWeb服務器代表本身用了什麼壓縮方式(gzipdeflate)壓縮響應中的對象

Content-Language:服務器告知瀏覽器本身響應的對象語言

4)Miscellaneous頭域

Server:指明HTTP服務器的軟件信息

X-Powered-By:代表網站是用什麼技術開發的

X-AspNet-Version:若是網站是用Asp/Net開發的,這個header用來代表Asp/Net的版本

5)Transport頭域

connectionKeep—alive            TCP鏈接不會關閉

connectionclose                     一個Request完成後,TCP鏈接關閉

6)Location頭域

Location:用於重定向一個新的位置,包括新的URL地址

2、Fiddler HTTPS抓包配置

  1. 打開Fiddler後,再打開菜單欄裏面的配置:Toolsa-Optionsa-HTTPS,如圖勾選配置

 

 

2.重啓瀏覽器

3.打開瀏覽器,訪問百度,出現以下圖的HTTPS包,說明配置成功

 

3、移動端抓包配置

Fiddler配置代理配置

  1. 確保你的電腦和你的手機在同一個局域網:好比連同一個WiFi,或者電腦直接連在無線路由上面,手機連着無線路由的WiFi
  2. 配置fiddler代理:打開菜單欄裏面的配置:ToolsàOptionsàConnections。以下圖配置

勾選箭頭處的配置,其餘的是默認的。固然,也看一下你的配置是否和圖一致。

 

 

 

 

  1. 查看代理服務器ip:以下圖

點擊最右邊的小圖標,而後把鼠標放到Online上面。

 

 

 2.注意,若是有多個ip,請禁用除當前上網使用網卡覺得的其餘全部網卡,保證只有一個ip

Win10爲例:右鍵網絡,打開Internet設置;找到以太網,點擊更改適配器設置;我當前使用以太網上網,因此關閉除以太網之外的其餘全部網卡

 

 

 

 

 3.重啓fiddler,以後,咱們的代理服務器就只有一個ip

 

 

 

4.在瀏覽器中訪問:http://192.168.2.191:8888/

注意,ip是你的代理服務器ip。出現以下界面,說明配置ok了

 

移動端代理配置

  1. 打開你手機的設置,找到WiFi

 

 2.在你當前鏈接的WiFi裏面找到高級設置

不同的手機,打開方式不同,這裏敬請百度一下

 

3.在高級裏面找到代理,以下圖配置代理

找到代理,在代理下面選擇手動。再在以後的界面輸入:fiddler服務器的ip,以及上面配置的8888端口

 

 

 4.從新鏈接WiFi

5.瀏覽器訪問http://192.168.2.191:8888/

 

 6.點擊上圖中的箭頭處,下載fiddler證書

7.到你的下載文件夾下面找到剛剛下載的證書,並點擊安裝

安裝的時候,須要輸入鎖屏密碼

 

 

 8.在安裝界面,給證書輸入名字:fiddler,而後點擊肯定

 

9.提示安裝成功以後,移動端代理抓包就配置完成了。這時候你再訪問百度,就不會提示證書不安全

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息