一受葛、Fiddler簡(jiǎn)介
1. 簡(jiǎn)介
Fiddler是位于客戶端和服務(wù)器端之間的代理贱田,也是目前最常用的抓包工具之一 忌栅。它能夠記錄客戶端和服務(wù)器之間的所有請(qǐng)求沸手,可以針對(duì)特定的請(qǐng)求锄贼,分析請(qǐng)求數(shù)據(jù)票灰、設(shè)置斷點(diǎn)、調(diào)試web應(yīng)用、修改請(qǐng)求的數(shù)據(jù)屑迂,甚至可以修改服務(wù)器返回的數(shù)據(jù)浸策,功能非常強(qiáng)大,是web調(diào)試的利器惹盼。
2. 功能
1庸汗、能夠監(jiān)聽(tīng)http/httpS的流量,可以截獲從瀏覽器或者客戶端軟件向服務(wù)器發(fā)送的http/https請(qǐng)求手报;
2夫晌、對(duì)截獲之后的請(qǐng)求,我們還能夠查看請(qǐng)求中的內(nèi)容昧诱;
3晓淀、偽造請(qǐng)求。不僅可以偽造客戶端的請(qǐng)求盏档,還能夠偽造服務(wù)器的響應(yīng)凶掰。——該功能能夠方便我們進(jìn)行前后端的調(diào)式蜈亩。
4懦窘、測(cè)試網(wǎng)站的性能;
5稚配、解密https的外部會(huì)話畅涂。因?yàn)閔ttps本身是一種加密的協(xié)議,通過(guò)fiddle我們可以進(jìn)行解密操作道川;
6午衰、提供第三方擴(kuò)展插件,滿足更多需求冒萄。
3. Fiddler工作原理
二臊岸、Fiddler下載安裝
- 下載:打開(kāi)官網(wǎng)
- 安裝:
- 漢化:
三、Fiddler界面介紹
Fiddler界面從上到下分為:菜單欄尊流、工具欄帅戒、回話列表、功能頁(yè)簽崖技、命令行逻住,狀態(tài)欄六大板塊
file capturing = F12 = 左下角capturing
四、 菜單欄
1. File菜單
1迎献、Capture Traffic:可以控制是否把Fiddler注冊(cè)為系統(tǒng)代理瞎访。
2、New Viewer:打開(kāi)一個(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
2. Edit菜單
1选浑、Copy:復(fù)制會(huì)話。
2玄叠、Remove:刪除會(huì)話古徒。
3、Select All:選擇所有會(huì)話。
4、Undelete:撤銷(xiāo)刪除會(huì)話需曾。
5、Paste as Session把剪貼板上的內(nèi)容粘貼成一個(gè)或多個(gè)模擬的會(huì)話疹吃。
6、Mark:選擇一種顏色標(biāo)記選中會(huì)話西雀。
7萨驶、Unlock for Editing 解鎖會(huì)話。
8艇肴、Find Session...打開(kāi)Find Session窗口腔呜,搜索捕獲到的數(shù)據(jù)包。
3. 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...:打開(kāi)Fiddler腳本編輯窗口泳炉。
5憾筏、Require Proxy Authentication:,要求客戶端安裝證書(shū)花鹅。該規(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è)試速度。
4. Tools菜單
1遭铺、Options...:打開(kāi)Fiddler選項(xiàng)窗口丽柿。
2、WinINET Options...打開(kāi)IE的Internet屬性窗口
3掂僵、Clear WinINET Cache:清空IE和其他應(yīng)用中所使用的WinINET緩存中的所有文件航厚。
4、Clear WinINET Cookies:清空IE和其他應(yīng)用中所發(fā)送的WinINET Cookie
5锰蓬、TextWizard...:選項(xiàng)會(huì)啟動(dòng)TextWizard窗口幔睬,對(duì)文本進(jìn)行編碼和解碼。
6芹扭、Compare Session:比較回話麻顶。
7、Reset Script:重置Fiddler腳本舱卡。
8辅肾、Sandbox:打開(kāi)http://webdbg.com/sandbox/
9、View IE Cache:打開(kāi)IE緩存窗口轮锥。
5. View菜單
1矫钓、Show Toolbar:控制Fiddler工具欄是否可見(jiàn)
2、Default Layout舍杜、Stacked Layout新娜、Wide Layout三種界面布局
3、Minimize to Tray:最小化Fiddler到系統(tǒng)托盤(pán)(快捷鍵:CTRL+M )
4既绩、Squish Session List:控制回話列表是否水平收縮概龄。
5、AutoScroll Session list:添加新的回話時(shí)饲握,自動(dòng)滾動(dòng)到回話列表底部
五私杜、工具欄
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)聽(tīng)的程序
9.查找
10.保存所有會(huì)話嫉晶,文件名以.saz為擴(kuò)展名
11.截圖
12.計(jì)時(shí)器
13.快捷的打開(kāi)IE瀏覽器
14.清除IE緩存
15.文本的編碼解碼工具
16.分離面板
17.MSDN查詢
18.本機(jī)的信息
六、會(huì)話列表
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.自定義備注
七替废、功能頁(yè)簽
1. Statistics頁(yè)簽
通過(guò)該頁(yè)簽,用戶可以通過(guò)選擇多個(gè)會(huì)話來(lái)得到這幾個(gè)會(huì)話的總的信息統(tǒng)計(jì)泊柬,比如多個(gè)請(qǐng)求傳輸?shù)淖止?jié)數(shù)椎镣。訪問(wèn)頁(yè)面時(shí)選擇第一個(gè)請(qǐng)求和最后一個(gè)請(qǐng)求,可獲得整個(gè)頁(yè)面加載所消耗的總體時(shí)間兽赁。從條形圖表中還可以分別出哪些請(qǐng)求耗時(shí)最多状答,從而對(duì)頁(yè)面的訪問(wèn)進(jìn)行速度性能優(yōu)化。
2. inspectors頁(yè)簽(常用頁(yè)簽)
它提供headers刀崖、textview惊科、hexview,Raw等多種方式查看一條http請(qǐng)求的請(qǐng)求和響應(yīng),它分為上下兩部分:上部分為請(qǐng)求展示亮钦,下部分為響應(yīng)展示馆截。
3. AutoResponse頁(yè)簽(常用頁(yè)簽)
它可以抓取在線頁(yè)面保存到本地進(jìn)行調(diào)試,大大減少了在線調(diào)試的困難蜂莉,可以讓我們修改服務(wù)器端返回的數(shù)據(jù)蜡娶,例如讓返回都是404的數(shù)據(jù)包讀取本地文件作為返回內(nèi)容。
4. 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ù)器端宿接。
5. FiddlerScripts頁(yè)簽
打開(kāi)Fiddler腳本編輯。
log頁(yè)簽:
打印日志
6. Filters頁(yè)簽(常用頁(yè)簽)
過(guò)濾器可以對(duì)左側(cè)的數(shù)據(jù)流列表進(jìn)行過(guò)濾辕录,我們可以標(biāo)記澄阳、修改或隱藏某些特征的數(shù)據(jù)流。
7. Timeline頁(yè)簽
時(shí)間軸踏拜,也稱(chēng)為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í)間。
8. 命令行
help 打開(kāi)官方的使用頁(yè)面介紹涧黄,所有的命令都會(huì)列出來(lái)篮昧。
cls 清屏 (Ctrl+x 也可以清屏)
select 選擇所有相應(yīng)類(lèi)型的回話(如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類(lèi)似月帝。
八躏惋、狀態(tài)欄
1、顯示的Fiddler是否處于捕捉狀態(tài)(開(kā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)款熬,通過(guò)鼠標(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)。
如果是剛打開(kāi)Fiddler爽雄,會(huì)顯示什么時(shí)間加載了CustomRules.js蝠检;如果選擇了一個(gè)會(huì)話,會(huì)顯示該會(huì)話的URL挚瘟;如果在命令行輸入一個(gè)命令叹谁,就會(huì)顯示命令相關(guān)信息饲梭。
九、web抓包
我們雙擊打開(kāi)軟件焰檩,進(jìn)入到如下的一個(gè)界面憔涉,然后點(diǎn)擊某一個(gè)請(qǐng)求,你會(huì)發(fā)現(xiàn)請(qǐng)求的內(nèi)容是一堆明顯不對(duì)的文字析苫,然后該請(qǐng)求的左邊是一個(gè)鎖的樣式兜叨,聯(lián)想到https加密,你會(huì)發(fā)現(xiàn)原因可能是沒(méi)有配置Fiddler衩侥。然后解釋一下右邊的默認(rèn)返回內(nèi)容国旷,第一句是“這是一個(gè)CONNECT隧道,加密的HTTPS流量通過(guò)該隧道流動(dòng)顿乒∫榻郑”,就證實(shí)了我們的猜測(cè)璧榄,果然是因?yàn)閔ttps加密的原因特漩。
那么如何配置FIddler來(lái)解析這些加密的請(qǐng)求呢?
方法一:是查官網(wǎng)的安裝文檔骨杂,
方法二:看提示涂身,軟件公司還是很人性化的在返回內(nèi)容里面提示了需要在哪里設(shè)置,就是第二行那一句:enable the Tools > Options > HTTPS > Decrypt HTTPS traffic option.
我們按照提示來(lái)進(jìn)行設(shè)置搓蚪,先在左上角的工具欄里面找到Tools蛤售,然后依次選擇Options、HTTPS 妒潭,然后勾選Decrypt HTTPS traffic選項(xiàng)悴能,勾選后安裝證書(shū)。
安裝證書(shū)兩種方法:
勾選后點(diǎn)擊右邊的Actions按鈕選擇“Trust Root Certificate”選項(xiàng)雳灾,然后全部選擇是就行了漠酿。
勾選后點(diǎn)擊右邊的Actions按鈕選擇第二個(gè)選項(xiàng)將證書(shū)導(dǎo)出到桌面,然后再在對(duì)應(yīng)的瀏覽器里面添加即可谎亩。
然后我們?cè)俅蜷_(kāi)一個(gè)新的網(wǎng)頁(yè)(例如百度)炒嘲,查看請(qǐng)求
至此,已經(jīng)可以監(jiān)聽(tīng)PC端瀏覽器的請(qǐng)求了匈庭。
十夫凸、移動(dòng)端抓包
首先你的Fiddler所在的電腦和手機(jī)必須處在同一個(gè)局域網(wǎng)內(nèi)(即連著同一個(gè)路由器)。
查看你的本機(jī)IP地址阱持,在Fiddler的右上角有一個(gè)Online按鈕夭拌,點(diǎn)擊一下會(huì)顯示你的IP信息
配置連接信息:Tools > Options >Connections
端口默認(rèn)是8888,你可以進(jìn)行修改。
-
勾選Allow remote computers to connect選項(xiàng)啼止,然后重啟Fiddler道逗,再次打開(kāi)時(shí)會(huì)彈出一個(gè)信息,選擇ok即可献烦。
image打開(kāi)你的手機(jī),找到你所連接的WIFI卖词,長(zhǎng)按選擇修改網(wǎng)絡(luò)巩那,輸入密碼后往下拖動(dòng),然后勾選顯示高級(jí)選項(xiàng)此蜈,然后在代理一欄選擇手動(dòng)即横,再將你先前查看的IP地址和端口號(hào)輸入進(jìn)去,然后保存裆赵。
image最后安裝手機(jī)證書(shū)东囚,在手機(jī)瀏覽器一欄輸入電腦的IP地址和端口號(hào)
這里我是192.168.1.157:8888進(jìn)入一個(gè)網(wǎng)頁(yè),點(diǎn)擊最下面那個(gè)FiddlerRoot certificate下載證書(shū)战授,下載成功后在設(shè)置里面安裝页藻,安裝步驟:打開(kāi)高級(jí)設(shè)置->安全->從SD卡安裝證書(shū)->找到證書(shū)文件->點(diǎn)擊后為證書(shū)命名點(diǎn)擊確定即可安裝成功
測(cè)試一下,比如在手機(jī)上打開(kāi)抖音app植兰,找到評(píng)論的那一個(gè)請(qǐng)求份帐。image可以看到我們已經(jīng)成功的找到了評(píng)論所對(duì)應(yīng)的那個(gè)請(qǐng)求