Fiddler改包的三種方式


  fiddler作為一個抓包道理工具,接收從客戶端/H5發出的請求,再發給服務器,接收從服務器得到的響應,再發給客戶端/H5,過程如下圖

 

  在工作中,我們經常會碰到這樣的問題:客戶端限制輸入100個字,超過100個就不讓輸入,但是后台有沒有限制這個字段的字數呢?當然我們也可以利用jmeter/postman來模擬請求,但是比較復雜,用fiddler抓包后直接改包,就可以,十分便捷。

 改包的三種方式
1.全局斷點,Rules->Automatic Breakpoints->Before requests/After responses 可以打開全局斷點,點擊Disable可以關閉斷點

 

 比如點擊Before requests,然后頁面打開www.baidu.com

fiddler的每個請求都處於等待狀態,同時底部的工具欄也亮了

 

查看該請求的Raw選項卡,修改請求,比如說添加參數a=1

 

 

 修改完后可以點擊兩個按鈕 

Break on Response ,相當於在服務器返回后繼續攔截,此時可以繼續改Raw下的內容,然后點擊 Run to completion,把內容返回給客戶端,該請求結束

 

 

 

 Run to completion:不攔截服務器返回,直接返回給客戶端,該請求結束

 

2.bpu單個斷點 

在命令區輸入 bpu  www.baidu.com  ,其實只要輸入請求的子字符串,匹配該字符串的請求就會被攔截,不支持正則表達式,因此這樣寫也可以 bpu baidu

 

現在再訪問 www.baidu.com,也是一樣的fiddler等待,底部高亮

 

 

之后的操作就和上面的一樣了

關閉攔截:上面選擇Disable就可以了,這里關閉在命令行輸入bpu就可以取消攔截

 

3.AutoResponder

這是fiddler的一個選項卡,可以提前設置響應的內容,不需要再請求過程中去修改

 

 

Enable Rule:打開該規則

Unmatched request passthrough:不匹配規則的請求就放行,不理他

請求一個百度首頁,然后把它拖到這個選項卡中

 

 

設置匹配規則,其中常用的有如下幾種:

1.匹配鏈接,我們拖進去會顯示為EXACT:xxx,我們可以改為要匹配的鏈接的子字符串,如baidu,當有鏈接包含baidu就會自動返回設定的值

2.URLWithBody  這里要匹配兩個url和body,所以一般都是用例匹配POST請求,比如 URLWithBody:baidu name,當遇到url中包含baidu,且body中有name的,就會自動返回設定的值

3.Header:Accept=html  當請求的Header中包含Accept=html,就會自動返回設定的值

 

 返回值設置:可以把響應的值設置為404,503等,但是常用的是選擇一個本地文件

 

 

打開百度首頁,在請求中,我們會發現其中的logo圖片請求

 

 

 把這個請求拖到AutoResponsder,在選擇一個本地圖片find a file,把上面的enable和unmatched都勾選上,點擊save

 

 此時ctrl+F5刷新百度,注意不能用緩存,然后就變成這樣

 

如果是要在已存在的返回中修改呢?首先必須獲得一個返回,在raw中修改,保存,再把這個作為自動返回。

打開百度首頁,抓包,修改raw

 

 改成閃電1111

 

 將該請求保存save->response->entire response,保存名為entire

 

 按照上面的步驟,把這個請求拖到AutoResponder,選擇find a file,選擇剛才的entire,

 

再次ctrl+F5刷新頁面。變成了閃電估分1111

 

 

 

  總結:Before requests/After responses會對所有的請求都阻斷,bpu可以對指定的某一些阻斷,然后再自己去改,AutoResponder可以提前設置返回的值

 

打字太累了,如果覺得有幫助,不妨請作者喝杯可樂吧!

 


免責聲明!

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



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