什么是Fiddler?
官方說法:記錄您的計(jì)算機(jī)和因特網(wǎng)之間的所有HTTP(S)流量。檢查流量品追,設(shè)置斷點(diǎn)桐筏,并處理請(qǐng)求/響應(yīng)分瘦。
通俗說法:Fiddler是一個(gè)http協(xié)議調(diào)試代理工具液荸,F(xiàn)iddler4數(shù)據(jù)抓包軟件能夠記錄并檢查所有你的電腦和互聯(lián)網(wǎng)之間的http通訊瞻佛,設(shè)置斷點(diǎn),查看所有的“進(jìn)出”Fiddler的數(shù)據(jù)(指cookie,html,js,css等文件娇钱,)
下載地址 https://www.telerik.com/fiddler
功能說明:
一伤柄、菜單欄
- File
Capture Traffic:默認(rèn)勾選,勾選此項(xiàng)才可抓包文搂,與點(diǎn)擊左下角狀態(tài)欄的 Capture 效果一樣
New Viewer:開啟一個(gè)新的 fiddler 的 viewer适刀,注意這里不是再開一個(gè)新的 fiddler,而是開一個(gè)新的fiddler的viewer
Load Archive…:用于重新加載之前捕獲到的 SAZ 文件格式保存的流量煤蹭。Session Archive Zip 文件笔喉,用于保存 http 請(qǐng)求信息。
Recent Archives:查看最近之前捕獲到的 SAZ 文件格式保存的流量
Save:保存
Import Sessions…:從目標(biāo)文件夾及其子文件夾加載所有 SAZ 文件硝皂。緩存和重用密碼常挚。 支持導(dǎo)入從其他工具獲得的流量
Export sessions:支持用fiddler把捕捉到的 sesison 用多種方式保存。CURL 腳本由 CURL 回放;參見 CURL
Exit:退出 Fiddler
-
Edit
Copy:用來拷貝請(qǐng)求的相關(guān)信息吧彪。有用于復(fù)制在 web session 列表中選中的 session 信息待侵,包括 just URL(選中的 session 的 URL 復(fù)制到剪切板中)丢早、this column(拷貝菜單所在列的文本)姨裸、terse summary(選中 session 的簡(jiǎn)要說明復(fù)制到剪切板里)、header only (把 session 請(qǐng)求頭復(fù)制到剪切板里)怨酝、session(把整個(gè)的 session 列表都復(fù)制到剪切板里)傀缩、full summary(把列表中顯示的所有 session 信息復(fù)制到剪切板里)這些功能
Remove:主要是用來移除左側(cè)邊欄中的 session
Select All:全選左側(cè)邊欄中 session
Undelete:恢復(fù)之前刪除的 session
Paste as Sessions:把剪切板里的 sesisongs 復(fù)制到 web sessions 中,把以前的會(huì)話粘貼回來
Mark:自定義不同 session 的顯示顏色
Unlock for Editing:把鎖定的 session 進(jìn)行解鎖农猬,可以進(jìn)行編輯赡艰,默認(rèn)情況下是不可進(jìn)行編輯的,默認(rèn)可以看到選定的 session 前是“鎖”的圖形 斤葱,點(diǎn)擊此按鈕后變成可編輯按鈕 慷垮。
Find Sessions…:搜索 session
- Rules
Hide Image Requests:可以隱藏圖片請(qǐng)求揖闸,讓圖片類的 session 不在 session 框中顯示出來
Hide CONNECTs:可以隱藏 CONNECT 方法的請(qǐng)求,讓這類 session 不在 session 框中顯示出來
Automatic Breakpoints:自動(dòng)斷點(diǎn)料身,控制是否自動(dòng)在 Before Request 或 After Request 處斷點(diǎn)汤纸,來修改請(qǐng)求或響應(yīng)的內(nèi)容
Customize Rules…:來打開 fiddler script 工具,調(diào)取腳本操作芹血,多用于網(wǎng)絡(luò)修改贮泞,其他自定義時(shí)使用
Require proxy authentication:若選中此項(xiàng),則所有未提交 Require proxy authentication 的請(qǐng)求頭的請(qǐng)求會(huì)返回 HTTP/407 響應(yīng)幔烛,要求客戶安裝證書
Apply GZIP Encoding:請(qǐng)求 GZIP 編碼啃擦,若選中此項(xiàng),則只要請(qǐng)求包含了 gzip 標(biāo)識(shí)的 Accept-Encoding 請(qǐng)求頭就會(huì)對(duì)除了圖片以外的所有相應(yīng)使用 GZIP HTTP 進(jìn)行壓縮
Remove All Encoding:若選中此項(xiàng)饿悬,會(huì)刪除所有請(qǐng)求相應(yīng)的 http 內(nèi)容編碼和傳輸編碼
Hide 304s:在session框中隱藏所有的 304 的 session
Request Japanese Content:把所有的 Accept-Encoding 請(qǐng)求頭設(shè)置替換成 ja 標(biāo)示令蛉,標(biāo)示客戶端希望以日語的形式發(fā)送
Automatically Authenticate:自動(dòng)進(jìn)行身份驗(yàn)證 鑒權(quán)
User-Agents:選擇相應(yīng)的用戶代理模式,默認(rèn)是選擇 disabled狡恬。那什么是 user-agent 呢言询?ua 是頭域的組成部分,簡(jiǎn)單來說就是你向訪問的網(wǎng)站提供你所用的瀏覽器的類型等信息傲宜,ua 字符串在每次瀏覽器 http 請(qǐng)求時(shí)發(fā)送到服務(wù)器端
Performance:此項(xiàng)提供影響 web 性能的簡(jiǎn)單選項(xiàng)运杭。若選中了 simulate modem speeds,它會(huì)設(shè)置所有后續(xù) session 的 flag函卒,把 request-trickle-delay 標(biāo)志設(shè)置為 300辆憔,所有上傳數(shù)據(jù)延遲 300ms/kb,若把 response-trickle-delay 標(biāo)志位設(shè)為 150报嵌,會(huì)使所有下載數(shù)據(jù)延遲 150ms/kb虱咧。若選中了 disable caching,將會(huì)刪除所有 If-None-Match和If-Modified-Since 請(qǐng)求頭锚国,并添加 Pragma:no-cache 請(qǐng)求頭腕巡,選中該項(xiàng)還會(huì)刪除響應(yīng)中的所有 Expires 頭,并把 Cache-Control 響應(yīng)頭設(shè)置成 no-cache血筑,該項(xiàng)無法阻止瀏覽器重用在所用該選項(xiàng)之前所緩存的響應(yīng)绘沉,在選中該選項(xiàng)后,為了得到最佳結(jié)果豺总,最好是清空瀏覽器中緩存车伞。若選擇 Catch Always Fresh 會(huì)自動(dòng)響應(yīng)所有包含 http/304 響應(yīng)的有條件的 http 請(qǐng)求,表示客戶端緩存是最新的喻喳,當(dāng)訪問的站點(diǎn)無法正確的設(shè)置緩存失效日期時(shí)另玖,該選項(xiàng)可以極大的提高性能。
-
Tools
Options…:打開 Options 窗口,是 fiddler 抓包的一些設(shè)置項(xiàng)谦去,包括對(duì)抓取接口是 Http 還是 Https 的設(shè)置慷丽,獲取證書,設(shè)置代理端口號(hào)等功能
WinINET Options…:打開IE瀏覽器的 options 進(jìn)行設(shè)置
Clear WinINET Catch:清空 IE 和其他應(yīng)用中所使用的 WinINET 的緩存文件
Clear WinINET Cookies:清空 IE 和其他應(yīng)用中所使用的 WinINET 的 Cookies 文件
TextWizard:文本向?qū)Чぞ喏蓿且粋€(gè)非常好用的可以輕松將 text 文本 encode 和 decode 的小工具
Reset Script:重置腳本
Sandbox:fiddler sanbox 官方文檔
View IE Cache:查看IE瀏覽器緩存文件夾
New Session Clipboard…:打開一個(gè)新的 session 剪貼板盈魁,可以把側(cè)邊欄中的 session 拖到這個(gè)剪貼板中具體來查看
HOSTS:主機(jī)重定向工具。若在其中勾選 Enable 框窃诉,然后在下面加入 host 配置杨耙,點(diǎn)擊保存之后,這個(gè)配置并不會(huì)修改到本地 hosts 中飘痛,取消勾選就會(huì)失效珊膜,若點(diǎn)擊 Import Windows Hosts File 將會(huì)導(dǎo)入本地的 host 文件內(nèi)容、
-
View
Show Toolbar:顯示工具欄宣脉,默認(rèn)是勾選的
Default Layout:默認(rèn) layout车柠,session 在左,請(qǐng)求和響應(yīng)在右邊的上下處
Stacked Layout:session 在上塑猖,請(qǐng)求在下方
Wide layout:session 在上竹祷,請(qǐng)求和響應(yīng)在下方的左右處
Tabs:打開標(biāo)簽頁(yè)面,其中有三個(gè)標(biāo)簽可以打開羊苟,分別是 Preferences(fiddler 偏好屬性)塑陵,AutoSave(fiddler 自動(dòng)保存的設(shè)置),APITest(api 的測(cè)試)
Statistics:查看一個(gè)請(qǐng)求的統(tǒng)計(jì)數(shù)據(jù)
Inspectors:嗅探蜡励,用來查看會(huì)話的內(nèi)容令花,上面是請(qǐng)求,下面是響應(yīng)
Composer:設(shè)計(jì)構(gòu)造凉倚,在 Composer 中進(jìn)行請(qǐng)求的修改兼都,可以把 session 框中的數(shù)據(jù)先清除,然后點(diǎn)擊 Composer 中的 Excute 按鈕來發(fā)送請(qǐng)求稽寒,請(qǐng)求出現(xiàn)在 session 框中
Minimize To Tray:最小化托盤
Squish Session List:擠壓 session 框
AutoScroll Session List:自動(dòng)滾動(dòng)會(huì)話列表扮碧,默認(rèn)是勾選此項(xiàng)的,勾選此項(xiàng)后杏糙,session 框中的每出現(xiàn)新的 session慎王,session 框中就會(huì)不斷向下滾動(dòng),若不勾選此項(xiàng)搔啊,就很方便具體某一個(gè) session 的定位柬祠,即使出現(xiàn)了新的 session 也不會(huì)自動(dòng)向下滾動(dòng)
Refresh:刷新功能,按 F5 刷新
- Help
Help:進(jìn)入 fiddler 的幫助的網(wǎng)頁(yè)中
Get Fiddler Book…:fiddler book 的網(wǎng)頁(yè)
Discussions:fiddler 的討論網(wǎng)頁(yè)负芋,這個(gè)需要魔法上網(wǎng)
Http Preferences:進(jìn)入 http preferences 相關(guān)網(wǎng)站
Troubleshoot…:會(huì)捕獲所有請(qǐng)求,對(duì)于哪些被過濾的請(qǐng)求用刪除線表示出來并給出原因,使用時(shí)候會(huì)打開一個(gè)網(wǎng)頁(yè)
Get Priority Support…:打開網(wǎng)頁(yè)購(gòu)買 fiddler 的優(yōu)先級(jí)服務(wù)
Check for Updates…:檢查軟件更新情況
Send Feedback…:意見反饋
About:當(dāng)前 fiddler 的相關(guān)信息
二旧蛾、工具欄
WinConfig windows 使用了一種叫做“AppContainer”的隔離技術(shù)莽龟,使得一些流量無法正常捕獲,在 fiddler 中點(diǎn)擊 WinConfig 按鈕可以解除這個(gè)詛咒锨天,這個(gè)與菜單欄 Tools→Win8 Loopback Exemptions 功能是一致的
-
此按鈕來給選定的 session 添加注釋
Replay 重發(fā)按鈕毯盈,選定請(qǐng)求重發(fā)按鈕
移除按鈕,其中有 Remove all 移除所有病袄,Images搂赋,CONNECTs,Non-200s益缠,Non-Browser脑奠,Complete & Unmarked,Duplicate response bodies幅慌,這些都是移除 session 中的這些狀態(tài)的選項(xiàng)
Go 重跑 sessions宋欺,依據(jù)斷點(diǎn)暫停
Stream流模式是一種實(shí)時(shí)通信模式,請(qǐng)求之后實(shí)時(shí)的返回胰伍,更接近瀏覽器真實(shí)行為齿诞,但 fiddler 默認(rèn)是緩沖模式而不是流模式
Decode 解碼,這里可以將 session 中亂碼進(jìn)行解碼方便查看
Keep All sessions All sessions:這里可以保持 session 框中存在多少個(gè) sessions
Any Process 點(diǎn)擊此按鈕并且拖動(dòng)到你想要捕獲的瀏覽器從而實(shí)現(xiàn)只捕獲某個(gè)瀏覽器的請(qǐng)求
Find 查詢
Save 保存按鈕骂租,保存所有的 session 成 SAZ 文件
-
截圖
-
計(jì)時(shí)功能 手動(dòng)點(diǎn)擊運(yùn)行祷杈,手動(dòng)點(diǎn)擊暫停終止
Browser 打開瀏覽器來查看響應(yīng)數(shù)據(jù)
Clear Cache 清除 WinINET 的緩存,按住 CTRL 鍵點(diǎn)擊可以清除已經(jīng)存在的 cookies
TextWizard 此工具可以將某一編碼過的或者未編碼過的字串拿到此處解碼和編碼渗饮,在菜單欄中的 Tools 中也有此項(xiàng)可以打開
Tearoff 此功能用來將右邊欄里的請(qǐng)求和響應(yīng)部分給單獨(dú)拆成一個(gè)新窗口吠式,方便視察
MSDN Search… 在網(wǎng)頁(yè)版的微軟開發(fā)中去搜索
-
幫助
-
鼠標(biāo)懸停顯示本機(jī)的一些ip信息
-
用來關(guān)閉工具欄的按鈕,在 View 中選擇第一個(gè)可以打開工具欄
三抽米、底端狀態(tài)欄
-
此處與菜單欄中 File→Capture Traffic 效果是一致的特占,默認(rèn)底端狀態(tài)欄此處是有 Caturing,有它才表示 fiddler 捕獲請(qǐng)求
All Processes 這里有 All Processes云茸,Web Browsers是目,Non-Browser,Hide All 幾個(gè)選項(xiàng)标捺,這個(gè)幾個(gè)選項(xiàng)顧名思義懊纳,但要注意的是這些不是篩選當(dāng)前 session 框中的 session,而是選中需要篩選的狀態(tài)之后亡容,后面的請(qǐng)求會(huì)按照此狀態(tài)來篩選
數(shù)字/數(shù)字 第一個(gè)數(shù)字表示這一個(gè)請(qǐng)求嗤疯,第二個(gè)數(shù)字表示 session 框中共有多少 session
-
此處顯示請(qǐng)求的 url 網(wǎng)址
三、Request 欄
在 request 欄中有 9 個(gè)大的標(biāo)簽頁(yè)闺兢,分別是 Inspector茂缚,AutoResponder,Composer,F(xiàn)iddler Orchestra Beta脚囊,F(xiàn)iddler Script龟糕,Log,F(xiàn)ilters悔耘,Timeline讲岁,Statistics
這里是查看某個(gè) session 的請(qǐng)求和響應(yīng),響應(yīng)的話專門置為一欄講解衬以,請(qǐng)求的話又可分為 10 個(gè)小的標(biāo)簽頁(yè)缓艳。并且右鍵點(diǎn)擊這 10 個(gè)標(biāo)簽頁(yè)可以查看 Inspector的屬性還有諸如 copy as image 和隱藏標(biāo)簽頁(yè)的功能
-
:這里是請(qǐng)求頭中的信息,包括 cache看峻,cookies 等信息阶淘,點(diǎn)擊右邊黃色的 Raw 可以以新窗口的形式來顯示原生頭信息,而 Header Definitions 可以查看 fiddler 官方的頭信息的網(wǎng)頁(yè)版幫助文檔备籽,可能需要魔法上網(wǎng)
-
TextView 方式顯示傳送過去的請(qǐng)求體數(shù)據(jù)
-
SyntaxView 方式顯示傳送過去的請(qǐng)求體數(shù)據(jù)
-
網(wǎng)頁(yè)表單方式顯示傳送過去的請(qǐng)求體數(shù)據(jù)
-
十六進(jìn)制視圖的方式顯示傳過去的數(shù)據(jù)
-
顯示請(qǐng)求中的身份認(rèn)證信息
-
顯示該請(qǐng)求的cookies信息
-
顯示該原生的請(qǐng)求體
-
json 顯示請(qǐng)求
-
xml 顯示請(qǐng)求
-
重定向舶治,本機(jī)代替服務(wù)器發(fā)送響應(yīng)
-
-
這個(gè)功能應(yīng)該還是 beta 測(cè)試階段珠闰,暫未開放
-
-
查看 fiddler 的 event log 信息艰额,不同請(qǐng)求的 log 信息應(yīng)該是一致的澄港,每當(dāng)更新一次頁(yè)面椒涯,event log 會(huì)自動(dòng)刷新一次,若將上方的 any process 拖動(dòng)到指定瀏覽器后回梧,fiddler 會(huì)單獨(dú)記錄該瀏覽器頁(yè)面的通信信息
-
這個(gè)可以用來過濾 session 中的請(qǐng)求
-
-
四、Response 欄
這里包含 13 個(gè)小的標(biāo)簽頁(yè)面藏姐,分別是 Transformer隆箩,Header,TextView羔杨,SyntaxView捌臊,ImageView,HexView兜材,WebView理澎,Auth,Caching曙寡,Cookies糠爬,Raw,JSON举庶,XML-
Transformer:這里顯示了響應(yīng)體的字節(jié)數(shù)执隧,這里頭的 Chunked Transfer-Encoding 和 HTTP Compression 是分塊傳輸編碼和 HTTP 壓縮技術(shù),這就需要 http 的知識(shí)了
Headers:這里可以看到響應(yīng)頭部分灯变,包括 http 的協(xié)議殴玛,返回狀態(tài)碼,連接情況等
重定向添祸,本機(jī)代替服務(wù)器發(fā)送響應(yīng)響應(yīng)體信息SyntaxView:這里返回 SyntaxView 形式的響應(yīng)體信息
ImageView:如果是返回圖片的話這里將有顯示滚粟,并且左邊會(huì)顯示圖片的信息
HexView:這里會(huì)顯示響應(yīng)體的十六進(jìn)制信息
WebView:這里會(huì)用網(wǎng)頁(yè)的形式來顯示響應(yīng)體的信息
Auth:顯示身份驗(yàn)證
Caching:顯示緩存信息
Cookies:顯示 Cookies 信息
Raw:顯示原生的響應(yīng)信息
JSON:響應(yīng)體中的數(shù)據(jù) json 顯示
XML:響應(yīng)體中的數(shù)據(jù) XML 顯示