# **Fiddler簡介**
**今日內容概要**
1.?Fiddler?工作原理分析(應知)
2.?Fiddler的先關設置(應會)
3.?Fiddler的使用(應會)
1.Fiddler 工作原理分析(應知)
1.1 Fiddler是位于客戶端和服務器端之間的HTTP代理, 它能夠記錄客戶端和服務器之間的所有 HTTP(S)請求,可以針對特定的HTTP(S)請求,分析網絡傳輸的數據,還可以設置斷點、修改請求的數據和服務器返回的數據。
Fiddler在瀏覽器與服務器之間建立一個代理服務器,Fiddler工作于七層中的應用層,能夠捕獲通過的HTTP(S)請求。Fiddler啟動后會自動將代理服務器設置成本機,默認端口為8888。Fiddler不僅能記錄PC上瀏覽器的網絡請求數據,還可以記錄同一網絡中的其他設備的HTTP(S)請求數據。數據傳遞流程大致如下:

1.2Fiddler 是以代理web服務器的形式工作的,它使用代理地址:127.0.0.1,端口:8888。當Fiddler退出的時候它會自動注銷,這樣就不會影響別的程序。不過如果Fiddler非正常退出,這時候因為Fiddler沒有自動注銷,會造成網頁無法訪問。解決的辦法是重新啟動下Fiddler。同類工具還有MiniSniffer,?Wireshark, Firebug, HttpWatch等
2.Fiddler的使用(應會)

2.1 下載完成后安裝,選中checkbox, 彈出如下的對話框,點擊"YES"


2.2 設置代理和端口號安裝完成后打開 如下圖設置Fiddler代理:


2.3默認下,Fiddler不會捕獲HTTPS會話,需要你設置下, 打開Fiddler ?Tool->Fiddler Options->HTTPS tab

2.4抓取模式設置
from all processes : 抓取所有的 https 程序, 包括 本機 和 手機
from browsers only : 只抓取瀏覽器中的 https 請求
from non-browsers only : 只抓取除了瀏覽器之外的所有 https 請求
from remote clients only : 抓取遠程的客戶端的 https ,可以代表手機
開啟手機 Https 抓包
如果只想抓取 手機上的所有 https 請求,就應該選中 from remote clients only 。

2.5 pc瀏覽器設置
?在瀏覽器的最右側,點擊 三個點 圖標,然后點擊設置




2.6手機端配置
?獲取PC端IP地址

?安卓手機設置代理
?打開手機【設置】開啟【wlan】-->連接路由器的wifi網絡-->長按該wifi名稱-->勾選【顯示高級設置】,代理設置選擇【手動】-->服務器處輸入電腦ip,輸入端口-->端口為:8888
?連接后,fiddler就會顯示手機上的相關瀏覽信息了
?不同型號手機代理設置可能不太相同,基本都在設置中可找到(如魅族:長按wifi名稱-->代理設置,進行連接設置;華為:長按wifi名稱-->名稱-->修改網絡-->輸入wifi密碼,代理選擇手動,輸入服務器ip和端口號,點擊連接即可)
?2.ios手機設置代理
?打開手機【設置】,無線局域網-->連接路由器的wifi網絡-->點擊網絡名稱-->HTTP代理,選擇手動,服務器處輸入電腦ip,輸入端口后,fiddler連接成功
3.Fiddler的使用(應會)
3.1看看Fiddler的基本界面

3.2工具欄快捷按鈕介紹

?氣泡圖標:增加備注
?點擊一條會話,點擊此按鈕(或者右鍵Comment),彈出增加備注彈窗,點擊OK后,備注就顯示在Comment下
?2.Replay:回放按鈕,對捕捉到的某條會話進行回放操作
?點擊一條會話,點擊Replay按鈕(或者右鍵Replay),會話重新回放
?3.X:清空監控面板
?Remove all:清空所有
?Images:過濾圖片請求
?Non-200s:過濾非200的請求
?Non-Browser:過濾非瀏覽器的請求
?Go:相當于調試Debug功能,請求斷點的時候,讓斷點繼續向下走
?結合狀態欄使用,點擊底部狀態欄,箭頭朝上是請求發出時產生斷點,箭頭朝下是請求回來時產生斷點
?設置斷點后,選中某條會話à使用Replay按鈕,請求發送不出去,然后點擊Go,請求成功
?點擊Find,Find Sessions彈窗-->Find 輸入想要查找的Host名稱,下面選擇某種標示顏色-->點擊Find Sessionsàfiddler頁面中即標示查找的會話請求
?Save:保存,便于清空會話后可從保存的文件中查看
?Save把當前會話保存到一個地方-->清空所有會話-->左上角工具欄 點擊File-->Recent Archives-->選擇最近的文件,fiddler中即可顯示之前所有會話
?保存截圖
?保存后在fiddler底部出現一條圖片會話,點擊后右側出現圖片,可進行保存到桌面的操作
?計時器
?Browse:快速啟動瀏覽器
?選中一條會話,可以快速啟動已安裝的瀏覽器
?Clear Cache:清除IE瀏覽器緩存
?TextWizard:編碼/解碼文本內容
?復制內容-->點擊TextWizardàURLDeco
?底部命令行工具

?Capturing,控制捕獲會話的快捷開關;
?第二個是選擇當前需要捕獲的會話的來源程序,所有程序、瀏覽器、非瀏覽器、都不捕獲選項。
?第三個是會話request發送前的斷點和response返回后且到瀏覽器前的斷點,分別對應點一次,點兩次該按鈕(默認是空白即不設斷點)
3.3如何開啟/關閉 抓本機的包
?如果需要抓取本機請求,有 3 中方式
?方式 1
?只需要啟動程序并確保左下角為 Capturing狀態 即可

?方式 2
?按快捷鍵 F12 進行切換
?方式 3
?File --> Capture Traffic 勾選。

?擴展:
?注意這個很有用,可以開啟抓本機的包,也可以過濾本機的包。當手機開啟了開啟了代理,就可以把本機的包過濾掉,專注抓手機的包,此時會話列表中都是手機的包了。
3.4 Fiddler中查詢會話
?用快捷鍵Ctrl+F打開Find Sessions的對話框,輸入關鍵字查詢你要的會話。 查詢到的會話會用黃色顯示。

3.5 主界面的功能區


?欄圖標說明

3.6 詳情和數據統計板
?inspector面板
?針對每條http請求的具體統計(例如發送/接受字節數,發送/接收時間,還有粗略統計世界各地訪問該服務器所花費的時間)和數據包分析。如inspector面板下,提供headers、textview、hexview,Raw等多種方式查看單條http請求的請求報文的信息:

?ImageView標簽
?JPG 格式使用 ImageView 就可以看到圖片,選擇一條Content-Type是image/jpeg的回話,點擊TextView

?TextView 標簽
?HTML/JS/CSS 使用 TextView 可以看到響應的內容。選擇一條Content-Type是text/html的回話,點擊TextView

?Raw標簽
?Raw標簽可以查看響應報文和響應正文,但是不包含請求報文

?Auth標簽
?Auth則可以查看授權Proxy-Authorization 和 Authorization的相關信息
?Cookies標簽
Cookies標簽可以看到請求的cookie和響應的set-cookie頭信息。

?Statistics面板
?HTTP請求的性能和其他數據分析

?我們可以從中看出一些基本性能數據:如DNS解析的時間消耗是8ms,建立TCP/IP連接的時間消耗是8ms等等信息。
?composer面板
?可以模擬向相應的服務器發送數據的過程(不錯,這就是灌水機器人的基本原理,也可以是部分http flood的一種方式)

- 第一章-測試理論
- 1.1軟件測試的概念
- 1.2測試的分類
- 1.3軟件測試的流程
- 1.4黑盒測試的方法
- 1.5AxureRP的使用
- 1.6xmind,截圖工具的使用
- 1.7測試計劃
- 1.8測試用例
- 1.9測試報告
- 2.0 正交表附錄
- 第二章-缺陷管理工具
- 2.1缺陷的內容
- 2.2書寫規范
- 2.3缺陷的優先級
- 2.4缺陷的生命周期
- 2.5缺陷管理工具簡介
- 2.6缺陷管理工具部署及使用
- 2.7軟件測試基礎面試
- 第三章-數據庫
- 3.1 SQL Server簡介及安裝
- 3.2 SQL Server示例數據庫
- 3.3 SQL Server 加載示例
- 3.3 SQL Server 中的數據類型
- 3.4 SQL Server 數據定義語言DDL
- 3.5 SQL Server 修改數據
- 3.6 SQL Server 查詢數據
- 3.7 SQL Server 連表
- 3.8 SQL Server 數據分組
- 3.9 SQL Server 子查詢
- 3.10.1 SQL Server 集合操作符
- 3.10.2 SQL Server聚合函數
- 3.10.3 SQL Server 日期函數
- 3.10.4 SQL Server 字符串函數
- 第四章-linux
- 第五章-接口測試
- 5.1 postman 接口測試簡介
- 5.2 postman 安裝
- 5.3 postman 創建請求及發送請求
- 5.4 postman 菜單及設置
- 5.5 postman New菜單功能介紹
- 5.6 postman 常用的斷言
- 5.7 請求前腳本
- 5.8 fiddler網絡基礎及fiddler簡介
- 5.9 fiddler原理及使用
- 5.10 fiddler 實例
- 5.11 Ant 介紹
- 5.12 Ant 環境搭建
- 5.13 Jmeter 簡介
- 5.14 Jmeter 環境搭建
- 5.15 jmeter 初識
- 5.16 jmeter SOAP/XML-RPC Request
- 5.17 jmeter HTTP請求
- 5.18 jmeter JDBC Request
- 5.19 jmeter元件的作用域與執行順序
- 5.20 jmeter 定時器
- 5.21 jmeter 斷言
- 5.22 jmeter 邏輯控制器
- 5.23 jmeter 常用函數
- 5.24 soapUI概述
- 5.25 SoapUI 斷言
- 5.26 soapUI數據源及參數化
- 5.27 SoapUI模擬REST MockService
- 5.28 Jenkins的部署與配置
- 5.29 Jmeter+Ant+Jenkins 搭建
- 5.30 jmeter腳本錄制
- 5.31 badboy常見的問題
- 第六章-性能測試
- 6.1 性能測試理論
- 6.2 性能測試及LoadRunner簡介
- 第七章-UI自動化
- 第八章-Maven
- 第九章-測試框架
- 第十章-移動測試
- 10.1 移動測試點及測試流程
- 10.2 移動測試分類及特點
- 10.3 ADB命令及Monkey使用
- 10.4 MonkeyRunner使用
- 10.5 appium工作原理及使用
- 10.6 Appium環境搭建(Java版)
- 10.7 Appium常用函數(Java版)
- 10.8 Appium常用函數(Python版)
- 10.9 兼容性測試