Fiddler抓包打斷點(bpu)
阿新 • • 發佈:2018-12-13
前言 先給大家講一則小故事,在我們很小的時候是沒有手機的,那時候跟女神聊天都靠小紙條。某屌絲A男對隔壁小王的隔壁女神C傾慕已久,於是天天小紙條騷擾,無奈中間隔著一個小王,這樣小王就負責傳小紙條了。有一天小王忍不住偷偷開啟A男表白的紙條,把裡面內容改了下,改成了:我的同桌小王喜歡你。最後女神C和小王走在了一起。。。這是一個悲傷的故事! 一、斷點 1.為什麼要打斷點呢? 比如一個購買的金額輸入框,輸入框前端做了限制100-1000,那麼我們測試的時候,需要測試小於100的情況下。很顯然前端只能輸入大於100的。這是我們可以先抓到介面,修改請求引數,繞過前端,傳一個小於100的數,檢查服務端的功能是否OK。 也就是說介面測試其實是不需要管前端的,主要測後端的功能。Fiddler作為代理伺服器的作用其實就相當於上面故事裡面的小王,傳紙條的作用,Fiddler(小王)修改了請求引數(小紙條),是為了驗證服務端功能(女神C)。 2.Fiddler可以修改以下請求 --Fiddler設定斷點,可以修改HTTP請求頭資訊,如修改Cookie,User-Agent等 --可以修改請求資料,突破錶單限制,提交任意數字,如充值最大100,可以修改成10000 --攔截響應資料,修改響應體,如修改服務端返回的頁面資料 二、斷點的兩種方式 1.before response:這個是打在request請求的時候,未到達伺服器之前 --屌絲A傳給小王的時候,小王在這個時候攔截了小紙條,未傳給女神C
2.after response:也就是伺服器響應之後,在Fiddler將響應傳回給客戶端之前。 --女神C回了小紙條,小王拿到後攔截了,未傳給屌絲A
三、全域性斷點 1.全域性斷點就是中斷fiddler捕獲的所有請求,先設定下,點選rules-> automatic breakpoint ->before requests
2.選中before requests選項後,開啟部落格園首頁:http://blog.csdn.net/weixin_39142498,看到如下T的標識,說明斷點成功
3.打完斷點後,會發現所有的請求都無法發出去了,這時候,點下Go按鈕,就能走下一步了
4.找到需要修改的請求後,選中該條會話,右側開啟WebFroms,這時候裡面的引數都是可以修改的了
5.修改之後點Run to Completion就能提交了,於是就成功修改了請求引數了 6.打全域性斷點的話,是無法正常上網的,需要清除斷點:rules-> automatic breakpoint ->disabled 四、單個斷點 已經知道了某個介面的請求地址,這時候只需要針對這一條請求打斷點除錯,在命令列中輸入指令就可以了 請求前斷點(before response): bpu 1. 論壇登入介面:https://passport.cnblogs.com/user/signin 2. 命令列輸入:bpu https://passport.cnblogs.com/user/signin 回車
3.請求登入介面的時候,就會只攔截登入這個介面了,此時可以修改任意請求引數 4.取消斷點,在命令列輸入: bpu 回車就可以了 響應後斷點(after requests): bpafter 1. 論壇登入介面:https://passport.cnblogs.com/user/signin 2. 在命令列輸入:bpafter https://passport.cnblogs.com/user/signin 回車 3.登入部落格園,會發現已經攔截到登入後伺服器返回的資料了,此時可以修改任意返回資料 4.取消斷點,在命令列輸入: bpafter 回車就可以了 五、攔截來自某個網站所有請求 1.在命令列輸入:bpu www.cnblogs.com 2.開啟部落格園任意網頁,發現都被攔截到了 3.開啟部落格園其他網站,其它網站可以正常請求 4.說明只攔截了來自部落論壇(www.cnblogs.com)的請求 5.清除輸入bpu回車即可 六、命令列其它相關指令 Bpafter, Bps, bpv, bpm, bpu 這幾個命令主要用於批量設定斷點 Bpafter xxx: 中斷 URL 包含指定字元的全部 session 響應 Bps xxx: 中斷 HTTP 響應狀態為指定字元的全部 session 響應 Bpv xxx: 中斷指定請求方式的全部 session 響應 Bpm xxx: 中斷指定請求方式的全部 session 響應 、、同於 bpv xxx Bpu xxx:與bpafter類似 當這些命令沒有加引數時,會清空所有設定了斷點的HTTP請求。