(轉)fiddler使用簡介--其三

原文地址:http://www.cnblogs.com/miantest/p/7294620.htmlhtml

 

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

對request設置斷點web

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

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

 

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

 

 

繼續以登陸爲例子,此次咱們將手機號改爲非移動帳號進行登陸。網站

 

 

 因而可知,咱們的斷點已經設置成功,而且成功修改了HTTP的請求數據。編碼

 2)經過菜單選項或快捷鍵進行設置時,會將全部的HTTP請求都設置斷點,但有時咱們只想針對某個服務器發出的請求設置斷點,應該怎麼操做呢?Fiddler是支持命令操做的,咱們能夠經過「bpu 服務器地址」命令來對特定的請求設置斷點。url

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

這個時候從該服務器發出的全部請求都會被中斷,而從其餘服務器發出的請求能夠正常響應。

若是要清除原來的斷點,能夠在命令行輸入「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】,字段值就被成功解碼,咱們就能夠很清楚的看到裏面有哪些參數以及參數的值是什麼了。

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

相關文章
相關標籤/搜索