【Fiddler】从零开始学习Fiddler
文章目錄
- Fiddler的工作原理
- Fiddler的代理模式
- 1.流模式(Streaming):
- 2.緩沖模式(Buffering):
- Fiddler工具條按鈕介紹
- 如何使用Fiddler抓取https包
- 如何使用Fiddler抓取手機包
- Fiddler狀態欄詳解
- 使用fiddler的過濾條件
- 1. 域名過濾
- 2.類型過濾
- 3.根據返回狀態碼
因為要開始學習接口測試,fiddler是一個很好的抓包工具而且免費好用,特開一貼來記錄fiddler的學習歷程。
Fiddler的工作原理
打開Fiddler之后會自動給電腦創建一個系統代理,默認端口為8888,。在客戶端和服務器之間獲得通訊的信息,并且以會話的形式呈現給我們。
Fiddler的代理模式
1.流模式(Streaming):
可以理解為一種實時通信的模式,請求之后實時返回。
更接近瀏覽器本身真實的行為。
2.緩沖模式(Buffering):
等所有的請求都到了之后再一起返回。
可以用來控制最后的服務器響應。
在實際的使用過程中,我們根據不同的場景需求來選擇不同的代理模式。
在界面上我們使用一個按鈕來切換這兩種模式。Fiddler默認為緩沖模式。
Fiddler工具條按鈕介紹
-
給捕捉到的繪畫增加一個備注,不太常用
-
用于重播會話,快捷鍵是R。按住CTRL無條件補發,按住SHIFT多次補發。
-
用來清空監控面板,右側的小三角形可以選擇條件清空。
對應的中文版為 -
這個要結合狀態欄的斷點使用,這里簡單插播一下狀態欄的圖標介紹:
右下角的狀態欄中如果有這個圖標的話表示正在捕獲會話中,點擊一下就停止捕獲
這個是指捕獲的哪些進程,第一個是指全部進城,第二個是web瀏覽器,第三個是非瀏覽器,最后一個是隱藏所有。
這個就是添加斷點功能,就在上個圖標后面小白框框內點擊一下就有了。當對指定進程設置斷點之后,點擊,就會在斷電進程停止,必須點擊才能夠繼續捕獲后面的會話。
如果我再次點擊,就會變成箭頭向下的這個圖標,這個意思是指客戶端發送個已請求在服務器未返回請求時停止捕獲,再點擊繼續。 -
這個按鈕就是切換模式的按鈕,之前已經講過了,這里略過。
-
解碼按鈕,就是幫我們將http中的東西解壓出來,能夠幫助我們更好的查看數據。適用于下次捕獲的會話。
-
保持會話,保存的越多,內存占用越大
-
這個按鈕很重要,當這樣顯示的時候表示捕捉的所有進程的信息。當我只想捕捉某一個進程的信息時,我們將把心拖動到此進程的圖標之上,例如只想捕獲谷歌瀏覽器的會話,就把靶心拖動到下方谷歌瀏覽器的圖標上面,成功后按鈕變成就說明已經鎖定了這個進程。辣么后面再捕獲的進程就不會有其他的會話了。
-
查找功能,在會話比較多的時候點擊這個可以查找指定會話并標記顏色,點開之后是這個樣子的
中文版就是這張圖
當我們標記之后想取消標記怎么辦,點擊這個按鈕就可以了。
-
保存按鈕,可以保存為有密碼的saz文件,也可以是沒有密碼的。
-
五秒鐘之后會把截圖保存下來
-
計時器,點擊一下開始,再單擊一下停止,第三下清零或右鍵清零。
-
可以快速啟動下拉菜單中的瀏覽器
-
快速清除緩存,一般在抓包之前要做的事情
-
文字編解碼,點開后選擇解碼方式就可以編解碼了
-
將右側面板變成浮窗,關閉浮窗之后就變回原樣。
-
MSDN首座和幫助按鈕,不常用到。
如何使用Fiddler抓取https包
因為證書問題的解決方案
有時候我們抓不到包是由于證書的問題,所以先要給fiddler支持https的捕獲和解析功能。具體步驟如下圖:
這樣我們就獲得了fiddler的證書,然后我們將這個證書導入到瀏覽器中(這里以火狐瀏覽器為例)。
在瀏覽器中找到查看證書:
然后再導入:
然后我們將fiddler和火狐瀏覽器重啟一下看能否抓包。
如何使用Fiddler抓取手機包
-
首先打開fiddler,Tools>>Options,在Connections和HTTPS中分別進行設置:
然后重啟fiddler使修改生效。 -
使用WIN+R,輸入cmd打開命令提示符,輸入ipconfig查看本機IPv4的地址,記住它。
-
在手機中設置。要求要在同一局域網下,就是都連接同一個wifi就可以。在這里我使用夜神模擬器進行示范:
要給模擬器設置鎖屏密碼,然后點開設置>>WLAN>>長按連接的wifi,然后進行如下操作:
操作完成之后點擊保存,這時候我們就已經可以抓到http的包了,如果需要抓取https的包,還需要進行下一步。 -
需要給手機安裝fiddler的證書,打開手機瀏覽器,輸入本機地址和端口號,建議使用本地瀏覽器打開:
此處容易出現No root certificate was found,Have you enabled HTTPS traffic decryption in Fiddler yet?這個問題,解決方法就是在本機命令提示符中進入到Fiddler的安裝目錄中,并運行下面這一段話
makecert.exe -r -ss my -n "CN=DO_NOT_TRUST_FiddlerRoot, O=DO_NOT_TRUST, OU=Created by http://www.fiddler2.com" -sky signature -eku 1.3.6.1.5.5.7.3.1 -h 1 -cy authority -a sha1 -m 120 -b 09/05/2012
然后就能夠下載證書啦。
下載證書之后本地瀏覽器是默認打開的,將證書名稱改了之后就直接訪問瀏覽器進行抓包操作。
經過試驗之后發現抓不到模擬器的包???所以我們在手機上進行之前的操作,并且在手機上打開瀏覽器。
這時候我們可以看到已經抓到了https包:
打開某個會話我們可以看到這個字段這個標記頭表示手機端 。
Fiddler狀態欄詳解
之前有介紹了一丟丟狀態欄按鈕,這里再詳細介紹一下其他的按鈕。
- 這個位于左下角長長的一條是控制臺,可以在里面輸入命令行。比如輸入help就可以打開使用說明。
- 這是點擊會話的詳情。
使用fiddler的過濾條件
1. 域名過濾
只顯示特定域名的記錄:
設置好了后一定要點擊Actions生效;
2.類型過濾
一般對各種圖片、CSS、JS這類的靜態素材也不需要看的情況下,直接全部過濾掉,需要過濾多少自己直接加入就好了。
.*\.(bmp|css|js|gif|ico|jp?g|png|swf|woff)3.根據返回狀態碼
比如只想顯示200的狀態,其他的不顯示:
如果本篇博客對你來說有用的話,請點個贊吧ヾ(?°?°?)ノ゙
最后總結一下:
如果你對此文有任何疑問,如果你也需要接口項目實戰,如果你對軟件測試、接口測試、自動化測試、面試經驗交流感興趣歡迎加入:軟件測試技術群:593462778,群里的免費資料都是筆者十多年測試生涯的精華。還有同行大神一起交流技術哦。
作者:暗潮洶涌
原創不易,歡迎轉載,但未經作者同意請保留此段聲明,并在文章頁面明顯位置給出原文鏈接。
總結
以上是生活随笔為你收集整理的【Fiddler】从零开始学习Fiddler的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android布局的一些知识
- 下一篇: matlab构造跟驰模型,基于跟驰模型的