在移動端或 Web 調試場景中,Fiddler 是許多人最熟悉的抓包工具:簡單、直觀、適合分析 HTTP/HTTPS,也適合修改請求和響應。但不少開發者在使用時會遇到一個最頭疼的問題:
Fiddler 完全抓不到包,HTTPS 也沒有,界面乾乾淨淨。
無論是 iOS、Android 還是桌面端,只要環境稍微複雜一點,Fiddler 就可能出現抓不到包的情況。 但這並不是工具本身的問題,而是多個網絡層、證書鏈、協議差異和 App 安全策略共同作用的結果。
本文從工程角度拆解 “Fiddler 抓不到包怎麼辦?” 的排查路徑,覆蓋 HTTPS 調試、證書校驗、QUIC/HTTP3、網絡代理衝突、自定義協議等場景
一、為什麼 Fiddler 會抓不到包?(五大典型根因)
HTTPS 證書鏈未被信任
表現:
- 只能看到 CONNECT
- 無明文 HTTPS 內容
- 部分接口報 TLS 錯誤
常見原因:
- 證書沒有在系統中完全信任
- Wi-Fi 網關替換了證書
- 中間證書鏈不完整
App 啓用了證書 Pinning(最高頻原因)
特徵:
- 瀏覽器能抓
- App 抓不到
- Fiddler 面板無任何請求
Pinning 直接拒絕代理證書,Fiddler 自然抓不到。
流量使用 QUIC(HTTP/3),繞過代理
QUIC 是基於 UDP 的傳輸協議,而 Fiddler 只代理 TCP。
症狀:
- 部分請求無法抓到
- 切換 4G/5G 後可以抓
- 視頻/直播/社交類接口更常見
應用使用自定義 TCP 協議或獨立網絡棧
例如:
- 遊戲協議
- WebSocket
- SDK 自定義二進制協議
這類協議根本不會走系統代理。
系統代理失效或被覆蓋
例如:
- VPN
- 企業 Wi-Fi 強制代理
- 系統代理設置被安全軟件修改
此時 Fiddler 的設置自然不會生效。
二、Fiddler 抓不到包時的排查流程(可直接複製到團隊 Wiki)
步驟 ①:檢查代理與證書設置
確認:
- Fiddler 已啓用 HTTPS 解密
- 系統代理設置與 Fiddler 端口一致
- 證書已安裝並“完全信任”
- 未啓用 VPN 或其他代理
如果 HTTPS 一條都看不到 → 繼續排查。
步驟 ②:判斷是否為證書 Pinning
判斷方法:
- 瀏覽器能抓到
- App 抓不到
- Fiddler 無任何流量
這是 80% 的失敗原因。
此時繼續嘗試代理工具毫無意義。
步驟 ③:檢查是否為 QUIC / HTTP3 流量
驗證方式:
- 關閉 QUIC
- 換網絡
- 查看是否走 UDP
QUIC 天生繞過代理 → 無法抓包。
步驟 ④:確認是否為自定義協議
表現:
- Fiddler 只能抓到 CONNECT
- 後端收到的是自定義二進制流
- 沒有任何 HTTP 請求
這是代理抓包永遠無法覆蓋的場景。
步驟 ⑤:代理無法生效 → 使用底層抓包工具補抓
這一步是解決 Fiddler 抓不到包最關鍵的環節。
補抓工具中比較常用的是:
抓包大師(Sniffmaster):非代理式抓包的補充能力
Sniffmaster 的實際工程用途:
- 抓取 HTTPS / HTTP / TCP / UDP 數據流
- 支持按 App / 域名 過濾流量
- 自動識別 HTTP、HTTPS、mdns、自定義協議
- 可查看 TCP 數據流(HEX / 文本 / 二進制)
- 提供 JavaScript 攔截器,可改寫請求和響應
- 可導出 Wireshark 可讀取的 pcap 文件
- 跨平台運行(macOS / Windows / iOS)
適用於:
- Pinning 阻止代理抓包
- QUIC / HTTP3(UDP)流量
- 自定義 TCP 協議
- 系統代理被覆蓋
- 抓不到 HTTPS 的疑難問題
它的定位不是取代 Fiddler,而是補足代理抓包的技術盲區。
三、實際案例:Fiddler 完全抓不到 HTTPS,如何解決?
場景:
- Fiddler 只能看到 CONNECT
- Safari 能抓到
- App 完全抓不到包
排查與解決:
- 核對證書與代理 → 無誤
- 瀏覽器正常 → 系統代理生效
- App 無流量 → 高度疑似 pinning
- 使用 Sniffmaster 捕獲底層 TCP/TLS 流量
- 在 Wireshark 中看到 TLS Alert
- 服務端 tcpdump 無對應請求
- 最終確認:App 內使用證書指紋校驗 → 阻斷代理
通過補抓確認了根因,問題得以解決。
解決 “Fiddler 抓不到包” 可以使用多工具組合抓包
唯一正確的解決方案不是換工具,而是“工具組合”:
| 抓包層級 | 工具 | 適用場景 |
|---|---|---|
| 代理抓包 | Fiddler / Charles / Proxyman | HTTPS 明文調試 |
| 協議分析 | tcpdump / Wireshark | TLS 握手錯誤、鏈路分析 |
| 自動化 | mitmproxy scripting / pyshark | 腳本化批量分析 |
| 補抓 | 抓包大師(Sniffmaster) | pinning、QUIC、自定義協議等代理失敗場景 |
只有多層工具協同,才能解決移動端和桌面端抓包的全場景問題。