
1. 項目概述為什么需要移動端流量分析矩陣在移動應用安全評估和日常開發調試中流量分析是洞察應用行為、發現潛在漏洞、優化網絡性能的核心手段。很多開發者或安全研究員習慣單獨使用Fiddler或Burp Suite但這兩款工具各有側重單獨使用往往存在盲區。Fiddler以其直觀的界面和強大的腳本擴展能力在HTTP/HTTPS流量捕獲和前端調試上表現出色而Burp Suite則是Web應用安全測試的“瑞士軍刀”其代理、掃描、重放、入侵模塊構成了完整的測試鏈條。將兩者結合構建一個協同工作的“流量分析矩陣”意味著你能同時獲得Fiddler的靈活可視化與Burp Suite的深度安全測試能力實現從“看得見”到“看得懂、測得了”的跨越。對于安卓平臺由于其應用沙盒、證書鎖定、非標準端口通信等特性流量捕獲與分析比桌面端更具挑戰。本指南的核心就是教你如何巧妙地配置Fiddler與Burp Suite讓它們不再是孤立的工具而是形成一個前后銜接、互為補充的分析閉環。無論你是想分析某個App的API調用邏輯、測試其接口安全性還是排查網絡請求中的性能瓶頸這個矩陣都能為你提供遠超單一工具的視角和效率。接下來我將從環境搭建、核心配置、實戰技巧到問題排查完整拆解這套方案的每一個細節。2. 環境準備與基礎代理配置構建分析矩陣的第一步是建立一個穩定的代理環境讓安卓設備的流量能夠同時、或按需流經Fiddler和Burp Suite。這里我們采用“串聯代理”的思路即設備流量先經過Fiddler再由Fiddler轉發至Burp Suite最后由Burp Suite發往互聯網。這樣做的好處是你可以在Fiddler層進行初步的過濾、統計和修改同時在Burp Suite層進行深度的安全測試。2.1 工具安裝與初始設置首先確保你的工作機通常是Windows或macOS上已安裝好以下工具Fiddler Classic/Everywhere建議使用Classic版因其自定義規則功能更強大。安裝后打開Tools - Options - Connections確保監聽端口默認為8888未被占用并勾選“Allow remote computers to connect”。Burp Suite Professional/Community社區版已足夠用于代理和手動測試。安裝后啟動Burp在Proxy - Options中確保代理監聽器Proxy listeners已啟用通常監聽本機127.0.0.1的8080端口。安卓設備或模擬器推薦使用真機或Mumu、夜神等模擬器。確保設備與工作機在同一局域網內。注意如果你的工作機防火墻開啟需要為Fiddler端口8888和Burp Suite端口8080添加入站規則允許TCP連接。2.2 構建串聯代理鏈路關鍵步驟在于配置Fiddler將其作為上游代理把流量轉發給Burp Suite。配置Fiddler轉發規則在Fiddler中點擊菜單欄的Rules - Customize Rules...這會打開CustomRules.js腳本文件。我們需要在OnBeforeRequest函數中添加轉發邏輯。找到該函數在其中添加如下代碼// 將除特定調試流量外的所有請求轉發至Burp Suite if (!oSession.uriContains(localhost:8888) !oSession.uriContains(127.0.0.1:8888)) { oSession[x-overrideGateway] 127.0.0.1:8080; }這段代碼的意思是對于所有不是發往Fiddler自身localhost:8888的請求都將其網關Gateway重定向到本機Burp Suite監聽的8080端口。這樣請求就會從設備 - Fiddler(8888) - Burp(8080) - 目標服務器的路徑流動。配置Burp Suite上游代理可選但推薦為了在Burp中也能清晰看到流量的完整路徑可以配置Burp的上游代理。在Burp Suite中進入Project options - Connections - Upstream Proxy Servers點擊“Add”。在添加規則對話框中Destination host: 可以留空或填寫*表示對所有目標生效。Proxy host:127.0.0.1Proxy port:8888類型選擇HTTP。 這個配置告訴Burp“所有從我這里發出去的請求都先交給127.0.0.1:8888即Fiddler處理”。這實際上形成了一個回路主要用于Burp Suite的日志記錄更清晰在實際轉發中由于Fiddler的腳本已經強制轉發了此步驟非必須但有助于理解流量走向。2.3 安卓設備代理配置在安卓設備的Wi-Fi設置中修改當前連接的無線網絡將其代理設置為手動。代理主機名填寫你工作機的局域網IP地址如192.168.1.100。可以在工作機的命令行中輸入ipconfig(Windows) 或ifconfig(macOS/Linux) 查看。代理端口填寫Fiddler的監聽端口即8888。保存設置。配置完成后在安卓設備上打開瀏覽器訪問http://你的工作機IP:8888例如http://192.168.1.100:8888。你應該能看到Fiddler的歡迎頁面點擊頁面中的“FiddlerRoot certificate”鏈接下載并安裝證書。這是解密HTTPS流量的關鍵。實操心得很多抓包失敗的問題都源于證書未正確安裝。在安卓高版本7.0以上中系統對用戶安裝的證書信任有限你可能需要將Fiddler的證書安裝到系統信任的證書存儲區這通常需要root權限。對于非root設備一個變通方法是修改App的網絡安全配置或使用模擬器如Mumu其對證書處理更友好。3. 核心功能配置與協同工作流環境搭好后我們需要精細配置兩個工具讓它們各司其職高效協同。這個矩陣的核心工作流是Fiddler負責“抓、看、濾、改”側重應用層和性能Burp Suite負責“斷、掃、重、爆”側重安全層。3.1 Fiddler流量捕獲、過濾與性能分析Fiddler的界面左側是會話列表所有流經的請求都會在這里顯示。面對海量會話過濾是關鍵。精準過濾會話右側過濾器Filters面板這是最常用的過濾方式。勾選“Use Filters”在“Hosts”區域選擇“Show only the following Hosts”然后在下方輸入你想監控的域名或IP多個用分號隔開如api.example.com; static.example.com。這樣可以瞬間屏蔽掉所有第三方廣告、統計等無關流量。命令行快速過濾在會話列表下方的“QuickExec”框快捷鍵AltQ中可以輸入命令快速過濾。例如輸入?google會高亮包含“google”的會話輸入5000會篩選出響應體大于5000字節的會話。自定義過濾規則在CustomRules.js中你可以編寫更復雜的邏輯。例如自動隱藏圖片請求或特定靜態資源if (oSession.uriContains(.jpg) || oSession.uriContains(.css)) { oSession[ui-hide] true; }解密HTTPS流量確保Fiddler的Tools - Options - HTTPS選項卡中已勾選“Decrypt HTTPS traffic”。Fiddler會扮演中間人用自己的根證書為每個HTTPS站點生成簽名證書。這就是為什么之前需要在設備上安裝Fiddler根證書的原因。性能分析與弱網模擬Statistics標簽頁選中一組會話后查看Statistics頁可以清晰了解總耗時、各階段DNS、TCP、SSL、請求、響應耗時、字節數等是性能瓶頸分析的利器。弱網模擬Rules - Performance - Simulate Modem Speeds勾選后Fiddler會限制上行/下行帶寬模擬惡劣網絡環境用于測試App的容錯機制和加載策略。3.2 Burp Suite安全測試與深度操控當流量從Fiddler轉發到Burp Suite后你可以在Burp中開展深度安全測試。攔截與修改請求Proxy - Intercept打開Intercept的“Intercept is on”開關Burp會暫停所有經過的請求允許你查看和修改任何部分URL、參數、Header、Body再決定轉發或丟棄。這是測試越權、注入漏洞的基礎操作。重放與漏洞探測Repeater將Proxy歷史或任何地方的請求右鍵發送到Repeater。在這里你可以對單個請求進行反復修改和重放觀察服務器響應的變化手動測試SQL注入、XSS、邏輯漏洞等。主動掃描ScannerProfessional版功能。可以將一個站點或請求交給Scanner進行自動化漏洞掃描。在矩陣中你可以先用Fiddler過濾出目標API流量再將關鍵的登錄、支付等請求從Fiddler會話右鍵-Copy-Full URL粘貼到Burp的Target scope中然后啟動掃描提高掃描效率。對比與碰撞Comparer/IntruderComparer比較兩個請求或響應的差異在分析登錄態、令牌變化時非常有用。Intruder用于自動化參數爆破。例如發現某個4位數字驗證碼接口可以用Intruder加載字典進行暴力破解嘗試。3.3 雙工具協同實戰場景假設我們要測試一個安卓App的登錄接口安全性。場景設置在Fiddler的Filters中設置只顯示目標域名login.app.com的流量。在安卓App上嘗試登錄。流量捕獲Fiddler會話列表中出現登錄請求通常是POST到/api/login。你可以在這里快速查看明文傳輸的參數如果未加密、響應時間、狀態碼。請求轉發與深度測試在Fiddler中右鍵點擊這個登錄會話選擇Copy - Full URL。切換到Burp Suite的Repeater將URL粘貼進去請求詳情會自動載入。現在你可以在Burp中修改密碼參數嘗試SQL注入Payloadadmin OR 11。修改用戶ID測試是否存在水平越權。將請求發送到Intruder對密碼字段加載弱口令字典進行爆破。結果驗證所有的測試請求和響應都會記錄在Burp的Proxy歷史中。同時由于流量經過了Fiddler你仍然可以在Fiddler中看到這些測試請求的往返時間、大小等性能指標形成一個完整的分析記錄。這種協同讓你既能利用Fiddler的流暢捕獲和過濾快速定位目標又能借助Burp Suite的專業安全工具進行深度測試兩者數據互通效率倍增。4. 高級技巧與安卓特定問題處理基礎流程跑通后會遇到一些安卓平臺特有的棘手問題。掌握這些高級技巧才能讓分析矩陣在復雜環境中穩定運行。4.1 處理證書綁定SSL Pinning許多安全意識較強的App會使用證書綁定技術只信任自己預設的證書拒絕Fiddler/Burp這類中間人證書。突破此限制有幾種方法使用高版本Burp Suite的自動繞過Burp Suite Pro 2024及更高版本其移動端助手Mobile Assistant有時能自動處理一些證書綁定。但并非萬能。使用 objection/Frida 動態注入這是更通用的方法。需要設備root或使用可調試的App。在設備上安裝Frida-server。在電腦上使用 objection 工具執行命令objection -g 應用包名 explore然后執行android sslpinning disable。此命令會嘗試禁用常見的證書綁定庫如OkHttp Conscrypt的驗證邏輯。逆向修改App對于無法動態注入的App可能需要使用Apktool、dex2jar等工具進行反編譯定位并修改證書驗證相關的Smali代碼或so庫重新打包安裝。此方法門檻較高。注意事項繞過證書綁定可能違反應用的使用條款請僅在你有合法測試權限的環境如自己開發的App、授權的滲透測試項目中進行。4.2 捕獲非HTTP(S)流量及WebSocketFiddler和Burp主要針對HTTP/HTTPS但安卓App可能使用原始TCP Socket、UDP或WebSocket。WebSocketFiddler和Burp Suite Professional版都能很好地捕獲和展示WebSocket連接。在Fiddler中WebSocket會話會以特殊的圖標顯示你可以查看握手過程和后續的數據幀。在Burp中可以在Proxy歷史中看到WebSocket的HTTP升級請求并在Proxy - WebSockets history中查看消息。原始TCP/UDP流量這兩款工具無能為力。此時需要借助更底層的工具如Wireshark。你可以在安卓設備上進行tcpdump抓包或將設備流量通過路由方式導到安裝了Wireshark的電腦上。一個常見的做法是在Fiddler/Burp分析完HTTP層邏輯后對于仍不明的通信再用Wireshark進行補充抓包分析。4.3 使用Fiddler腳本自動化處理Fiddler的CustomRules.js腳本能力極強可以實現自動化。自動修改請求/響應例如所有請求自動添加一個特定的Header。static function OnBeforeRequest(oSession: Session) { oSession.oRequest.headers.Add(X-Debug-Mode, true); }自動替換內容將響應中的某個關鍵詞替換掉用于測試或繞過前端檢查。static function OnBeforeResponse(oSession: Session) { if (oSession.uriContains(example.com)) { var oBody oSession.GetResponseBodyAsString(); oBody oBody.replace(禁止訪問, 允許訪問); oSession.utilSetResponseBody(oBody); } }流量標記與分類根據URL或內容為會話添加自定義標簽便于后續篩選。static function OnBeforeRequest(oSession: Session) { if (oSession.uriContains(/api/payment)) { oSession[ui-color] red; oSession[ui-bold] true; } }4.4 在模擬器中的特殊配置以Mumu模擬器為例其網絡橋接方式特殊配置代理可能無法直接連接到宿主機的IP。查找模擬器特殊IP在Mumu模擬器中adb shell ifconfig或adb shell netcfg查看網絡配置。你會發現一個類似10.0.2.15的IP這是模擬器內部的通用IP。代理地址設置在模擬器的Wi-Fi代理設置中主機名不能填宿主機的局域網IP如192.168.x.x而應該填寫宿主機的特殊別名對于Windows上的Mumu通常填寫10.0.2.2。這是Android模擬器約定俗成的、指向宿主機的別名。端口依然是Fiddler的8888。證書安裝在模擬器瀏覽器中訪問http://10.0.2.2:8888下載證書。由于模擬器環境相對開放證書安裝到用戶存儲區通常即可生效。5. 常見問題排查與實戰心得即使按照步驟操作也難免會遇到各種問題。下面是我在長期使用中總結的常見故障及解決方法。5.1 流量捕獲不到或連接失敗問題現象可能原因排查步驟與解決方案安卓設備無法訪問http://PC_IP:88881. 防火墻阻止連接。2. 工作機IP地址錯誤或變更。3. Fiddler未開啟遠程連接。1. 檢查防火墻為Fiddler8888端口添加入站規則。2. 在PC上使用ipconfig確認當前局域網IP。3. 確認FiddlerOptions - Connections中 “Allow remote computers to connect” 已勾選。設備顯示代理連接錯誤1. 代理IP或端口填寫錯誤。2. Fiddler服務未啟動或崩潰。1. 仔細核對代理設置中的IP和端口8888。2. 重啟Fiddler檢查Windows任務管理器是否有Fiddler.exe進程。只有部分App流量可見1. App使用了證書綁定SSL Pinning。2. App使用了非HTTP協議如純Socket。3. 安卓高版本9對用戶證書限制。1. 嘗試使用objection禁用SSL Pinning。2. 使用Wireshark等工具捕獲非HTTP流量。3. 將證書安裝到系統證書目錄需root或使用安卓7.0以下模擬器/真機。Burp Suite收不到轉發流量1. Fiddler轉發腳本未生效或配置錯誤。2. Burp代理監聽器未開啟或端口沖突。1. 檢查CustomRules.js腳本語法確保OnBeforeRequest函數內的轉發代碼已保存并生效重啟Fiddler。2. 確認BurpProxy - Options中127.0.0.1:8080的監聽器狀態為Running。5.2 HTTPS解密失敗或證書警告現象Fiddler中HTTPS會話顯示Tunnel to或帶有鎖形圖標但無法查看內容設備訪問網站出現證書警告。排查確認證書已安裝在設備系統設置中搜索“證書”或“加密與憑據”查看用戶憑據中是否存在名為“DO_NOT_TRUST_FiddlerRoot”或類似的證書。清除舊證書如果之前安裝過其他抓包工具的證書可能會沖突全部刪除后重裝Fiddler證書。檢查Fiddler HTTPS設置確保Tools - Options - HTTPS中“Decrypt HTTPS traffic”已勾選并且“...from all processes”和“...from remote clients”也被選中。針對特定App如果只是某個App無法解密大概率是證書綁定。需要按4.1節的方法處理。5.3 性能與穩定性優化Fiddler卡頓當捕獲會話過多時Fiddler可能變慢。定期點擊菜單欄的File - Capture Traffic(快捷鍵F12) 可以暫停/繼續捕獲在分析時暫停捕獲能提升響應速度。使用過濾器Filters減少無關會話也是根本解決方法。Burp Suite內存不足Burp在處理大量請求時非常消耗內存。可以在Options - Memory中調高堆內存分配如增加到-Xmx2048m。定期清理無用的Proxy歷史記錄和Target站點數據。串聯延遲流量經過兩個代理必然增加延遲。在測試對延遲敏感的功能時可以考慮臨時只使用一個工具。例如性能測試時只用Fiddler深度安全測試時將設備代理直接設為Burp端口8080繞過Fiddler。5.4 個人實戰心得分而治之明確目標不要一開始就打開所有功能。如果目標是分析API調用順序就專注用Fiddler過濾和統計如果目標是測試登錄漏洞就配置好Burp的攔截和重放。讓兩個工具在各自擅長的階段發力。善用“對比”功能無論是Fiddler的“Compare”功能還是Burp的“Comparer”在分析登錄態、會話變化、參數差異時極其有用。將正常請求和異常請求進行對比往往能快速定位問題關鍵。保存工作空間Fiddler可以保存會話存檔.saz文件Burp可以保存項目文件.burp。在進行重要測試前后記得保存狀態便于回溯和分享。保持工具更新特別是Burp Suite新版本往往會修復舊版本對最新安卓系統或加密庫的兼容性問題。同時關注Frida、objection等繞釘工具的動態它們的腳本也在不斷更新以應對新的綁定方案。構建Fiddler與Burp Suite的移動端流量分析矩陣本質上是在搭建一個從“數據采集”到“深度分析”的流水線。這個過程中最寶貴的不是某個具體的配置命令而是你根據測試目標靈活組合和切換工具的思路。當你能熟練地在Fiddler的清晰視圖中快速定位目標流量再無縫銜接到Burp Suite的復雜攻擊模塊中進行深度挖掘時你對移動應用網絡行為的理解和安全評估的能力就已經上了一個全新的臺階。這套組合拳足以應對絕大多數安卓應用的前后端交互分析與安全測試場景。