1风瘦、Fiddler簡介
Fiddler是位于客戶端和服務(wù)器端之間的代理火鼻,也是目前最常用的抓包工具之一 棱诱。它能夠記錄客戶端和服務(wù)器之間的所有請求稚字,可以針對特定的請求侦另,分析請求數(shù)據(jù)、設(shè)置斷點(diǎn)、調(diào)試web應(yīng)用褒傅、修改請求的數(shù)據(jù)弃锐,甚至可以修改服務(wù)器返回的數(shù)據(jù),功能非常強(qiáng)大殿托,是web調(diào)試的利器霹菊。
2、功能
1支竹、能夠監(jiān)聽http/httpS的流量旋廷,可以截獲從瀏覽器或者客戶端軟件向服務(wù)器發(fā)送的http/https請求;
2礼搁、對截獲之后的請求饶碘,我們還能夠查看請求中的內(nèi)容;
3馒吴、偽造請求扎运。不僅可以偽造客戶端的請求,還能夠偽造服務(wù)器的響應(yīng)饮戳『乐危——該功能能夠方便我們進(jìn)行前后端的調(diào)式。
4扯罐、測試網(wǎng)站的性能负拟;
5、解密https的外部會(huì)話歹河。因?yàn)閔ttps本身是一種加密的協(xié)議掩浙,通過fiddle我們可以進(jìn)行解密操作;
6秸歧、提供第三方擴(kuò)展插件涣脚,滿足更多需求寥茫。
3、Fiddler工作原理
4芭梯、菜單欄
1、Capture Traffic:可以控制是否把Fiddler注冊為系統(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)入以其他格式存儲的數(shù)據(jù)包。
6侍筛、Export Sessions...:把Fiddler捕捉到的回話以多種文件格式保存撒穷。
7、Exit:取消把Fiddler注冊為系統(tǒng)代理禽笑,并關(guān)閉Fiddler
4.1齐媒、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ù)包。
4.2仿滔、Rules菜單
1犹芹、Hide Image Request:隱藏圖片回話腰埂。
2、Hide CONNECTS:隱藏連接通道回話牺荠。
3驴一、Automatic Breakpoints:自動(dòng)在[請求前]或[響應(yīng)后]設(shè)置斷點(diǎn)。Ignore Image觸發(fā)器控制這些斷點(diǎn)是否作用于圖片請求杈曲。
4胸懈、Customize Rules...:打開Fiddler腳本編輯窗口箫荡。
5、Require Proxy Authentication:洁奈,要求客戶端安裝證書。該規(guī)則可以用于測試HTTP客戶端呈野,確保所有未提交Proxy-Authorization請求頭的請求會(huì)返回HTTP/407響應(yīng)碼印叁。
6、Apply GZIP Encoding:只要請求包含具有g(shù)zip標(biāo)識的Accept-Encoding請求頭昨悼,就會(huì)對所有響應(yīng)使用GZIP HTTP進(jìn)行壓縮(圖片請求除外)跃洛。
7汇竭、Remove All Encoding:刪除所有請求和響應(yīng)的HTTP內(nèi)容編碼和傳輸編碼
8、Hide 304s:隱藏響應(yīng)為HTTP/304 Not Modified狀態(tài)的所有回話两曼。
9玻驻、Request Japanese Content:選項(xiàng)會(huì)把所有請求的Accept-Encoding請求頭設(shè)置或替換為ja標(biāo)識,表示客戶端希望響應(yīng)以日語形式發(fā)送佛析。
10彪蓬、User-Agents:把所有請求的User-Agent請求頭設(shè)置或替換成指定值档冬。
11桃纯、performance:模擬弱網(wǎng)測試速度态坦。
4.3、Tools菜單
1伞梯、Options...:打開Fiddler選項(xiàng)窗口。
2漾峡、WinINET Options...打開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窗口狮鸭,對文本進(jìn)行編碼和解碼。
6灾部、Compare Session:比較回話惯退。
7、Reset Script:重置Fiddler腳本锁蠕。
8荣倾、Sandbox:打開http://webdbg.com/sandbox/
9骑丸、View IE Cache:打開IE緩存窗口。
?4.4铸豁、View菜單
1菊碟、Show Toolbar:控制Fiddler工具欄是否可見逆害。
2增炭、DefaultLayout隙姿、Stacked Layout厂捞、Wide Layout三種界面布局。
3欲鹏、Minimize to Tray:最小化Fiddler到系統(tǒng)托盤(快捷鍵:CTRL+M)臭墨。
4胧弛、Squish SessionList:控制回話列表是否水平收縮。
5损晤、AutoScroll Sessionlist:添加新的回話時(shí)红竭,自動(dòng)滾動(dòng)到回話列表底部茵宪。
5、工具欄
1.備注功能
2.重新發(fā)送請求暖哨,快捷鍵:R鍵憾股。
3.刪除請求
4.當(dāng)有請求前斷點(diǎn)時(shí)服球,點(diǎn)擊去發(fā)送請求颠焦。
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ī)的信息
6去件、會(huì)話列表
1.請求的ID編號
2.http響應(yīng)狀態(tài)碼
3.會(huì)話使用的協(xié)議
4.請求發(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ā)起請求的本地windows進(jìn)程
10.注釋
11.自定義備注
7、功能頁簽
7.1 Statistics頁簽
通過該頁簽丈攒,用戶可以通過選擇多個(gè)會(huì)話來得到這幾個(gè)會(huì)話的總的信息統(tǒng)計(jì)授霸,比如多個(gè)請求傳輸?shù)淖止?jié)數(shù)碘耳。訪問頁面時(shí)選擇第一個(gè)請求和最后一個(gè)請求,可獲得整個(gè)頁面加載所消耗的總體時(shí)間敷硅。從條形圖表中還可以分別出哪些請求耗時(shí)最多愉阎,從而對頁面的訪問進(jìn)行速度性能優(yōu)化榜旦。
7.2 inspectors頁簽(常用頁簽)
它提供headers、textview澡屡、hexview,Raw等多種方式查看一條http請求的請求和響應(yīng)咐旧,它分為上下兩部分:上部分為請求展示铣墨,下部分為響應(yīng)展示。
7.3 AutoResponse頁簽(常用頁簽)
它可以抓取在線頁面保存到本地進(jìn)行調(diào)試姚淆,大大減少了在線調(diào)試的困難腌逢,可以讓我們修改服務(wù)器端返回的數(shù)據(jù),例如讓返回都是404的數(shù)據(jù)包讀取本地文件作為返回內(nèi)容骤肛。
7.4 composer頁簽常用頁簽)
支持手動(dòng)構(gòu)建和發(fā)送HTTP窍蓝,HTTPS和FTP請求吓笙,我們還可以從回話列表中拖曳回話,把它放到composer選項(xiàng)卡中絮蒿,當(dāng)我們點(diǎn)擊Execute按鈕時(shí)則把請求發(fā)送到服務(wù)器端叁鉴。
7.5 FiddlerScripts頁簽
打開Fiddler腳本編輯幌墓。
log頁簽:
打印日志
7.6 Filters頁簽(常用頁簽)
過濾器可以對左側(cè)的數(shù)據(jù)流列表進(jìn)行過濾,我們可以標(biāo)記蜡饵、修改或隱藏某些特征的數(shù)據(jù)流胳施。
7.7 Timeline頁簽
時(shí)間軸舞肆,也稱為Fiddler的瀑布圖,展示網(wǎng)絡(luò)請求時(shí)間的功能筷登。每個(gè)網(wǎng)絡(luò)請求都會(huì)經(jīng)歷域名解析仆抵、建立連接种冬、發(fā)送請求、接受數(shù)據(jù)等階段莺匠。把多個(gè)請求以時(shí)間作為X軸趣竣,用圖表的形式展現(xiàn)出來旱物,就形成了瀑布圖宵呛。在左側(cè)會(huì)話窗口點(diǎn)擊一個(gè)或多個(gè)回話,Timeline 便會(huì)顯示指定內(nèi)容從服務(wù)端傳輸?shù)娇蛻舳说臅r(shí)間户秤。
7.8 命令行
help? ? 打開官方的使用頁面介紹逮矛,所有的命令都會(huì)列出來须鼎。
cls? ? ? 清屏 (Ctrl+x 也可以清屏)
select? ? 選擇所有相應(yīng)類型的回話(如select image或select css)。
?sometext 查找字符串并高亮顯示查找到的會(huì)話挑围。
8杉辙、狀態(tài)欄
1蜘矢、顯示的Fiddler是否處于捕捉狀態(tài)(開啟/關(guān)閉狀態(tài)),可以點(diǎn)擊該區(qū)域切換
2综看、顯示當(dāng)前捕捉哪些進(jìn)程红碑。
All Processes 捕獲所有進(jìn)程的請求
Web Browsers? 捕獲 Web 瀏覽器的請求泡垃,應(yīng)該特指 IE
Non-Browser? 捕獲非 Web 瀏覽器的請求
Hide All? ? ? 隱藏所有請求
3蔑穴、顯示當(dāng)前斷點(diǎn)設(shè)置狀態(tài)惧浴,通過鼠標(biāo)點(diǎn)擊切換衷旅。有三種:
不設(shè)置斷點(diǎn)
所有請求在斷點(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)信息七芭。
9限匣、web抓包
雙擊打開軟件米死,進(jìn)入界面贮庞,然后點(diǎn)擊某一個(gè)請求窗慎,你會(huì)發(fā)現(xiàn)請求的內(nèi)容是一堆明顯不對的文字,然后該請求的左邊是一個(gè)鎖的樣式峦失,聯(lián)想到https加密尉辑,你會(huì)發(fā)現(xiàn)原因可能是沒有配置Fiddler较屿。然后解釋一下右邊的默認(rèn)返回內(nèi)容隘蝎,第一句是“這是一個(gè)CONNECT隧道嘱么,加密的HTTPS流量通過該隧道流動(dòng)』源ǎ”乓旗,就證實(shí)了我們的猜測集索,果然是因?yàn)閔ttps加密的原因。
那么如何配置FIddler來解析這些加密的請求呢穷遂?
方法一:是查官網(wǎng)的安裝文檔娱据,
方法二:看提示中剩,軟件公司還是很人性化的在返回內(nèi)容里面提示了需要在哪里設(shè)置结啼,就是第二行那一句:enable the Tools > Options > HTTPS > Decrypt HTTPS traffic option.
我們按照提示來進(jìn)行設(shè)置,先在左上角的工具欄里面找到Tools朴译,然后依次選擇Options眠寿、HTTPS 焦蘑,然后勾選Decrypt HTTPS traffic選項(xiàng)喇肋,勾選后安裝證書。
安裝證書兩種方法:
勾選后點(diǎn)擊右邊的Actions按鈕選擇“Trust Root Certificate”選項(xiàng),然后全部選擇是就行了殷费。
勾選后點(diǎn)擊右邊的Actions按鈕選擇第二個(gè)選項(xiàng)將證書導(dǎo)出到桌面详羡,然后再在對應(yīng)的瀏覽器里面添加即可嘿悬。
然后我們再打開一個(gè)新的網(wǎng)頁(例如百度)善涨,查看請求
至此草则,已經(jīng)可以監(jiān)聽PC端瀏覽器的請求了。
10蟹漓、移動(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卿嘲,再次打開時(shí)會(huì)彈出一個(gè)信息,選擇ok即可轮纫。
打開你的手機(jī)焚鲜,找到你所連接的WIFI掌唾,長按選擇修改網(wǎng)絡(luò),輸入密碼后往下拖動(dòng)忿磅,然后勾選顯示高級選項(xiàng)糯彬,然后在代理一欄選擇手動(dòng),再將你先前查看的IP地址和端口號輸入進(jìn)去葱她,然后保存撩扒。
最后安裝手機(jī)證書,在手機(jī)瀏覽器一欄輸入電腦的IP地址和端口號
進(jìn)入一個(gè)網(wǎng)頁吨些,點(diǎn)擊最下面那個(gè)FiddlerRoot certificate下載證書搓谆,下載成功后在設(shè)置里面安裝,安裝步驟:打開高級設(shè)置->安全->從SD卡安裝證書->找到證書文件->點(diǎn)擊后為證書命名點(diǎn)擊確定即可安裝成功