成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

測(cè)試工程師良品 —— Fiddler工具簡介

開發(fā) 開發(fā)工具
Fiddler 是目前最強(qiáng)大最好用的調(diào)試工具之一,它能記錄所有客戶端和服務(wù)器的http和https請(qǐng)求,設(shè)置 CGI 請(qǐng)求的斷點(diǎn),甚至修改輸入輸出數(shù)據(jù)。

一、前言

Fiddler 是目前最強(qiáng)大最好用的調(diào)試工具之一,它能記錄所有客戶端和服務(wù)器的http和https請(qǐng)求,設(shè)置 CGI 請(qǐng)求的斷點(diǎn),甚至修改輸入輸出數(shù)據(jù)。

fiddler 的工作原理,是它在 web server 和 web browser 之間搭了一層 proxy,所有的請(qǐng)求都會(huì)經(jīng)過它,如下圖所示:

Fiddler

fiddler可以針對(duì)web端和移動(dòng)端網(wǎng)絡(luò)請(qǐng)求進(jìn)行抓包分析,如何安裝和實(shí)現(xiàn)抓包,以及如何在無數(shù)請(qǐng)求中運(yùn)用強(qiáng)大的過濾機(jī)制進(jìn)行精準(zhǔn)定位,這里不再進(jìn)行介紹。fiddler除了進(jìn)行以上常用功能之外,還能針對(duì)抓包過程和請(qǐng)求進(jìn)行設(shè)置。以下將按照fiddler菜單和fiddler script分類介紹fiddler的一些功能。

二、Fiddler 菜單頁面

除了對(duì)web端和移動(dòng)端進(jìn)行抓包之外,fiddler菜單還可以實(shí)現(xiàn)以下常用功能。

  • 設(shè)置斷點(diǎn)
  • Fiddler AutoResponder 請(qǐng)求地址重定向
  • fiddler限速

1. 設(shè)置斷點(diǎn)

斷點(diǎn)可以分為request和response斷點(diǎn)。request斷點(diǎn)是打在request請(qǐng)求的時(shí)候,未到達(dá)服務(wù)器之前,response斷點(diǎn)是打在服務(wù)器響應(yīng)之后,在Fiddler將響應(yīng)傳回給客戶端之前攔截。可以通過打斷點(diǎn),修改請(qǐng)求內(nèi)容,達(dá)到需要的目的。

Fiddler可以修改以下請(qǐng)求:

  • Fiddler設(shè)置斷點(diǎn),可以修改HTTP請(qǐng)求頭信息,如修改Cookie,User-Agent等
  • 可以修改請(qǐng)求數(shù)據(jù),突破表單限制,提交任意數(shù)字,如充值最大100,可以修改成10000
  • 攔截響應(yīng)數(shù)據(jù),修改響應(yīng)體,如修改服務(wù)端返回的頁面數(shù)據(jù)

全局?jǐn)帱c(diǎn):這種方法會(huì)中斷所有的會(huì)話

  • 設(shè)置斷點(diǎn):Rules-> Automatic Breakpoint ->[type]
  • 清除斷點(diǎn):Rules-> Automatic Breakpoint ->Disabled

單個(gè)斷點(diǎn)

(1) 請(qǐng)求前斷點(diǎn)(before response): bpu

  • 在命令行中輸入: bpu www.baidu.com
  • 清除斷點(diǎn):在命令行中輸入bpu

(2) 響應(yīng)后斷點(diǎn)(after requests): bpafter

  • 在命令行輸入:bpafter www.baidu.com
  • 清除斷點(diǎn): 在命令行中輸入bpafter

斷點(diǎn)設(shè)置并成功攔截請(qǐng)求,可以在右側(cè)分析區(qū)修改數(shù)據(jù),并選擇 run to continue 或者繼續(xù) break on response。

2. Fiddler AutoResponder 請(qǐng)求地址重定向

AutoResponder 是 Fiddler 比較重要且比較強(qiáng)大的功能之一。可用于攔截某一請(qǐng)求,并重定向到本地的資源,或者使用Fiddler的內(nèi)置響應(yīng)。可用于調(diào)試服務(wù)器端代碼而無需修改服務(wù)器端的代碼和配置,因?yàn)閿r截和重定向后,實(shí)際上訪問的是本地的文件或者得到的是Fiddler的內(nèi)置響應(yīng)。

如圖所示,勾選按鈕,并點(diǎn)擊 Add Rule ,將 Rule Editor 第一行修改為線上檔案位址,按下 Rule Editor 第二行右邊的箭頭,選擇 Find a file ... ,選擇要替換成的本機(jī)端檔案,按下右邊的 SAVE ,大功告成;將線上檔案替換成另一個(gè)線上檔案,只需在 Rule Editor 第二行填入的是另一線上檔案位址。

如圖:

3. Fiddler 限速

web 前端研發(fā)過程中,我們都希望在網(wǎng)速很慢的時(shí)候,用戶首先看到的是渲染出的界面,而不是一片空白。那么這個(gè)時(shí)候,網(wǎng)絡(luò)限速就能很方便在 localhost 針對(duì)類似的情況來做性能調(diào)試與優(yōu)化。

通過 fiddler 來模擬限速,是因?yàn)?fiddler 本來就是個(gè)代理,它提供了客戶端請(qǐng)求前和服務(wù)器響應(yīng)前的回調(diào)接口,我們可以在這些接口里面自定義一些邏輯。Fiddler 的模擬限速正是在客戶端請(qǐng)求前來自定義限速的邏輯,此邏輯是通過延遲發(fā)送數(shù)據(jù)或接收的數(shù)據(jù)的時(shí)間來限制網(wǎng)絡(luò)的下載速度和上傳速度,從而達(dá)到限速的效果。

開啟方法如下:Rules → Performances → Simulate Modem Speeds。勾選之后,會(huì)發(fā)現(xiàn)網(wǎng)速瞬間慢下來了很多。

菜單欄可以直接開啟限速,但是網(wǎng)絡(luò)限速數(shù)值是多少,需要通過 fiddler script 進(jìn)行查看和設(shè)置。

三、Fiddler script

在 web 前端開發(fā)的過程中,大多數(shù)情況下,通過 fiddler 默認(rèn)菜單的功能可以滿足開發(fā)者的很多調(diào)試需求,然而當(dāng)有更復(fù)雜的調(diào)試場(chǎng)景時(shí),需要通過 Fiddler Script 實(shí)現(xiàn)。

Fiddler Script 的本質(zhì)其實(shí)是用 JScript.NET 語言寫的一個(gè)腳本文件 CustomRules.js,語法類似于 C#, 通過修改 CustomRules.js 可以實(shí)現(xiàn)很多菜單欄不能直接實(shí)現(xiàn)的功能。

Fiddler script 可以實(shí)現(xiàn)的功能:

  • 設(shè)置限速數(shù)據(jù)
  • 修改http的Request或Response

打開腳本文件CustomRules.js有兩種方法:

  • CustomRules.js 位于 C:\Documents and Settings\[your user]\My Documents\Fiddler2\Scripts\CustomRules.js,打開文件即可
  • 在 Fiddler 中打開 CustomRules.js 文件:啟動(dòng)Fiddler, 點(diǎn)擊菜單 Rules->Customize Rules,彈出 Fiddler Script 編輯框,即可編輯文件

1. 設(shè)置限速數(shù)據(jù)

打開fiddler script編輯框,找到如下代碼:

  1. if (m_SimulateModem) { 
  2.     // Delay sends by 500ms per KB uploaded. 
  3.      oSession["request-trickle-delay"] = "500";  
  4.      // Delay receives by 150ms per KB downloaded. 
  5.      oSession["response-trickle-delay"] = "150";  
  6.  } 

“500”和“150”就是當(dāng)前delay的時(shí)間,可以按照需要手動(dòng)修改。

算法就是 1000/下載速度 = 需要delay的時(shí)間(毫秒),比如50kB/s 需要delay20毫秒來接收數(shù)據(jù),所以根據(jù)你需要的網(wǎng)絡(luò)速度來修改上述值。

【注】:存檔之后,原本已經(jīng)勾選的Simulate Modem Speeds 會(huì)被取消勾選,需要再到Rules → Performances → Simulate Modem Speeds 勾選,同時(shí)需要注意一定要禁用瀏覽器代理插件,以及修改完成后重啟瀏覽器才能生效。

2. 修改http的Request或Response

修改 Request 和 Response 要在 FiddlerScript 中的 OnBeforeRequest 和 OnBeforeResponse 函數(shù)中添加規(guī)則即可。OnBeforeRequest 函數(shù)是在每次請(qǐng)求之前調(diào)用,OnBeforeResponse 函數(shù)是在每次響應(yīng)之前調(diào)用。

將請(qǐng)求轉(zhuǎn)發(fā)到相同端口號(hào)的不同服務(wù)器(修改請(qǐng)求的 Host)

  1. if(oSession.HostnameIs("www.baidu.com")) {        
  2.    oSession.hostname = "www.sina.com.cn";  

這個(gè)例子是將發(fā)送到百度的請(qǐng)求轉(zhuǎn)發(fā)到新浪,這里只是改變了host,并不改變后面的地址。如下面圖片所示:

除此之外,通過修改 fiddler script 文件內(nèi)容,可以實(shí)現(xiàn)很多通過菜單欄無法實(shí)現(xiàn)的功能,包括修改 session 的樣式,修改 http(s) 請(qǐng)求內(nèi)容,還可以定制 rule 菜單的子菜單等,可以自行學(xué)習(xí)。

Fiddler 作為目前最好用的調(diào)試工具之一,功能很強(qiáng)大,這里僅做簡單介紹,有興趣的可以深入學(xué)習(xí)。

四、與其他抓包軟件的區(qū)別

1. 與charles:

fiddler 有win和linux版本,linux版本需要在Mono環(huán)境中運(yùn)行;charles 沒有平臺(tái)限制。Fiddler屬于上游,在fiddler里面對(duì)http進(jìn)行的一些修改直接會(huì)影響到Charles里面的請(qǐng)求結(jié)果。

2. 與WinPcap:

Winpcap是一個(gè)Win32平臺(tái)下用于抓包和分析的系統(tǒng),包括一個(gè)內(nèi)核級(jí)別的packet filter,一個(gè)底層的DLL(packet.dll)和一個(gè)高級(jí)的獨(dú)立于系統(tǒng)的DLL(Wpcap.dll)。主要抓取底層通信數(shù)據(jù)包,比如協(xié)議棧、數(shù)據(jù)流組裝等,是底層環(huán)境可以直接操縱網(wǎng)絡(luò)通信的程序。

它不依靠主機(jī)的諸如TCP/IP協(xié)議去收發(fā)數(shù)據(jù)包,這意味著它不能處理同一臺(tái)主機(jī)中各程序之間的通信數(shù)據(jù)。跟fiddler抓取的http(s)數(shù)據(jù)包有本質(zhì)區(qū)別。

【本文是51CTO專欄機(jī)構(gòu)“豈安科技”的原創(chuàng)文章,轉(zhuǎn)載請(qǐng)通過微信公眾號(hào)(bigsec)聯(lián)系原作者】

戳這里,看該作者更多好文

責(zé)任編輯:趙寧寧 來源: 51CTO專欄
相關(guān)推薦

2012-10-10 09:42:58

谷歌測(cè)試測(cè)試工程師

2015-02-13 19:52:47

測(cè)試工程師APPTestin云測(cè)

2011-05-19 15:27:39

測(cè)試工程師

2009-02-23 09:41:29

面試軟件測(cè)試工程師

2016-03-25 13:43:19

飛象網(wǎng)

2019-11-08 11:08:29

測(cè)試工程師AI人工智能

2025-03-14 10:00:00

黑客AI網(wǎng)絡(luò)安全

2012-03-02 08:56:25

軟件測(cè)試

2018-12-29 15:10:22

工程師爬蟲Python

2022-11-09 07:18:18

驅(qū)動(dòng)測(cè)試BDD

2009-02-24 10:31:33

軟件測(cè)試工程師角色定位

2011-04-18 16:41:01

測(cè)試工程師軟件測(cè)試

2023-06-08 13:03:55

2012-09-07 10:20:53

2009-03-05 09:39:07

工程師軟件測(cè)試加班經(jīng)歷

2009-06-16 11:36:34

軟件測(cè)試工程師獵頭職業(yè)

2009-10-09 09:44:37

2012-12-24 09:41:24

2011-04-18 15:07:53

測(cè)試工程師軟件測(cè)試

2019-09-11 15:29:08

工程師瀏覽器軟件
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 亚洲成人中文字幕 | 欧美日韩大片 | 午夜欧美| 欧美激情在线精品一区二区三区 | 99精品国产一区二区青青牛奶 | 亚洲欧美日韩精品久久亚洲区 | 日本亚洲一区二区 | 夜夜操天天操 | 成人在线一区二区 | 91国在线观看 | 婷婷在线视频 | 五月天天丁香婷婷在线中 | 91久久久久久久 | 久久福利电影 | 久久99精品久久久久久 | 久草资源在线视频 | 伊人久久综合 | 中文在线视频观看 | 欧美中文字幕一区二区三区亚洲 | 91天堂 | 狠狠干综合视频 | 青青草综合网 | 亚洲国产精品一区二区第一页 | 亚洲网站在线观看 | 草久久免费视频 | 网站黄色在线免费观看 | 国产综合视频 | 日韩av网址在线观看 | 亚洲一区在线日韩在线深爱 | 久久久久久久久国产 | 成人免费看电影 | 中文字幕男人的天堂 | 亚洲喷水| 欧美精品二区 | 蜜臀久久99精品久久久久久宅男 | 国产欧美性成人精品午夜 | 亚洲综合在线一区 | www.伊人.com | 综合久久综合久久 | 久久精品亚洲一区二区三区浴池 | 精品国产一区二区三区久久久蜜月 |