成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

測試工程師良品 —— Fiddler 工具簡介

Crazy_Coder / 2492人閱讀

摘要:可用于攔截某一請求,并重定向到本地的資源,或者使用的內置響應。作為目前最好用的調試工具之一,功能很強大,這里僅做簡單介紹,有興趣的可以深入學習。

前言

Fiddler 是目前最強大最好用的調試工具之一,它能記錄所有客戶端和服務器的http和https請求,設置 CGI 請求的斷點,甚至修改輸入輸出數(shù)據(jù)。
fiddler 的工作原理,是它在 web server 和 web browser 之間搭了一層 proxy,所有的請求都會經過它,如下圖所示:

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

1、Fiddler 菜單頁面

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

設置斷點

Fiddler AutoResponder 請求地址重定向

fiddler限速

1、設置斷點

斷點可以分為request和response斷點。request斷點是打在request請求的時候,未到達服務器之前,response斷點是打在服務器響應之后,在Fiddler將響應傳回給客戶端之前攔截??梢酝ㄟ^打斷點,修改請求內容,達到需要的目的。

Fiddler可以修改以下請求:

Fiddler設置斷點,可以修改HTTP請求頭信息,如修改Cookie,User-Agent等

可以修改請求數(shù)據(jù),突破表單限制,提交任意數(shù)字,如充值最大100,可以修改成10000

攔截響應數(shù)據(jù),修改響應體,如修改服務端返回的頁面數(shù)據(jù)

全局斷點:這種方法會中斷所有的會話

設置斷點:Rules-> Automatic Breakpoint ->[type]

清除斷點:Rules-> Automatic Breakpoint ->Disabled

單個斷點

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

響應后斷點(after requests): bpafter
在命令行輸入:bpafter www.baidu.com
清除斷點: 在命令行中輸入bpafter

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

2、Fiddler AutoResponder 請求地址重定向

AutoResponder 是 Fiddler 比較重要且比較強大的功能之一??捎糜跀r截某一請求,并重定向到本地的資源,或者使用Fiddler的內置響應。可用于調試服務器端代碼而無需修改服務器端的代碼和配置,因為攔截和重定向后,實際上訪問的是本地的文件或者得到的是Fiddler的內置響應。

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

3、Fiddler 限速

web 前端研發(fā)過程中,我們都希望在網速很慢的時候,用戶首先看到的是渲染出的界面,而不是一片空白。那么這個時候,網絡限速就能很方便在 localhost 針對類似的情況來做性能調試與優(yōu)化。
通過 fiddler 來模擬限速,是因為 fiddler 本來就是個代理,它提供了客戶端請求前和服務器響應前的回調接口,我們可以在這些接口里面自定義一些邏輯。Fiddler 的模擬限速正是在客戶端請求前來自定義限速的邏輯,此邏輯是通過延遲發(fā)送數(shù)據(jù)或接收的數(shù)據(jù)的時間來限制網絡的下載速度和上傳速度,從而達到限速的效果。

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

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

2、Fiddler script

在 web 前端開發(fā)的過程中,大多數(shù)情況下,通過 fiddler 默認菜單的功能可以滿足開發(fā)者的很多調試需求,然而當有更復雜的調試場景時,需要通過 Fiddler Script 實現(xiàn)。
Fiddler Script 的本質其實是用 JScript.NET 語言寫的一個腳本文件 CustomRules.js,語法類似于 C#, 通過修改 CustomRules.js 可以實現(xiàn)很多菜單欄不能直接實現(xiàn)的功能。

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

設置限速數(shù)據(jù)

修改http的Request或Response

打開腳本文件CustomRules.js有兩種方法:
① CustomRules.js 位于 C:Documents and Settings[your user]My DocumentsFiddler2ScriptsCustomRules.js,打開文件即可
② 在 Fiddler 中打開 CustomRules.js 文件:啟動Fiddler, 點擊菜單 Rules->Customize Rules,彈出 Fiddler Script 編輯框,即可編輯文件

1、設置限速數(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”就是當前delay的時間,可以按照需要手動修改。
算法就是 1000/下載速度 = 需要delay的時間(毫秒),比如50kB/s 需要delay20毫秒來接收數(shù)據(jù),所以根據(jù)你需要的網絡速度來修改上述值。
【注】:存檔之后,原本已經勾選的Simulate Modem Speeds 會被取消勾選,需要再到Rules → Performances → Simulate Modem Speeds 勾選,同時需要注意一定要禁用瀏覽器代理插件,以及修改完成后重啟瀏覽器才能生效。

2、修改http的Request或Response

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

將請求轉發(fā)到相同端口號的不同服務器(修改請求的 Host)

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

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

除此之外,通過修改 fiddler script 文件內容,可以實現(xiàn)很多通過菜單欄無法實現(xiàn)的功能,包括修改 session 的樣式,修改 http(s) 請求內容,還可以定制 rule 菜單的子菜單等,可以自行學習。
Fiddler 作為目前最好用的調試工具之一,功能很強大,這里僅做簡單介紹,有興趣的可以深入學習。

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

與charles:

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

與WinPcap:

Winpcap是一個Win32平臺下用于抓包和分析的系統(tǒng),包括一個內核級別的packet filter,一個底層的DLL(packet.dll)和一個高級的獨立于系統(tǒng)的DLL(Wpcap.dll)。主要抓取底層通信數(shù)據(jù)包,比如協(xié)議棧、數(shù)據(jù)流組裝等,是底層環(huán)境可以直接操縱網絡通信的程序。
它不依靠主機的諸如TCP/IP協(xié)議去收發(fā)數(shù)據(jù)包,這意味著它不能處理同一臺主機中各程序之間的通信數(shù)據(jù)。跟fiddler抓取的http(s)數(shù)據(jù)包有本質區(qū)別。

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

轉載請注明本文地址:http://m.hztianpu.com/yun/8817.html

相關文章

  • ??熬夜7天肝出5萬字【禪道/缺陷報告/測試報告/接口測試及用例/Fildder】超詳細總結??

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

    oujie 評論0 收藏0
  • Fiddler助力微信開發(fā)調試

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

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

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

    lentrue 評論0 收藏0
  • Fiddler簡單使用

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

    izhuhaodev 評論0 收藏0
  • Fiddler簡單使用

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

    call_me_R 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<