成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

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

Crazy_Coder / 2330人閱讀

摘要:可用于攔截某一請(qǐng)求,并重定向到本地的資源,或者使用的內(nèi)置響應(yīng)。作為目前最好用的調(diào)試工具之一,功能很強(qiáng)大,這里僅做簡(jiǎn)單介紹,有興趣的可以深入學(xué)習(xí)。

前言

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可以針對(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的一些功能。

1、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)

請(qǐng)求前斷點(diǎn)(before response): bpu
在命令行中輸入: bpu www.baidu.com
清除斷點(diǎn):在命令行中輸入bpu

響應(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)大的功能之一??捎糜跀r截某一請(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è)置。

2、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 DocumentsFiddler2ScriptsCustomRules.js,打開文件即可
② 在 Fiddler 中打開 CustomRules.js 文件:?jiǎn)?dòng)Fiddler, 點(diǎn)擊菜單 Rules->Customize Rules,彈出 Fiddler Script 編輯框,即可編輯文件

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

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

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

“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)

if(oSession.HostnameIs("www.baidu.com")) {       
   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)大,這里僅做簡(jiǎn)單介紹,有興趣的可以深入學(xué)習(xí)。

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

與charles:

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

與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ū)別。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/8817.html

相關(guān)文章

  • ??熬夜7天肝出5萬字【禪道/缺陷報(bào)告/測(cè)試報(bào)告/接口測(cè)試及用例/Fildder】超詳細(xì)總結(jié)??

    目錄 一、禪道 一、測(cè)試工具背景 二、測(cè)試管理工具 三、測(cè)試工具介紹 四、禪道介紹 五、禪道操作 7. 創(chuàng)建發(fā)布 8. 測(cè)試團(tuán)隊(duì) 二、缺陷報(bào)告 三、測(cè)試報(bào)告 一、概要 二、測(cè)試過程 三、缺陷分析 四、測(cè)試總結(jié) 四、接口測(cè)試以及用例編寫 五、Fiddler 好文推薦 一、禪道 一、測(cè)試工具背景 當(dāng)測(cè)試環(huán)境搭建完成后,測(cè)試人員將在自己搭建的環(huán)境上執(zhí)行測(cè)試用例,開展測(cè)試工作。測(cè)試人員在執(zhí)行測(cè)試用例的過...

    oujie 評(píng)論0 收藏0
  • Fiddler助力微信開發(fā)調(diào)試

    摘要:下面介紹在微信開發(fā)調(diào)試方面的應(yīng)用。微信網(wǎng)頁開發(fā)中,由于有接口安全域名和授權(quán)域名等的限制,導(dǎo)致部分功能需要部署到線上才能測(cè)試。設(shè)置代理服務(wù)器打開微信開發(fā)者工具,設(shè)置代理設(shè)置選擇手動(dòng)設(shè)置代理。 Fiddler是一個(gè)非常強(qiáng)大的代理工具,可以讓你的前端開發(fā)調(diào)試更加方便。下面介紹在微信開發(fā)調(diào)試方面的應(yīng)用。 微信網(wǎng)頁開發(fā)中,由于有js接口安全域名和授權(quán)域名等的限制,導(dǎo)致部分功能需要部署到線上才能測(cè)...

    mengera88 評(píng)論0 收藏0
  • python爬蟲入門(一)

    摘要:想辦法區(qū)分爬蟲程序和正常的用戶。爬蟲是工具性程序,對(duì)速度和效率要求較高。生態(tài)圈完善,是最大對(duì)手。最要命的是爬蟲需要經(jīng)常修改部分代碼。爬蟲分類通用爬蟲也就是百度搜狐等搜索引擎。原本是為測(cè)試來測(cè)試網(wǎng)站的,后來成了爬蟲工程師最喜愛的工具。 一、爬蟲的基本知識(shí): 1. 什么是爬蟲 爬蟲的英文翻譯為spider或者crawder,意為蜘蛛或者爬行者,從字面意思我們可以體會(huì)到:爬蟲就是把自己當(dāng)做蜘...

    lentrue 評(píng)論0 收藏0
  • Fiddler簡(jiǎn)單使用

    摘要:簡(jiǎn)介截獲客戶端與服務(wù)器之間請(qǐng)求修改向服務(wù)器發(fā)送服務(wù)器返回的請(qǐng)求測(cè)試網(wǎng)站的性能解密請(qǐng)求組件工作原理客戶端服務(wù)端代理服務(wù)器使用場(chǎng)景實(shí)際工作中具體解決哪些問題開發(fā)環(huán)境配置所有文件映射到本地文件 1、Fiddler簡(jiǎn)介 1)截獲客戶端與服務(wù)器之間HTTP、HTTPS請(qǐng)求 2)修改向服務(wù)器發(fā)送、服務(wù)器返回的請(qǐng)求 3)測(cè)試網(wǎng)站的性能 4)解密HTTPS請(qǐng)求 5)fiddler組件 2、工作原理...

    izhuhaodev 評(píng)論0 收藏0
  • Fiddler簡(jiǎn)單使用

    摘要:簡(jiǎn)介截獲客戶端與服務(wù)器之間請(qǐng)求修改向服務(wù)器發(fā)送服務(wù)器返回的請(qǐng)求測(cè)試網(wǎng)站的性能解密請(qǐng)求組件工作原理客戶端服務(wù)端代理服務(wù)器使用場(chǎng)景實(shí)際工作中具體解決哪些問題開發(fā)環(huán)境配置所有文件映射到本地文件 1、Fiddler簡(jiǎn)介 1)截獲客戶端與服務(wù)器之間HTTP、HTTPS請(qǐng)求 2)修改向服務(wù)器發(fā)送、服務(wù)器返回的請(qǐng)求 3)測(cè)試網(wǎng)站的性能 4)解密HTTPS請(qǐng)求 5)fiddler組件 2、工作原理...

    call_me_R 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<