本文初衷
- 整理對 Fiddler 工具的知識積累
- 分享給更多需要使用抓包工具的人
Fiddler 介紹
它是什么
- 術(shù)語定義
- 官網(wǎng)定義:http://www.telerik.com/fiddler
- 百度百科定義:http://baike.baidu.com/item/Fiddler
- 維基百科定義:https://en.wikipedia.org/wiki/Fiddler_%28software%29
- 簡單地講就是一個抓包工具,或者是叫做網(wǎng)絡(luò)嗅探器,把網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)抓取下來進(jìn)行分析、Debug
- 它可以對常用的瀏覽器:IE、Chrome、Firefox、Safari 等進(jìn)行抓包,支持 HTTP、HTTPS
- 支持代理,可以通過它,在同一個局域網(wǎng)中抓取 APP 的網(wǎng)絡(luò)請求,然后進(jìn)行分析
- 一般我們用來做測試
- 支持插件擴(kuò)展
- 其本質(zhì):
-
Fiddler 抓包原理
- 別人這樣說:
Fiddler是位于客戶端和服務(wù)器端的HTTP代理,也是目前最常用的http抓包工具之一 。它能夠記錄客戶端和服務(wù)器之間的所有HTTP請求,可以針對特定的HTTP請求,分析請求數(shù)據(jù)、設(shè)置斷點(diǎn)、調(diào)試web應(yīng)用、修改請求的數(shù)據(jù),甚至可以修改服務(wù)器返回的數(shù)據(jù),功能非常強(qiáng)大,是web調(diào)試的利器。
- > 來源:http://blog.csdn.net/ohmygirl/article/details/17846199
- 官網(wǎng)資料:
- Windows 版本需要 .NetFrameWork 環(huán)境
- 官網(wǎng)下載(Windows-大小 1M):https://www.telerik.com/download/fiddler
- 官網(wǎng)下載(Linux-大小 1M):http://fiddler.wikidot.com/mono
- 插件官網(wǎng):http://www.telerik.com/fiddler/add-ons
- 官網(wǎng)文檔:http://docs.telerik.com/fiddler/configure-fiddler/tasks/configurefiddler
- 官網(wǎng)博客:http://www.telerik.com/blogs/tag/fiddler
- 它的歷史
- 同類技術(shù):
- Wireshark(強(qiáng)大)、httpwatch(瀏覽器擴(kuò)展)、firebug(瀏覽器擴(kuò)展)、Chrome 開發(fā)者模式
- 學(xué)習(xí)前提/依賴
- 略懂 HTTP 相關(guān)知識,比如 GET POST PUT 等這類 request method,Content-type 等這種 request header
- 如果你沒有相關(guān)知識,可以看下面視頻教程:
哪些人不喜歡它
- 非 Web 端開發(fā)人員
為什么學(xué)習(xí)它
- 因?yàn)殚_發(fā)中需要測試,需要了解整個 Web 應(yīng)用的具體細(xì)節(jié),了解細(xì)節(jié)后可以盡可量防止漏洞,可以對細(xì)節(jié)做性能測試
- 不管是 Web 開發(fā)的前端還是后端,都需要,或者是說只要開發(fā)中含有 HTTP 請求的都需要抓包工具
積累
我要怎么做
- 看教程
- 極客學(xué)院教程:http://search.jikexueyuan.com/course/?q=Fiddler
- 2014 年出版過一本書:Fiddler調(diào)試權(quán)威指南
- 【HTTP】Fiddler(一) - Fiddler簡介
- 【HTTP】Fiddler(二) - 使用Fiddler做抓包分析
- 【HTTP】Fiddler(三)- Fiddler命令行和HTTP斷點(diǎn)調(diào)試
- 使用前端開發(fā)利器Fiddler調(diào)試手機(jī)程序
- Web工作方式
- 神器——Chrome開發(fā)者工具(一)
- Fiddler In Action - Part 1
- Fiddler In Action - Part 2
- Fiddler實(shí)用教程
- Fiddler實(shí)戰(zhàn)
- 使用Fiddler自定義百度云分享提取碼
- 貓哥網(wǎng)絡(luò)編程系列:HTTP PEM 萬能調(diào)試法
- App測試->抓取手機(jī)網(wǎng)絡(luò)請求
- 抓包與安全
- Web開發(fā)利器-Fiddler簡介
- Fiddler 擴(kuò)展使用
細(xì)節(jié)積累
- Fiddler 的界面介紹,如下圖(圖片來源)
- Fiddler 的界面介紹
- Fiddler 工具欄介紹,如下圖
- Fiddler 的界面介紹
- Fiddler 自定義顯示列信息,如下圖
- Fiddler 的界面介紹
- Fiddler 選中會話后的常用右鍵菜單,如下圖
- Fiddler 的界面介紹
- Fiddler 的界面介紹
- Fiddler 的界面介紹
- 按 Ctrl + A 全選所有會話,右邊可以查看所有請求的一個總的情況
- Fiddler 的界面介紹
- 修改某個請求數(shù)據(jù),進(jìn)行模擬
- Fiddler 的界面介紹
- 開啟 HTTPS 捕獲,默認(rèn)是沒有開啟的
- Fiddler 的界面介紹
- 使用 AutoResponder,這是前端開發(fā)必備技能
- AutoResponder 作用:可用于截?cái)r某一請求,并重定向到本地資源,或者使用 Fiddler 內(nèi)置響應(yīng)。
- 使用場景:比如線上服務(wù)器的某個 JavaScript / Images 有問題,正常修改此 Bug 的流程應(yīng)該是這樣的:本地修改后提交到服務(wù)器預(yù)覽修改后效果,但是作為前端開發(fā)者其實(shí)很多時候是不具備使用服務(wù)器的權(quán)限的。這時候 AutoResponder 就起作用了,在頁面加載的時候,我們讓服務(wù)器不加載服務(wù)器的那個 JavaScript 請求,而是使用本地的那個 JavaScript 文件。
- 但是使用該場景需要有一個特別注意的:在使用規(guī)則之后,重新刷新網(wǎng)頁的時候最好是先清除下瀏覽器緩存,省得有意外,浪費(fèi)你時間。
- 下圖演示的是我把博客的頭像換成一張橘黃色的圖片
- Fiddler 的界面介紹
- Fiddler 的命令行工具中常用命令:
- 官網(wǎng)對這些命令的整理:http://docs.telerik.com/fiddler/knowledgebase/quickexec
-
?cc=
,用來匹配請求地址中含有 ?cc 的請求 -
> 5000 或 < 5000
,找響應(yīng)大小大于 5000 字節(jié),或小于 5000 字節(jié)的請求 - 關(guān)于 Debug 命令:
- 開啟中斷請求命令
-
bpafter beautiful
,中斷 URL 包含 beautiful 字符的全部會話 -
bpu beautiful
,中斷 URL 包含 beautiful 字符的全部會話 -
bps 404
,中斷 HTTP 響應(yīng)狀態(tài)為 404 的全部會話 -
bpm GET 或者 bpv GET
,中斷 GET 請求方式的全部會話
-
- 取消中斷請求命令
- 使用同樣的開啟命令,但是不帶參數(shù)即可取消,比如我們使用了
bpu code.youmeek.com
中斷,我們要取消這個中斷,則使用:bpu
即可
- 使用同樣的開啟命令,但是不帶參數(shù)即可取消,比如我們使用了
- 開啟中斷請求命令
結(jié)束語
- 更多的細(xì)節(jié)還需要你自己繼續(xù)去摸索