fiddler常用操作之斷點


fiddler常用操作斷點

標簽(空格分隔): fiddler斷點


一、斷點:

  • 1.為什么要打斷點呢?

比如一個購買的金額輸入框,輸入框前端做了限制100-1000,那么我們測試的時候,需要測試小於100的情況下。很顯然前端只能輸入大於100的。這是我們可以先抓到接口,修改請求參數,繞過前端,傳一個小於100的數,檢查服務端的功能是否OK;

也就是說接口測試其實是不需要管前端的,主要測后端的功能。

  • 2.Fiddler可以修改以下請求

Fiddler設置斷點,可以修改HTTP請求頭信息,如修改Cookie,User-Agent等
可以修改請求數據,突破表單限制,提交任意數字,如充值最大100,可以修改成10000
攔截響應數據,修改響應體,如修改服務端返回的頁面數據

  • 二、斷點的兩種方式

1.before response:這個是打在request請求的時候,未到達服務器之前
image.png-62.4kB
2.after response:也就是服務器響應之后,在Fiddler將響應傳回給客戶端之前。
image.png-58.4kB

三、全局斷點

1.全局斷點就是中斷fiddler捕獲的所有請求,先設置下,點擊rules-> automatic breakpoint  ->before requests
image.png-54.1kB
2.選中before requests選項后,打開博客園首頁:http://www.cnblogs.com/surewing/看到如下T的標識,說明斷點成功
image.png-23.6kB
3.打完斷點后,會發現所有的請求都無法發出去了,這時候,點下Go按鈕,就能走下一步了
4.找到需要修改的請求后,選中該條會話,右側打開WebFroms,這時候里面的參數都是可以修改的了
image.png-117.1kB
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 回車

image.png-107.1kB
3.請求登錄接口的時候,就會只攔截登錄這個接口了,此時可以修改任意請求參數
4.取消斷點,在命令行輸入: bpu 回車就可以了

響應后斷點(after  requests): bpafter

  1. 論壇登錄接口:https://passport.cnblogs.com/user/signin
  2. 在命令行輸入: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,保存到電腦上就是文本格式的

image.png-166.2kB
3.文本格式的可以直接打開,結果如下圖
image.png-172.2kB

二、幾種保存方式
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信息,並打開文件

在保存文件的過程中如果遇到了,亂碼的問題,就要重新解碼並且重新保存就好了:

image.png-33.4kB

如何打開保存的會話呢?

比如我們剛剛保存了所有的會話,all.saz文件,這時候我們打開fiddler,然后直接把保存的這個.saz文件直接拖入到會話界面就好了;
image.png-31.6kB

也可以如下圖,直接導入:
image.png-44.9kB

如何對於導入的文件重新請求呢?

1.導入請求后,可以選中某個請求,點擊Repaly按鈕,重新發請求
2.也可以ctrl+all全部選中后,點Repaly按鈕,一次性批量請求

自定義會話框

在使用fiddler抓包的時候,查看請求類型get和post每次只有點開該請求,在Inspectors才能查看get和post請求,不太方便。於是可以在會話框直接添加請求方式。

一、添加會話框菜單
1.點會話框菜單(箭頭位置),右鍵彈出選項菜單
image.png-58kB

2.選擇Customizecolumns選項,Collection選項選擇Miscellaneous
image.png-72.1kB

3.Field Name選擇:RequestMethod
image.png-99.2kB

4.點Add按鈕即可添加成功
image.png-47kB

二、隱藏會話菜單

1.選擇需要隱藏的菜單,右鍵。選擇Hide this column
image.png-63.8kB

2.隱藏后也可以讓隱藏的菜單顯示出來:Ensure all columns are visble
image.png-73.3kB

三、調整會話框菜單順序

1.如果需要調整會話框菜單順序,如:Content-Type菜單按住后往前移動,就能調整了

image.png-34.7kB

四、會話排序

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部分組成)

image.png-30.1kB

如下圖,post請求,內容:

image.png-103kB

響應報文

1.HTTP響應報文主要由狀態行、消息報頭、空一行、響應正文4部分組成

完整的HTTP內容:

1.請求內容
2.響應的內容

  • 具體介紹一下:
    1.請求行有三個主要參數:請求方法、url、協議版本。
    2.請求方法包含:
  • 請求方法:
    get , post , HEAD,OPTIONS,PUT,DELETE,TRACE,CONNECT等方法
  • 這里注意:方法名稱是分大小寫的!!!!


免責聲明!

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



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