Fiddler工具使用介紹三 設置斷點

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】,字段值就被成功解碼,我們就可以很清楚的看到裏面有哪些參數以及參數的值是什麼了。

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章