Fiddler工具使用介紹三


我們知道Fiddler是位於客戶端和服務器之間的代理,它能夠記錄客戶端和服務器之間的所有 HTTP請求,可以針對特定的HTTP請求,分析請求數據、設置斷點、調試web應用、修改請求的數據,甚至可以修改服務器返回的數據,功能非常強大,是web調試的利器。前面我們介紹了如何使用Fiddler進行抓包和分析,以及如何抓取APP上的數據包。這里我們介紹下如何修改請求和響應數據,也就是設置斷點。

對request設置斷點

1)通過菜單選項或快捷鍵F11進行設置,如圖

當我們設置斷點后,進行HTTP請求,數據包順序列會有中斷的標記,單擊該數據包可以看到在右側會增加一行操作欄。這個時候我們在前端是沒有正常加載網頁的,點擊【Run to Completion】后可以返回響應數據。

 

接下來為了看我們的斷點設置是否生效,我們以登錄為例子進行測試。登錄無憂行網站,輸入正確的用戶名和密碼,點擊登錄。我們斷點規則設置為before request,然后將密碼清空,看看服務器給我們返回了什么響應數據。

 

 

繼續以登錄為例子,這次我們將手機號改成非移動賬號進行登錄。

 

 

 由此可見,我們的斷點已經設置成功,並且成功修改了HTTP的請求數據。

 2)通過菜單選項或快捷鍵進行設置時,會將所有的HTTP請求都設置斷點,但有時我們只想針對某個服務器發出的請求設置斷點,應該怎么操作呢?Fiddler是支持命令操作的,我們可以通過“bpu 服務器地址”命令來對特定的請求設置斷點。

在下圖所示的位置輸入命令,然后回車運行。

這個時候從該服務器發出的所有請求都會被中斷,而從其他服務器發出的請求可以正常響應。

如果要清除原來的斷點,可以在命令行輸入“bpu”,就會清除所有的斷點。

對response設置斷點

1)同樣的也可以通過菜單選項或快捷鍵alt+F11進行設置

2)通過命令“bpafter 服務器地址”

我們也用一個實例來驗證通過設置斷點修改響應數據。以百度主頁為例,我們攔截到響應數據中的title值為”百度一下,你就知道“,我們將響應數據中的title改成”test百度一下,你就知道“,然后在前端看看最終展示的是什么數據。

通過幾個實例,更好的幫助我們理解斷點的含義,也鞏固了Fiddler作為代理服務器的概念。接下來我們再來說說,Fiddler另一個很實用的功能:Fiddler的編碼和解碼。

 Fiddler的編碼和解碼

1)響應body解碼

有時候我們在Fiddler上看到響應數據是幾個亂碼字符,首先我們可以點擊,上方黃色提示區域直接進行解碼。如下面的兩個圖所示。

 

 

2)請求和響應數據解碼

有的時候,基於安全性考慮,開發人員會將請求和響應的body根據一定規則進行解碼。如果是普通的編碼規則,我們可以直接通過Fiddler操作進行解碼。例如在登錄百度網站的時候,有個參數的值是一個url地址,這個url經過urlEncode進行轉碼了。我們就可以將該參數通過urlDecode進行解碼。

首先,找到這個參數,選中后右鍵選擇【send to TextWizard】

然后,在【transform】中找到【URLDecode】,字段值就被成功解碼,我們就可以很清楚的看到里面有哪些參數以及參數的值是什么了。

上面都是解碼的例子,編碼在實際運用中很少,就不介紹了。另外里面還有很多其他的編碼/解碼方法,就不一一舉例啦~~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM