fiddler运行原理_全网最全最细的fiddler使用教程以及工作原理
一、Fiddler抓包工具簡(jiǎn)介
?
Fiddler是位于客戶端和服務(wù)器端的HTTP代理。
Fiddler是目前最常用的http抓包工具之一。
Fiddler是功能非常強(qiáng)大,是web調(diào)試的利器。
二、Fiddler工作原理
Fiddler原理圖如下:
?
Fiddler是一個(gè)代理服務(wù)器。代理地址:127.0.0.1,端口:8888。瀏覽器可以通過設(shè)置查看代理服務(wù)器:設(shè)置->高級(jí)->打開您計(jì)算機(jī)的代理設(shè)置->連接->局域網(wǎng)設(shè)置->代理服務(wù)器->在高級(jí)中就能看到代理地址:127.0.0.1和端口:8888
當(dāng)瀏覽器向服務(wù)器請(qǐng)求數(shù)據(jù)時(shí),被Fiddler截獲,截獲后再發(fā)送給服務(wù)器,當(dāng)服務(wù)器向?yàn)g覽器響應(yīng)數(shù)據(jù)時(shí),同樣會(huì)被Fiddler截獲,然后再發(fā)送給瀏覽器,所以我們能夠在Fiddler中看到請(qǐng)求的報(bào)文和響應(yīng)的報(bào)文。
關(guān)掉Fiddler、代理服務(wù)器會(huì)自動(dòng)取消。如果Fiddler非正常退出,因?yàn)镕iddler沒有自動(dòng)注銷,可能會(huì)造成網(wǎng)頁(yè)無(wú)法訪問。解決的辦法是重新啟動(dòng)Fiddler。
三、Fiddler安裝
Fiddler安裝注意事項(xiàng):不要安裝在有中文和特殊字符的目錄。
四、Fiddler界面介紹
Fiddler界面從上到下分為:菜單欄、工具欄、回話列表、功能頁(yè)簽、命令行,狀態(tài)欄六大板塊!如下圖所示:
?
五、Fiddler菜單欄介紹
File菜單
1、Capture Traffic:可以控制是否把Fiddler注冊(cè)為系統(tǒng)代理。
2、New Viewer:打開一個(gè)新的fiddler窗口
3、Load Archive:用于重新加載之前捕獲的以SAZ文件格式保存的數(shù)據(jù)包。
4、Save:支持以多種方式把數(shù)據(jù)包保存到文件中。
5、Import Sessions...:支持導(dǎo)入從其他工具捕獲的數(shù)據(jù)包,也支持導(dǎo)入以其他格式存儲(chǔ)的數(shù)據(jù)包。
6、Export Sessions...:把Fiddler捕捉到的回話以多種文件格式保存。
7、Exit:取消把Fiddler注冊(cè)為系統(tǒng)代理,并關(guān)閉Fiddler。
Edit菜單
1、Copy:復(fù)制會(huì)話。
2、Remove:刪除會(huì)話。
3、Select All:選擇所有會(huì)話。
4、Undelete:撤銷刪除會(huì)話。
5、Paste as Session把剪貼板上的內(nèi)容粘貼成一個(gè)或多個(gè)模擬的會(huì)話。
6、Mark:選擇一種顏色標(biāo)記選中會(huì)話。
7、Unlock for Editing 解鎖會(huì)話。
8、Find Session...打開Find Session窗口,搜索捕獲到的數(shù)據(jù)包。
Rules菜單
1、Hide Image Request:隱藏圖片回話。
2、Hide CONNECTS:隱藏連接通道回話。
3、Automatic Breakpoints:自動(dòng)在[請(qǐng)求前]或[響應(yīng)后]設(shè)置斷點(diǎn)。Ignore Image觸發(fā)器控制這些斷點(diǎn)是否作用于圖片請(qǐng)求。
4、Customize Rules...:打開Fiddler腳本編輯窗口。
5、Require Proxy Authentication:,要求客戶端安裝證書。該規(guī)則可以用于測(cè)試HTTP客戶端,確保所有未提交Proxy-Authorization請(qǐng)求頭的請(qǐng)求會(huì)返回HTTP/407響應(yīng)碼。
6、Apply GZIP Encoding:只要請(qǐng)求包含具有g(shù)zip標(biāo)識(shí)的Accept-Encoding請(qǐng)求頭,就會(huì)對(duì)所有響應(yīng)使用GZIP HTTP進(jìn)行壓縮(圖片請(qǐng)求除外)。
7、Remove All Encoding:刪除所有請(qǐng)求和響應(yīng)的HTTP內(nèi)容編碼和傳輸編碼
8、Hide 304s:隱藏響應(yīng)為HTTP/304 Not Modified狀態(tài)的所有回話。
9、Request Japanese Content:選項(xiàng)會(huì)把所有請(qǐng)求的Accept-Encoding請(qǐng)求頭設(shè)置或替換為ja標(biāo)識(shí),表示客戶端希望響應(yīng)以日語(yǔ)形式發(fā)送。
10、User-Agents:把所有請(qǐng)求的User-Agent請(qǐng)求頭設(shè)置或替換成指定值。
11、performance:模擬弱網(wǎng)測(cè)試速度。
Tools菜單
1、Options...:打開Fiddler選項(xiàng)窗口。
2、WinINETOptions...打開IE的Internet屬性窗口
3、Clear WinINETCache:清空IE和其他應(yīng)用中所使用的WinINET緩存中的所有文件。
4、Clear WinINETCookies:清空IE和其他應(yīng)用中所發(fā)送的WinINETCookie
5、TextWizard...:選項(xiàng)會(huì)啟動(dòng)TextWizard窗口,對(duì)文本進(jìn)行編碼和解碼。
6、Compare Session:比較回話。
7、Reset Script:重置Fiddler腳本。
8、Sandbox:打開http://webdbg.com/sandbox/
9、View IE Cache:打開IE緩存窗口。
View菜單
1、Show Toolbar:控制Fiddler工具欄是否可見
2、Default Layout、Stacked Layout、Wide Layout三種界面布局
3、Minimize to Tray:最小化Fiddler到系統(tǒng)托盤(快捷鍵:CTRL+M )
4、Squish Session List:控制回話列表是否水平收縮。
5、AutoScroll Session list:添加新的回話時(shí),自動(dòng)滾動(dòng)到回話列表底部
六、Fiddler工具欄介紹
?
1.備注功能
2.重新發(fā)送請(qǐng)求,快捷鍵:R鍵。
3.刪除請(qǐng)求
4.當(dāng)有請(qǐng)求前斷點(diǎn)時(shí),點(diǎn)擊去發(fā)送請(qǐng)求。
5.流模式。(默認(rèn)是緩沖模式)
6.解碼
7.保持回話的數(shù)量。
8.選擇你想要抓包或者監(jiān)聽的程序
9.查找
10.保存所有會(huì)話,文件名以.saz為擴(kuò)展名
11.截圖
12.計(jì)時(shí)器
13.快捷的打開IE瀏覽器
?
14.清除IE緩存
15.文本的編碼解碼工具
16.分離面板
17.MSDN查詢
18.本機(jī)的信息
七、Fiddler回話列表詳解
會(huì)話(session)即Fiddler抓取到的每條http請(qǐng)求數(shù)據(jù)包。
?
主要包含:1.請(qǐng)求的ID編號(hào)、2. http響應(yīng)狀態(tài)碼、3.會(huì)話使用的協(xié)議、4.請(qǐng)求發(fā)送到的服務(wù)器主機(jī)名、5.數(shù)據(jù)包在服務(wù)器中的路徑和文件、6.響應(yīng)body的字節(jié)數(shù)。7.響應(yīng)頭信息Cache-Control的值、8、響應(yīng)頭信息Content-Type的值、9.發(fā)起請(qǐng)求的本地windows進(jìn)程、10.注釋、11.自定義備注。
八、Fiddler功能頁(yè)簽詳解
Statistics頁(yè)簽
通過該頁(yè)簽,用戶可以通過選擇多個(gè)會(huì)話來(lái)得到這幾個(gè)會(huì)話的總的信息統(tǒng)計(jì),比如多個(gè)請(qǐng)求傳輸?shù)淖止?jié)數(shù)。訪問頁(yè)面時(shí)選擇第一個(gè)請(qǐng)求和最后一個(gè)請(qǐng)求,可獲得整個(gè)頁(yè)面加載所消耗的總體時(shí)間。從條形圖表中還可以分別出哪些請(qǐng)求耗時(shí)最多,從而對(duì)頁(yè)面的訪問進(jìn)行速度性能優(yōu)化。
inspectors頁(yè)簽(常用頁(yè)簽)
它提供headers、textview、hexview,Raw等多種方式查看一條http請(qǐng)求的請(qǐng)求和響應(yīng),它分為上下兩部分:上部分為請(qǐng)求展示,下部分為響應(yīng)展示。
AutoResponse頁(yè)簽(常用頁(yè)簽)
它可以抓取在線頁(yè)面保存到本地進(jìn)行調(diào)試,大大減少了在線調(diào)試的困難,可以讓我們修改服務(wù)器端返回的數(shù)據(jù),例如讓返回都是404的數(shù)據(jù)包讀取本地文件作為返回內(nèi)容。
composer頁(yè)簽(常用頁(yè)簽)
支持手動(dòng)構(gòu)建和發(fā)送HTTP,HTTPS和FTP請(qǐng)求,我們還可以從回話列表中拖曳回話,把它放到composer選項(xiàng)卡中,當(dāng)我們點(diǎn)擊Execute按鈕時(shí)則把請(qǐng)求發(fā)送到服務(wù)器端。
FiddlerScripts頁(yè)簽
打開Fiddler腳本編輯。
log頁(yè)簽:
打印日志
Filters頁(yè)簽(常用頁(yè)簽)
過濾器可以對(duì)左側(cè)的數(shù)據(jù)流列表進(jìn)行過濾,我們可以標(biāo)記、修改或隱藏某些特征的數(shù)據(jù)流。
Timeline頁(yè)簽
時(shí)間軸,也稱為Fiddler的瀑布圖,展示網(wǎng)絡(luò)請(qǐng)求時(shí)間的功能。每個(gè)網(wǎng)絡(luò)請(qǐng)求都會(huì)經(jīng)歷域名解析、建立連接、發(fā)送請(qǐng)求、接受數(shù)據(jù)等階段。把多個(gè)請(qǐng)求以時(shí)間作為X軸,用圖表的形式展現(xiàn)出來(lái),就形成了瀑布圖。在左側(cè)會(huì)話窗口點(diǎn)擊一個(gè)或多個(gè)回話,Timeline 便會(huì)顯示指定內(nèi)容從服務(wù)端傳輸?shù)娇蛻舳说臅r(shí)間。
九、Fiddler命令行工具詳解
Fiddler命令行可以輸入命令操作回話列表,常見命令有:
help? ?? 打開官方的使用頁(yè)面介紹,所有的命令都會(huì)列出來(lái)。
cls? ? ???清屏 (Ctrl+x 也可以清屏)
select??? 選擇所有相應(yīng)類型的回話(如select image或select?css)。
?sometext 查找字符串并高亮顯示查找到的會(huì)話。
>size???? 選擇請(qǐng)求響應(yīng)大小小于size字節(jié)的會(huì)話。
=status/=method/@host 查找狀態(tài)、方法、主機(jī)相對(duì)應(yīng)的會(huì)話
1uit ? ???退出fiddler
bpafter?xxx 中斷URL包含指定字符的全部回話響應(yīng)
bps?xxx???? 中斷HTTP響應(yīng)狀態(tài)為指定字符的全部回話響應(yīng)。
bpv?xxx???? 中斷指定請(qǐng)求方式的全部回話響應(yīng)
bpm?xxx???? 中斷指定請(qǐng)求方式的全部回話響應(yīng)。等同于bpv?xxx
bpu?xxx:??? 與bpafter類似。
十、Fiddler狀態(tài)欄詳解
?
1、顯示的Fiddler是否處于捕捉狀態(tài)(開啟/關(guān)閉狀態(tài)),可以點(diǎn)擊該區(qū)域切換。
2、顯示當(dāng)前捕捉哪些進(jìn)程。
All Processes 捕獲所有進(jìn)程的請(qǐng)求
Web Browsers? 捕獲 Web 瀏覽器的請(qǐng)求,應(yīng)該特指 IE
Non-Browser?? 捕獲非 Web 瀏覽器的請(qǐng)求
Hide All????? 隱藏所有請(qǐng)求
3、顯示當(dāng)前斷點(diǎn)設(shè)置狀態(tài),通過鼠標(biāo)點(diǎn)擊切換。有三種:
不設(shè)置斷點(diǎn)
所有請(qǐng)求在斷點(diǎn)處被暫停
所有響應(yīng)在斷點(diǎn)處被暫停
4,顯示當(dāng)前共捕獲了多少回話(如:300,表示共捕獲了300個(gè)會(huì)話,如:10/300,表示當(dāng)前選擇10個(gè)會(huì)話,共捕獲300個(gè)會(huì)話)。
5,第五區(qū)塊,描述當(dāng)前狀態(tài)。
如果是剛打開Fiddler,會(huì)顯示什么時(shí)間加載了CustomRules.js;如果選擇了一個(gè)會(huì)話,會(huì)顯示該會(huì)話的URL;如果在命令行輸入一個(gè)命令,就會(huì)顯示命令相關(guān)信息。
十一、總結(jié)
如果你對(duì)此文有任何疑問,如果你覺得此文對(duì)你有幫助,如果你對(duì)軟件測(cè)試、接口測(cè)試、自動(dòng)化測(cè)試、面試經(jīng)驗(yàn)交流感興趣歡迎加入:
軟件測(cè)試技術(shù)群:695458161,群里發(fā)放的免費(fèi)資料都是筆者十多年測(cè)試生涯的精華。還有同行大神一起交流技術(shù)哦。
作者:來(lái)自公眾號(hào):軟測(cè)之家
出處:https://www.cnblogs.com/csmashang/p/12760587.html
原創(chuàng)不易,歡迎轉(zhuǎn)載,但未經(jīng)作者同意請(qǐng)保留此段聲明,并在文章頁(yè)面明顯位置給出原文鏈接!
總結(jié)
以上是生活随笔為你收集整理的fiddler运行原理_全网最全最细的fiddler使用教程以及工作原理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Shell脚本中如何实现循环
- 下一篇: 开发提交审核流程_小程序如何提交审核,多