Fiddler使用:菜單功能/Host配置/請求偽造接口調試

公號:軟測小生(ruancexiaosheng)
對于Fiddler上面的每個按鈕的功能的話,其實只要鼠標停留在按鈕上面就會出現英文描述的功能,今天在來實際動手過一遍所有的功能,并記錄一下。

image

第一個小氣泡:增加備注,點擊氣泡即可對下面捕捉到的會話增加備注(一般很少使用)

Replay回放按鈕:比較常用,捕捉到一個會話之后想回放這個會話,就可以點這個按鈕。

remove按鈕:清空監控面板,下面還附有很多remove規則,可以按照你的需要選擇相應的remove內容,比如Remove all 清除所有; Images是清除所有圖片請求等等。

go按鈕:用于斷點調試Debug,類似于Eclipse調試代碼的F6,下圖紅圈中的位置
1、點擊一下會出現一個藍色向上的箭頭,此時的意思是截獲發送request的時會有一個斷點,可以點擊go按鈕繼續往下走
2、再點擊一下會出現一個向下的綠色箭頭,此時的意思是截獲request返回時會有一個斷點

Stream按鈕:fiddler代理模式流模式與緩沖模式之間切換,默認是緩沖模式,按下即為流模式。
緩沖模式:當一個HTTP請求的所有內容全部返回給Fiddler時候才在界面展示出來;
流模式:Fiddler實時展示返回的內容

Decode按鈕:解壓請求,將HTTP返回的內容全部解壓出來,方便查看。

Keep sessions: 保持sessions會話,默認為保持全部,按照你需求的大小,電腦內存的大小選擇保持多少會話,畢竟越多約占用電腦資源。

靶心Any Process: 過濾請求,可以指定只抓取某個也面或者瀏覽器的請求,操作方式:按住靶心按鈕,出現十字狀,按住鼠標拖動到目標瀏覽器界面,可看到瀏覽器界面變成黑色,方開鼠標后按鈕處會出現你只捕獲的目標進程編號。

Find 查找功能:在眾多會話中查找你需要的信息,上面有一些輔助條件,比如選擇高亮顏色之類的。

Save 保存按鈕:將所有的請求保存到saz文件下,可以再次打開使用。

照相機:保存截圖

Browes: 快速啟動瀏覽器按鈕,下拉菜單里面有各種本機裝有的瀏覽器,比如IE,Chrome,Firefox等

Clear Cache:清除瀏覽器緩存

TextWizard: 編碼/解碼問本內容,比如URL關鍵字解碼/編碼,Base64/JS String之類的解碼,編碼

Tearoff: 分離面板,將左邊的會話面板與右邊的面板分離,浮窗,取消分離的話是直接關閉分離出來的面板即可

控制臺:可以在其中輸入命令行,比如輸入help,就會在瀏覽器中打開常用的命令

image

Capturing:控制Fiddler是否在工作,顯示Capturing表示工作,空白表示不截取任何請求。

image

Web Browsers:過濾瀏覽器會話。其右邊的數字是當前展示的所有會話數量。

控制面板使用:

Statistics: 一個會話的數據統計信息,顯示一些性能指標(時間),可以為優化提供依據
RTT:請求往返時間,是衡量請求性能的重要指標,還有一個全世界范圍內的平均數據
show chart:數據可視化處理

Inspectors: 對請求進行解包,可以查看相應的請求和響應信息

AutoResponder: 文件代理,可以把請求的資源用本地文件代理掉,方便調試線上bug文件,具體如下: 線上bug定位Hotfix bug:(只指定某一個連接文件到指定的IP或者服務器)。
比如:發現線上某個文件出現bug時,現在要將此文件映射到本地環境(或者是非線上開發測試環境),做代碼的修改之后快速的查看效果是否與預期一致,是否生效,是否能修復bug。
1、將請求拖入到AutoResponder中,可以看到最下方有一個EXAT,叫精準匹配(也支持正則表達式模糊匹配);

2、在下方可以選擇本地(非線上測試開發環境)文件路徑來進行測試查看結果,當然也可以選擇其他的一些響應,比如200,500等狀態。

Composer: 前后端接口連調,可以用來偽造請求--需要后端接口:修改里面的數據參數,偽造請求,再訪問查看效果。

**Log: **記錄日志
Timeline:網站性能分析

HOST配置志向非線上環境進行開發測試:(將所有的文件映射到指定的IP或者服務器下面)
Tools-->Hosts,勾上enable,然后再下方配置一個目標IP地址+host域名(可用的),save,再來發送請求Replay的時候會指向新配置的IP地址,即可查看效果。

image

查看結果之后要關閉代理功能有兩種方式1、取消之前的enable,save;2、直接退出Fiddler,不用去更改電腦system中的host文件。

Fiddler不顯示ServerIP:

1、點擊菜單Rules-->Customize Rules 2、在CustomRules.js文件里Ctrl+F查找字符串“static function Main()”
添加一行代碼即可顯示ServerIP即可:

[plain] view plaincopy

<embed id="ZeroClipboardMovie_1" src="https://csdnimg.cn/public/highlighter/ZeroClipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="16" height="16" name="ZeroClipboardMovie_1" align="middle" allowscriptaccess="always" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=1&width=16&height=16" wmode="transparent" style="box-sizing: border-box;">

  1. FiddlerObject.UI.lvSessions.AddBoundColumn("ServerIP", 120, "X-HostIP");

Fiddler打開截獲HTTPS請求后無法訪問網頁:
1、現在大多數網站都使用了HTTPS,那么如何截獲呢?fiddler-->Tools-->OPTIONS,-->HTTPS,勾選上Decrypt HTTPS traffic即可;

image

2、但是發現這樣就不能正常打開網頁,是因為代理端口設置為了8888,在Options-->Connections中可以查看,只要將其修改為8080即可;
image

3、很多時候會提示這個端口被java占用:打開cmd,輸入 taskkill /F /IM即可kill掉占用的進程,如與其它占用,響應找到占用并關閉即可。

image

Fiddler請求模擬,前后端接口調試(前端頁面沒有完成的情況下)
請求的偽造:可以偽造Cookie,進行登錄
前后端連調:Composer -> 選擇請求方式 GET -> copy 地址 參數-> excuete
然后查看返回數據參數。
POST參數一般要放到RequestBody中

Fiddler網絡限速
開發在測試網站在網速比較差的情況下的一個性能情況,基于Fiddler script插件。
小栗子:
點擊fiddlerScript 在代碼里找到onBeforeRequest,加入下面代碼:

Static function OnBeforeRequest

[csharp] view plaincopy

<embed id="ZeroClipboardMovie_2" src="https://csdnimg.cn/public/highlighter/ZeroClipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="16" height="16" name="ZeroClipboardMovie_2" align="middle" allowscriptaccess="always" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=2&width=16&height=16" wmode="transparent" style="box-sizing: border-box;">

  1. oSession["request-trickle-delay"]="3000";//請求階段延遲3秒
  2. oSession["response-trickle-delay"]="3000";//響應階段延遲3秒

Fiddler代碼格式化插件

官網下載插件

JavaScript Formatter 代碼格式化插件
Fiddler Add-ons 插件:javaScript formatter -> js文件右擊 -> 選擇 make javascript pretty -> textview / syntaxview 代碼全部高亮顯示

traffic differ (對比兩個不同的對話): 直接拖進兩個不同的請求,會顯示完整的對比數據 -> 可以用來對比優化前后網站之間的不同

第三方插件:比如 willow -> 快速管理host列表 完全可視化 http代理插件
可視化限速
因為沒有開源,可以到http://pan.baidu.com/s/1mgocpBi進行下載體驗

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,363評論 6 532
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,497評論 3 416
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,305評論 0 374
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,962評論 1 311
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,727評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,193評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,257評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,411評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,945評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,777評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,978評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,519評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,216評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,642評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,878評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,657評論 3 391
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,960評論 2 373

推薦閱讀更多精彩內容

  • 簡介 Fiddler(中文名稱:小提琴)是一個HTTP的調試代理,以代理服務器的方式,監聽系統的Http網絡數據流...
    daoyidao閱讀 143,939評論 15 169
  • 簡介 Fiddler(中文名稱:小提琴)是一個HTTP的調試代理,以代理服務器的方式,監聽系統的Http網絡數據流...
    JxMY閱讀 1,477評論 0 11
  • Fiddler_官方網站Fiddler_官方文檔Fiddler_官方視頻Fiddler_官方插件1、Filddle...
    52Alice閱讀 7,765評論 0 10
  • 原因 在現實項目中,由于開發的經常調試,接口的不穩定,和接口文檔的不及時更新,我們選擇做接口測試,更多的需要自己抓...
    我為峰2014閱讀 3,143評論 1 5
  • 查看手冊,我們看到,jquery寫jsonp有兩種方式: 1$.ajax的方式 2$.getJSON的方式 先來看...
    b12af9baadf4閱讀 2,892評論 0 9