fiddler常用操作斷點
標簽(空格分隔): fiddler斷點
一、斷點:
- 1.為什么要打斷點呢?
比如一個購買的金額輸入框,輸入框前端做了限制100-1000,那么我們測試的時候,需要測試小於100的情況下。很顯然前端只能輸入大於100的。這是我們可以先抓到接口,修改請求參數,繞過前端,傳一個小於100的數,檢查服務端的功能是否OK;
也就是說接口測試其實是不需要管前端的,主要測后端的功能。
- 2.Fiddler可以修改以下請求
Fiddler設置斷點,可以修改HTTP請求頭信息,如修改Cookie,User-Agent等
可以修改請求數據,突破表單限制,提交任意數字,如充值最大100,可以修改成10000
攔截響應數據,修改響應體,如修改服務端返回的頁面數據
- 二、斷點的兩種方式
1.before response:這個是打在request請求的時候,未到達服務器之前
2.after response:也就是服務器響應之后,在Fiddler將響應傳回給客戶端之前。
三、全局斷點
1.全局斷點就是中斷fiddler捕獲的所有請求,先設置下,點擊rules-> automatic breakpoint ->before requests
2.選中before requests選項后,打開博客園首頁:http://www.cnblogs.com/surewing/看到如下T的標識,說明斷點成功
3.打完斷點后,會發現所有的請求都無法發出去了,這時候,點下Go按鈕,就能走下一步了
4.找到需要修改的請求后,選中該條會話,右側打開WebFroms,這時候里面的參數都是可以修改的了
5.修改之后點Run to Completion就能提交了,於是就成功修改了請求參數了
6.打全局斷點的話,是無法正常上網的,需要清除斷點:rules-> automatic breakpoint ->disabled
四、單個斷點
已經知道了某個接口的請求地址,這時候只需要針對這一條請求打斷點調試,在命令行中輸入指令就可以了
請求前斷點(before response): bpu
- 論壇登錄接口:https://passport.cnblogs.com/user/signin
- 命令行輸入:bpu https://passport.cnblogs.com/user/signin 回車
3.請求登錄接口的時候,就會只攔截登錄這個接口了,此時可以修改任意請求參數
4.取消斷點,在命令行輸入: bpu 回車就可以了
響應后斷點(after requests): bpafter
- 論壇登錄接口:https://passport.cnblogs.com/user/signin
- 在命令行輸入:bpafter https://passport.cnblogs.com/user/signin 回車
3.登錄博客園,會發現已經攔截到登錄后服務器返回的數據了,此時可以修改任意返回數據
4.取消斷點,在命令行輸入: bpafter 回車就可以了
命令行其它相關指令
Bpafter, Bps, bpv, bpm, bpu
Bpafter xxx: 中斷 URL 包含指定字符的全部 session 響應
Bps xxx: 中斷 HTTP 響應狀態為指定字符的全部 session 響應
Bpv xxx: 中斷指定請求方式的全部 session 響應
Bpm xxx: 中斷指定請求方式的全部 session 響應 、、同於 bpv xxx
Bpu xxx:與bpafter類似
會話保存:
為什么要保存會話呢?舉個很簡單的場景,你在上海測試某個功能接口的時候,發現了一個BUG,而開發這個接口的開發人員是w外地的開發,如果我們截圖,就不是很方便。如果我們保留會話就會很方便的;
保存文本
1.以博客園登錄為例,抓到登錄的請求會話
2.點左上角File>Save>SelectedSessions>asText,保存到電腦上就是文本格式的
3.文本格式的可以直接打開,結果如下圖
二、幾種保存方式
1.save-All Sessions :保存所有的會話,saz文件
2.save-Selected Session:保存選中的會話
in ArchiveZIP :保存為saz文件
as Text :以txt文件形式保存整個會話包括Request和Response
as Text (Headers only) :僅保存頭部
3.Request:保存請求
ntir Request:保存整個請求信息(headers和body)
Request Body:只保存請求body部分
4.Response:保存返回
Entir Response:保存整個返回信息(headers和body)
Response Body:只保存返回body部分
and Open as Local File:保存Response信息,並打開文件
在保存文件的過程中如果遇到了,亂碼的問題,就要重新解碼並且重新保存就好了:
如何打開保存的會話呢?
比如我們剛剛保存了所有的會話,all.saz文件,這時候我們打開fiddler,然后直接把保存的這個.saz文件直接拖入到會話界面就好了;
也可以如下圖,直接導入:
如何對於導入的文件重新請求呢?
1.導入請求后,可以選中某個請求,點擊Repaly按鈕,重新發請求
2.也可以ctrl+all全部選中后,點Repaly按鈕,一次性批量請求
自定義會話框
在使用fiddler抓包的時候,查看請求類型get和post每次只有點開該請求,在Inspectors才能查看get和post請求,不太方便。於是可以在會話框直接添加請求方式。
一、添加會話框菜單
1.點會話框菜單(箭頭位置),右鍵彈出選項菜單
2.選擇Customizecolumns選項,Collection選項選擇Miscellaneous
3.Field Name選擇:RequestMethod
4.點Add按鈕即可添加成功
二、隱藏會話菜單
1.選擇需要隱藏的菜單,右鍵。選擇Hide this column
2.隱藏后也可以讓隱藏的菜單顯示出來:Ensure all columns are visble
三、調整會話框菜單順序
1.如果需要調整會話框菜單順序,如:Content-Type菜單按住后往前移動,就能調整了
四、會話排序
1.點擊會話框上的菜單,就能對會話列表排序了,如點body菜單
2.點完后上面有個上箭頭(正序),或者下箭頭(倒敘)。但是不能取消,取消的話關掉fiddler后重新打開就行了
HTTP協議介紹:
HTTP定義:
1.HTTP協議是Hyper Text Transfer Protocol(超文本傳輸協議)的縮寫,是用於從萬維網(WWW:World Wide Web )服務器傳輸超文本到本地瀏覽器的傳送協議。
2.HTTP(HyperText Transfer Protocol)協議是基於TCP的應用層協議,它不關心數據傳輸的細節,主要是用來規定客戶端和服務端
3.http(超文本傳輸協議)是一個基於請求與響應模式的、無狀態的、應用層的協議
請求報文
1.HTTP請求報文主要由請求行、請求頭部、空一行、請求正文4部分組成(如果沒有空一行,就算3部分組成)
如下圖,post請求,內容:
響應報文
1.HTTP響應報文主要由狀態行、消息報頭、空一行、響應正文4部分組成
完整的HTTP內容:
1.請求內容
2.響應的內容
- 具體介紹一下:
1.請求行有三個主要參數:請求方法、url、協議版本。
2.請求方法包含:
- 請求方法:
get , post , HEAD,OPTIONS,PUT,DELETE,TRACE,CONNECT等方法
- 這里注意:方法名稱是分大小寫的!!!!