本文根據 全網最全最細Fiddler抓包工具,沒有之一【檸檬班】 整理所得後端
1. Fiddler 介紹
- Fiddler 是位於客戶端和服務端之間的 HTTP 代理
- 目前最經常使用的 HTTP 抓包工具之一
-
功能很是強大,是 Web 調試的利器瀏覽器
- 監控瀏覽器全部的 HTTP / HTTPS 流量
- 查看、分析請求的內容細節
- 僞造客戶端請求和服務器響應
- 測試網站性能
- 解密 HTTPS 的 Web 會話
- 全局、局部斷點功能
- 第三方插件
-
使用場景緩存
- 接口調試、接口測試、線上環境調試、Web 性能分析
- 判斷先後端 bug、開發環境 hosts 配置、mock 假數據、弱網斷網測試
2. 工做原理

3. 安裝
略。安全
3. 界面介紹

3.1 菜單欄
- 設置代理端口:Tools > Options > Connections > 修改 Fiddler listens on port 值便可
- 隱藏創建通道的鏈接:Rules > Hide CONNECTs(經常使用)
- 隱藏 304 會話:Rules > Hide 304s(經常使用)
3.2 工具條
從左到右按順序服務器
- WinConfig:略
- 氣泡(對話框)圖標:添加備註,在 File > Save 保存會話給別人看的時候有用
- Replay:重發選中的請求(快捷鍵 r),同時按住 shift 能夠重複發屢次
- × 圖標:刪除會話,快捷鍵 ctrl + x 刪除全部會話
- Go:在會話進入斷點時恢復會話
- Stream:流模式,通常不用
- Decode:對全部會話解碼
- Keep:保留會話條數,例如 100 條、250 條等等
- 瞄準圖標:按住不放,而後將「十字圖標」拖動到想要監聽的進程,好比拖到 Chrome 瀏覽器,那麼就只會捕捉到 Chrome 的請求
- Find:快捷鍵 ctrl + f
- Save:保存當前會話爲一個 .saz 後綴的文件
- 相機圖標:截圖
- 時鐘圖標:計時器,右鍵取消
- IE 圖標:快速打開瀏覽器
- Clear Cache:清除 IE 瀏覽器緩存
- TextWizard:打開轉碼工具
- Tearoff:拆分面板
- 搜索框:進入 https://social.msdn.microsoft...
- 電腦圖標:顯示本機網絡信息
3.3 監控面板(會話列表)
展現了 Fiddler 抓取到的每條 HTTP 請求,每一條稱爲一個 session,每條 session 都包含了網絡
- #:序號,按照頁面加載順序遞增
- Result:狀態碼
- Protocal:協議,如 HTTP、HTTPS
- Host:域名
- URL:請求地址
- Body:請求大小,單位爲 byte
- Caching:緩存相關信息
- Content-Type:MIME 類型
- Process:發出該請求的進程
- Comments:備註
- Custom:用戶經過腳本設置的自定義值
3.4 命令行 + 狀態欄
3.4.1 命令行
命令行幫助文檔 session
3.4.2 狀態欄
從左到右按順序ide
- Capturing:正在捕捉請求中,點一下就能夠取消捕捉
- 篩選不一樣進程發出的會話
- 斷點,點一下在發起請求以前進入斷點,點兩下在請求響應響應以後進入斷點
- 略
- 附加信息
3.5 輔助標籤 + 工具
3.5.1 Statistics(統計)
請求的性能和其餘數據分析,如 DNS 解析時間,創建 TCP/IP 鏈接的時間等工具
3.5.2 Inspectors(檢查器)
能夠以不一樣的格式(Headers、TextView、Raw 等等)查看請求報文和響應報文性能
3.5.3 AutoResponder(自動相應器)
攔截某一請求,而後進行以下操做
- 使用 Fiddler 內置的響應
- 自定義響應
- 重定向到本地的資源
能夠攔截 js 文件製做釣魚網站或者 mock 假數據
比方說,項目在正式環境出了問題,直接在正式環境修改代碼是不合理的,此時就能夠用 AutoResponder 將請求攔截,而後重定向到指定的響應內容
Fiddler 具體設置以下
- 勾選 Enable rules
- 勾選 Unmatched requests passthrough
- 點擊 Add Rule
- 在 Rule Editor 輸入要攔截的地址
- 在 Rule Editor 選擇要採起的響應
- 點擊 Save
3.5.4 Composer(創做者)
簡單的接口測試工具
3.5.5 Filter(過濾器)
多維度的過濾規則,包括
Fiddler 具體設置
- 勾選 Use Filters(記得取消勾選)
- 勾選好過濾條件
- 點擊右上角(Use Filters 右邊)的 Actions > Run filterset now
4. 斷點
- 能夠在請求前篡改請求數據
- 能夠在響應後篡改響應數據
- 模擬網絡超時的狀況
Fiddler 具體設置
- 全局斷點:Rules > Automatic Breakpoints > Before Requests 或者 After Responses(也能夠直接在最下面的狀態欄設置,3.4.2 有介紹)
-
局部斷點
- 請求前斷點:在下面的命令行處輸入 bpu login,便可將請求中帶有 login 的請求中斷,再次輸入 bpu 取消斷點
- 響應後斷點:在下面的命令行處輸入 bpafter login,便可將請求中帶有 login 的請求中斷,再次輸入 bpafter 取消斷點
5. 弱網測試
Fiddler 具體設置:Rules > Performance > Simulate Modem Speeds
還能夠自定義限速的狀態,具體操做:
- Rules > Customize Rules
- 在代碼中搜索「if (m_SimulateModem) {」,找到後修改裏面的數值便可(記得要勾選 Rules > Performance > Simulate Modem Speeds)
5. HTTPS 抓包
Fiddler 具體操做:Tools > Options > HTTPS > 勾選 Decrypt HTTPS traffic
若是仍是不能抓取 HTTPS 請求,執行下面操做:
- Tools > Options > HTTPS > Actions > 點擊 Reset All Certificates,而後一直點肯定來安裝 fiddler 證書
- 而後 Tools > Options > HTTPS > Actions > 點擊 Open Windows Certificate Manager 打開管理計算機證書界面
- 在 Windows 的管理計算機證書界面,點擊操做 > 查找證書 > 搜索 fiddler,能查找到相應的證書即設置成功
5.1 Firefox 設置(IE 和 Chrome 執行上述操做便可)
- Firefox 右上角 > 選項(或者地址欄輸入 about:preferences) > 找到網絡設置(不一樣版本可能的位置不同),選中「使用系統代理設置」
- Fiddler > Tools > Options > HTTPS > Actions > 點擊 Export Root Certificate to Desktop 導出證書到桌面
- Firefox 右上角 > 選項 > 找到證書模塊,點擊查看證書 > 選擇證書機構 > 點擊導入,選擇第 2 步的證書,而後將提示框中的選項都勾中,點擊肯定,重啓 Firefox 便可
6. 抓 iOS 設備中的 App 的包
- Fiddler > Tools > Options > Connections > 勾選 Allow remote computers to connect
- Fiddler > Tools > Options > HTTPS > 勾選 Capture HTTPS CONNECTS 和勾選 Decrypt HTTPS traffic
- 將 iOS 設備和電腦鏈接 WiFi 並設置代理,服務器填寫電腦 IP,端口填寫 Fiddler 設置的端口(Tools > Options > Connections > Fiddler listens on port)
- iOS 設備使用瀏覽器打開 192.168.1.103:8888(電腦 IP 和 Fiddler 設置的端口),而後點擊 FiddlerRoot certificate 進行安裝操做
- 安裝成功後,iOS 設備設置 > 通用 > 關於本機 -> 證書信任設置中信任剛安裝的 Fiddler 證書便可
- 記得關閉代理
7. 抓 Android 設備中的 App 的包
- 同 iOS 設備
- 同 iOS 設備
- 同 iOS 設備
- 同 iOS 設備
- 安裝後,在(華爲手機,其餘安卓機相似)設置 > 安全 > 受信任的憑據 > 選擇用戶,查看是否有 Fiddler 的證書,若是有即設置成功了。若是沒有,則在設置 > 安全 > 從 sd 卡安裝 > 安裝剛剛下載的證書便可
- 記得關閉代理
8. 其餘問題