Fiddler是最強(qiáng)大最好用的Web調(diào)試工具之一,它能記錄所有客戶端和服務(wù)器的http和https請(qǐng)求,允許你監(jiān)視,設(shè)置斷點(diǎn),甚至修改輸入輸出數(shù)據(jù). 使用Fiddler無(wú)論對(duì)開(kāi)發(fā)還是測(cè)試來(lái)說(shuō),都有很大的幫助。
目錄
Fiddler的基本介紹
Fiddler的工作原理
同類的其它工具
Fiddler 如何捕獲Firefox的會(huì)話
Firefox 中安裝Fiddler插件
Fiddler如何捕獲HTTPS會(huì)話
Fiddler的基本界面
Fiddler的HTTP統(tǒng)計(jì)視圖
QuickExec命令行的使用
Fiddler中設(shè)置斷點(diǎn)修改Request
Fiddler中設(shè)置斷點(diǎn)修改Response
Fiddler中創(chuàng)建AutoResponder規(guī)則
Fiddler中如何過(guò)濾會(huì)話
Fiddler中會(huì)話比較功能
Fiddler中提供的編碼小工具
Fiddler中查詢會(huì)話
Fiddler中保存會(huì)話
Fiddler的script系統(tǒng)
如何在VS調(diào)試網(wǎng)站的時(shí)候使用Fiddler
Response 是亂碼的
Fiddler的基本介紹
Fiddler的官方網(wǎng)站:??www.fiddler2.com
Fiddler官方網(wǎng)站提供了大量的幫助文檔和視頻教程, 這是學(xué)習(xí)Fiddler的最好資料。
Fiddler是最強(qiáng)大最好用的Web調(diào)試工具之一,它能記錄所有客戶端和服務(wù)器的http和https請(qǐng)求,允許你監(jiān)視,設(shè)置斷點(diǎn),甚至修改輸入輸出數(shù)據(jù),F(xiàn)iddler包含了一個(gè)強(qiáng)大的基于事件腳本的子系統(tǒng),并且能使用.net語(yǔ)言進(jìn)行擴(kuò)展
你對(duì)HTTP 協(xié)議越了解, 你就能越掌握Fiddler的使用方法. 你越使用Fiddler,就越能幫助你了解HTTP協(xié)議.
Fiddler無(wú)論對(duì)開(kāi)發(fā)人員或者測(cè)試人員來(lái)說(shuō),都是非常有用的工具
Fiddler的工作原理
Fiddler 是以代理web服務(wù)器的形式工作的,它使用代理地址:127.0.0.1, 端口:8888. 當(dāng)Fiddler會(huì)自動(dòng)設(shè)置代理, 退出的時(shí)候它會(huì)自動(dòng)注銷代理,這樣就不會(huì)影響別的程序。不過(guò)如果Fiddler非正常退出,這時(shí)候因?yàn)镕iddler沒(méi)有自動(dòng)注銷,會(huì)造成網(wǎng)頁(yè)無(wú)法訪問(wèn)。解決的辦法是重新啟動(dòng)下Fiddler.
同類的其它工具
同類的工具有: httpwatch, firebug, wireshark
Fiddler 如何捕獲Firefox的會(huì)話
能支持HTTP代理的任意程序的數(shù)據(jù)包都能被Fiddler嗅探到,F(xiàn)iddler的運(yùn)行機(jī)制其實(shí)就是本機(jī)上監(jiān)聽(tīng)8888端口的HTTP代理。 Fiddler2啟動(dòng)的時(shí)候默認(rèn)IE的代理設(shè)為了127.0.0.1:8888,而其他瀏覽器是需要手動(dòng)設(shè)置的,所以將Firefox的代理改為127.0.0.1:8888就可以監(jiān)聽(tīng)數(shù)據(jù)了。
Firefox 上通過(guò)如下步驟設(shè)置代理
點(diǎn)擊: Tools -> Options,? 在Options 對(duì)話框上點(diǎn)擊Advanced tab - > network tab -> setting.
Firefox 中安裝Fiddler插件
修改Firefox 中的代理比較麻煩, 不用fiddler的時(shí)候還要去掉代理。 麻煩
推薦你在firefox中使用fiddler hook 插件, 這樣你非常方便的使用Fiddler獲取firefox中的request 和response
當(dāng)你安裝fiddler后, 就已經(jīng)裝好了Fiddler hook插件, 你需要到firefox中去啟用這個(gè)插件
打開(kāi)firefox?? tools->Add ons -> Extensions 啟動(dòng) FiddlerHook
Fiddler如何捕獲HTTPS會(huì)話
默認(rèn)下,F(xiàn)iddler不會(huì)捕獲HTTPS會(huì)話,需要你設(shè)置下, 打開(kāi)Fiddler? Tool->Fiddler Options->HTTPS tab
?選中checkbox, 彈出如下的對(duì)話框,點(diǎn)擊"YES"
點(diǎn)擊"Yes" 后,就設(shè)置好了
Fiddler的基本界面
?看看Fiddler的基本界面
Inspectors tab下有很多查看Request或者Response的消息。 其中Raw Tab可以查看完整的消息,Headers tab 只查看消息中的header. 如下圖
Fiddler的HTTP統(tǒng)計(jì)視圖
通過(guò)陳列出所有的HTTP通信量,F(xiàn)iddler可以很容易的向您展示哪些文件生成了您當(dāng)前請(qǐng)求的頁(yè)面。使用Statistics頁(yè)簽,用戶可以通過(guò)選擇多個(gè)會(huì)話來(lái)得來(lái)這幾個(gè)會(huì)話的總的信息統(tǒng)計(jì),比如多個(gè)請(qǐng)求和傳輸?shù)淖止?jié)數(shù)。
選擇第一個(gè)請(qǐng)求和最后一個(gè)請(qǐng)求,可獲得整個(gè)頁(yè)面加載所消耗的總體時(shí)間。從條形圖表中還可以分別出哪些請(qǐng)求耗時(shí)最多,從而對(duì)頁(yè)面的訪問(wèn)進(jìn)行訪問(wèn)速度優(yōu)化
QuickExec命令行的使用
Fiddler的左下角有一個(gè)命令行工具叫做QuickExec,允許你直接輸入命令。
常見(jiàn)得命令有
help? 打開(kāi)官方的使用頁(yè)面介紹,所有的命令都會(huì)列出來(lái)
cls??? 清屏? (Ctrl+x 也可以清屏)
select? 選擇會(huì)話的命令
?.png? 用來(lái)選擇png后綴的圖片
bpu? 截獲request
Fiddler中設(shè)置斷點(diǎn)修改Request
[作者:小坦克]? Fiddler最強(qiáng)大的功能莫過(guò)于設(shè)置斷點(diǎn)了,設(shè)置好斷點(diǎn)后,你可以修改httpRequest 的任何信息包括host, cookie或者表單中的數(shù)據(jù)。設(shè)置斷點(diǎn)有兩種方法
第一種:打開(kāi)Fiddler 點(diǎn)擊Rules-> Automatic Breakpoint? ->Before Requests(這種方法會(huì)中斷所有的會(huì)話)
如何消除命令呢?? 點(diǎn)擊Rules-> Automatic Breakpoint? ->Disabled
第二種:? 在命令行中輸入命令:? bpu www.baidu.com?? (這種方法只會(huì)中斷www.baidu.com)
如何消除命令呢?? 在命令行中輸入命令 bpu
看個(gè)實(shí)例,模擬博客園的登錄, 在IE中打開(kāi)博客園的登錄頁(yè)面,輸入錯(cuò)誤的用戶名和密碼,用Fiddler中斷會(huì)話,修改成正確的用戶名密碼。這樣就能成功登錄
1. 用IE 打開(kāi)博客園的登錄界面? http://passport.cnblogs.com/login.aspx
2. 打開(kāi)Fiddler,? 在命令行中輸入bpu http://passport.cnblogs.com/login.aspx
3. 輸入錯(cuò)誤的用戶名和密碼 點(diǎn)擊登錄
4. Fiddler 能中斷這次會(huì)話,選擇被中斷的會(huì)話,點(diǎn)擊Inspectors tab下的WebForms tab 修改用戶名密碼,然后點(diǎn)擊Run to Completion 如下圖所示。
5. 結(jié)果是正確地登錄了博客園
Fiddler中設(shè)置斷點(diǎn)修改Response
當(dāng)然Fiddler中也能修改Response
第一種:打開(kāi)Fiddler 點(diǎn)擊Rules-> Automatic Breakpoint? ->After Response? (這種方法會(huì)中斷所有的會(huì)話)
如何消除命令呢?? 點(diǎn)擊Rules-> Automatic Breakpoint? ->Disabled
第二種:? 在命令行中輸入命令:? bpafter www.baidu.com?? (這種方法只會(huì)中斷www.baidu.com)
如何消除命令呢?? 在命令行中輸入命令 bpafter,
具體用法和上節(jié)差不多,就不多說(shuō)了。
Fiddler中創(chuàng)建AutoResponder規(guī)則
Fiddler 的AutoResponder tab允許你從本地返回文件,而不用將http request 發(fā)送到服務(wù)器上。
看個(gè)實(shí)例. 1. 打開(kāi)博客園首頁(yè),把博客園的logo圖片保存到本地,并且對(duì)圖片做些修改。
2. 打開(kāi)Fiddler 找到logo圖片的會(huì)話, http://static.cnblogs.com/images/logo_2012_lantern_festival.gif,? 把這個(gè)會(huì)話拖到AutoResponer Tab下
3. 選擇Enable automatic reaponses 和Unmatched requests passthrough
4. 在下面的Rule Editor 下面選擇 Find a file... 選擇本地保存的圖片.? 最后點(diǎn)擊Save 保存下。
5.? 再用IE博客園首頁(yè), 你會(huì)看到首頁(yè)的圖片用的是本地的。
?
Fiddler中如何過(guò)濾會(huì)話
每次使用Fiddler, 打開(kāi)一個(gè)網(wǎng)站,都能在Fiddler中看到幾十個(gè)會(huì)話,看得眼花繚亂。最好的辦法是過(guò)濾掉一些會(huì)話,比如過(guò)濾掉圖片的會(huì)話. Fiddler中有過(guò)濾的功能, 在右邊的Filters tab中,里面有很多選項(xiàng), 稍微研究下,就知道怎么用。
Fiddler中會(huì)話比較功能
選中2個(gè)會(huì)話,右鍵然后點(diǎn)擊Compare,就可以用WinDiff來(lái)比較兩個(gè)會(huì)話的不同了 (當(dāng)然需要你安裝WinDiff)
Fiddler中提供的編碼小工具
點(diǎn)擊Fiddler 工具欄上的TextWizard,? 這個(gè)工具可以Encode和Decode string.
Fiddler中查詢會(huì)話
用快捷鍵Ctrl+F 打開(kāi) Find Sessions的對(duì)話框,輸入關(guān)鍵字查詢你要的會(huì)話。 查詢到的會(huì)話會(huì)用黃色顯示
Fiddler中保存會(huì)話
有些時(shí)候我們需要把會(huì)話保存下來(lái),以便發(fā)給別人或者以后去分析。? 保存會(huì)話的步驟如下:
選擇你想保存的會(huì)話,然后點(diǎn)擊File->Save->Selected Sessions
Fiddler的script系統(tǒng)
Fiddler最復(fù)雜的莫過(guò)于script系統(tǒng)了 官方的幫助文檔:?Fiddler | Web Debugging Proxy and Troubleshooting Solutions
首先先安裝SyntaxView插件,Inspectors tab->Get SyntaxView tab->Download and Install SyntaxView Now... 如下圖
安裝成功后Fiddler 就會(huì)多了一個(gè)Fiddler Script tab, 如下圖
在里面我們就可以編寫腳本了, 看個(gè)實(shí)例 讓所有cnblogs的會(huì)話都顯示紅色。
把這段腳本放在OnBeforeRequest(oSession: Session) 方法下,并且點(diǎn)擊"Save script"
if (oSession.HostnameIs("www.cnblogs.com")) { oSession["ui-color"] = "red"; }
這樣所有的cnblogs的會(huì)話都會(huì)顯示紅色
如何在VS調(diào)試網(wǎng)站的時(shí)候使用Fiddler
我們?cè)谟胿isual stuido 開(kāi)發(fā)ASP.NET網(wǎng)站的時(shí)候也需要用Fiddler來(lái)分析HTTP, 默認(rèn)的時(shí)候Fiddler是不能嗅探到localhost的網(wǎng)站。不過(guò)只要在localhost后面加個(gè)點(diǎn)號(hào),F(xiàn)iddler就能嗅探到。
例如:原本ASP.NET的地址是 http://localhost:2391/Default.aspx,? 加個(gè)點(diǎn)號(hào)后,變成 http://localhost.:2391/Default.aspx 就可以了
第二個(gè)辦法就是在hosts文件中加入? 127.0.0.1? localsite
如何你訪問(wèn)http://localsite:端口號(hào)?? 。? 這樣Fiddler也能截取到了。
Response 是亂碼的
有時(shí)候我們看到Response中的HTML是亂碼的, 這是因?yàn)镠TML被壓縮了, 我們可以通過(guò)兩種方法去解壓縮。
1. 點(diǎn)擊Response Raw上方的"Response is encoded any may need to be decoded before inspection. click here to transform"
2. 選中工具欄中的"Decode"。? 這樣會(huì)自動(dòng)解壓縮。
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-490016.html
??還想學(xué)習(xí)的話,記得收藏及關(guān)注哦
?
感謝每一個(gè)認(rèn)真閱讀我文章的人,看著粉絲一路的上漲和關(guān)注,禮尚往來(lái)總是要有的,雖然不是什么很值錢的東西,如果你用得到的話可以直接免費(fèi)拿走:
① 2000多本軟件測(cè)試電子書(主流和經(jīng)典的書籍應(yīng)該都有了)
② 軟件測(cè)試/自動(dòng)化測(cè)試標(biāo)準(zhǔn)庫(kù)資料(最全中文版)
③ 項(xiàng)目源碼(四五十個(gè)有趣且經(jīng)典的練手項(xiàng)目及源碼)
④ Python編程語(yǔ)言、API接口自動(dòng)化測(cè)試、web自動(dòng)化測(cè)試、App自動(dòng)化測(cè)試(適合小白學(xué)習(xí))
? ? ? ? ? ? ??
? ?? ?
? ? ? ? ? ? ? ? ?? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ⑤ Python學(xué)習(xí)路線圖(告別不入流的學(xué)習(xí))?
上圖的資料 在我的QQ技術(shù)交流群里(技術(shù)交流和資源共享,廣告進(jìn)來(lái)腿給你打斷)
可以自助拿走,還有同行大神一起交流技術(shù)哦
? ?————————————————
「學(xué)習(xí)資料 筆記 工具 文檔領(lǐng)取」
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-490016.html
備注“csdn111”
小姐姐邀你一起學(xué)習(xí)哦~~
和志同道合的測(cè)試小伙伴一起討論測(cè)試技術(shù)吧!
?一定一定一定 要備注暗號(hào):CSDN111
到了這里,關(guān)于Fiddler抓包工具是最強(qiáng)大最好用的 Web 調(diào)試工具之一的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!