初識Fiddler
fiddler,譯為騙子
是位於客戶端、服務器端的HTTP代理,是Web調試的利器。
是c#編寫的程序

Fiddler主要功能:
- 監控http、https流量
- 查看、分析請求內容細節
- 偽造客戶端請求和服務器響應
- 簡單測試網站的性能
- 解密https的web會話
- 全局、局部斷點功能
- 可使用第三方插件
Fiddler使用場景:
- 接口調試
- 接口測試
- 線上環境調試
- web性能分析
- 判斷前后端bug
- 開發環境hosts配置
- mock
- 弱網、斷網測試
要使用好Fiddler,需要熟悉http協議相關知識,Fiddler與http是相輔相成的關系。
BS架構

HTTP協議
請求報文
請求行
請求方法
統一資源定位符url,用於描述網上的資源
http協議版本,一般是1.1
請求頭
可以是任意內容,又開發自定義,了解常見的請求頭
空一行
請求體
不一定會有,get請求是沒有請求體
響應報文
響應行
響應頭
可由開發自定義
空一行
響應體
文本、xml、html

fiddler菜單欄
File
導入導出會話
Edit
編輯
Rules
過濾會話
Tools
View
視圖
Help
幫助
fiddler工具條

備注
重放replay
r
shift+r
刪除會話
delete
移除請求
ctrl+x
go 斷點
讓請求在某個地方停下來
全局斷點
請求前斷點,在發送到服務器前暫停
流模式
相對於緩沖模式而言,緩沖模式是全部數據回來后,fiddler再返回給客戶端,流模式是回來多少返回多少
默認是緩沖模式
解碼decode
對所有請求解碼
保持會話數量 keep session
會話是會占用內存
選擇監聽程序 any process
選擇監聽應用
查找 find
ctrl+f
如快速查找會話中出現的字段,快速定位請求
保存 save
保存所有會話
截圖
計時器
browse
快捷打開瀏覽器
清除緩存 clear cache
文本編碼、解碼 textwizard
tearoff
分離面板
MSDN
微軟開發者網站搜索
online
展示本機的一些信息
fiddler會話列表(監控面版)
展示http的每一條會話
result,響應狀態碼
protocal
host
url
body,請求體大小
caching
content-type
process,進程
comments
custom
添加列
如fiddler添加ip列
修改配置文件,之后重啟
排序
fiddler命令行、狀態欄
quickexec
通過命令實現一些功能
如bpu
輸入help,可以跳轉:https://docs.telerik.com/fiddler/knowledgebase/quickexec

快速停止捕獲
快速選擇進程
快速斷點
fiddler輔助標簽、工具
統計性能信息 statistics
前端人員可以看這些數據分析

檢查器 inspectors
以不同形式展示請求報文、響應報文,分類展示請求報文、響應報文
自動響應器 autoresponder

選中或者直接拖動
可用於攔截某一請求,進行如下操作:
-
重定向到本地資源

-
使用fiddler內置響應

-
自定義響應

如生產環境除了問題,不能夠直接在生產環境進行調試,重定向到本地
進行釣魚操作
可以做mock,如測試的接口還沒有完全開發好,可以模擬返回響應

可以進行極端測試,如查詢接口沒有數據返回,看頁面怎么展示,或者返回大量數據
可以做接口調試
composer 設計請求報文

抓包后,直接拖動過來
可以用來發包,如可以繞過前端控制測試后端接口,如前端控制手機號碼不能輸入格式不對的號碼,直接修改請求報文發包測試,看后端是不是校驗了

log
日志
過濾器 fiters
多維度組合過濾,過濾出我想要的內容

-
hosts主機的過濾
如指定抓取網站

-
client process過濾 客戶端進程、
-
request headers過濾
-
breakpoint過濾
-
根據響應碼過濾

-
根據響應報文內容的類型、大小過濾
-
根據響應報文頭進行過濾
斷點
全局斷點
對所有的請求都有用
請求前斷點,修改請求報文后發給服務器
響應后斷點,修改響應報文后返回給客戶端。可以不用修改數據庫的中的數據,做一些極端測試,如數據庫有數據,你先模擬返回沒有一條數據。可以模擬網絡中斷的情形,測試客戶端的超時機制

局部斷點
通過命令實現
bpu 請求前斷點

bpafter 響應后斷點

弱網測試

可以在配置文件中修改時間,修改后重啟fiddler,再啟用弱網

https抓包
安裝證書







這是提示了自動響應設置沒有設置好

重啟瀏覽器
chrome、ie是讀取系統代理
firefox瀏覽器
firefox瀏覽器是自己管理代理,需要人工設置

firefox瀏覽器手工導入證書,才能抓取https的包

導入證書,之后重啟瀏覽器

app抓包
抓取ios設備app的包


手機抓取http包,需要安裝證書。但是即使按照了證書,不一定能抓到包,因為手機系統和app的各種限制,可能也抓不到包。
抓取android設備app的包

手機抓取http包,需要安裝證書。但是即使按照了證書,不一定能抓到包,因為手機系統和app的各種限制,可能也抓不到包。
fiddler插件
willow插件
以項目方式管理host規則
練習環境:http://test.lemonban.com/ningmengban/app/login/login.html
