一、先對齊症狀:何時懷疑是嗅探導致
你很可能遇過:整體代理與多數境外站都正常,卻在開了嗅探之後,僅少數幾個站開始「變得難用」。在瀏覽器裡,典型外觀包括憑證名稱與網站不符、連線被重設、登入畫面反覆跳轉、或看起來像內容安全政策被破壞的白畫面。若把情境縮到網路銀行、證期貨、保險、各級政府單一入口、學雜費與各類報稅與實名制頁面,這類服務的 HTTPS 實作往往更保守:對SNI 與憑證鏈、裝置捆綁、以及是否經過中間層挾持感的檢測都更嚴。於是,「嗅探還原出來的 host 名稱是否與實際握手一致」「規則層以誰為準」就成了是否踩雷的關鍵。
和全站斷線、或所有 HTTPS 都失敗不同,嗅探相關問題幾乎一定是少數幾條主機名稱、少數幾條路徑。若你一關掉嗅探(或一繞開代理)問題就消失,卻不願意每次手動關,那本文後半段的分網域略過就會是長期可維運的做法。若關了嗅探也沒好,就別在嗅探上打轉,應改看節點、規則命中、TLS 握手與 fake-ip 鏈路,可併讀我們的 TLS 握手與 SNI 排查專文。
另一個常見的自己誤判:把「看起來像憑證問題」全部歸因給 MITM 或 TUN 憑證。事實上,嗅探不必然等於在系統層掛一張根憑證,但在內核路由與連線歸因的語意上,的確可能讓以 IP 記帳的分流邏輯與應用程式預期出現差異。先把嗅探的影響範圍變成可實驗的開關,再談更底層的系統憑證,會比較省時間。
二、嗅探在 HTTPS 上實際做了什麼
在 Clash 系列核心(如 Mihomo / Meta)裡,嗅探的主要任務是:在已加密的流程中,從 TLS Client Hello 的SNI 擴充裡,盡力還原出使用者想連的網域。這有兩個直接後果。第一,規則層能拿到「可讀的網域」,讓以 DOMAIN/DOMAIN-SUFFIX 寫成的分流不再只能盯著一個純 IP。第二,日誌敘事會改寫:你看到的目標,可能是「還原後的 host」而不是你原本以為的那條 DNS 回應。
在沒有 fake-ip、或本來就能在握手前用明文 Host 分類的連線,嗅探往往只是錦上添花。但在fake-ip 與嗅探一併啟用、同時還有QUIC、HTTP/3、ECH、或目標站使用多憑證、多 SNI 別名、嚴格 HSTS 與行動版 SDK的情況下,嗅探參與的還原與轉送順序就可能變成「在邊界上多了一個變因」。讀日誌時,請盡量以同一筆 TCP 443 失敗的完整時間序去對,而不是隨意挑一句錯誤就換節點。
為什麼金融與政務特別常踩雷
這類服務的客戶端常把憑證釘選、裝置綁定、防釣魚與風險偵測寫在握手前後。當你同時有系統層 TUN、企業或防毒攔截 HTTPS、與 Clash 內的嗅探邏輯,出錯的可見症狀有時都長得很像。本文刻意把焦點放在「先針對嗅探做分網域關閉」:因為它是改動面積小、卻能立刻驗收的開關,適合在換訂閱、重灌、或懷疑是 MITM 之前先做。
三、最小對照實驗:先驗證與 Sniffer 的因果
在修改 YAML 大結構前,用最短路徑回答一個問題:是不是嗅探?建議用同一臺裝置、同一條寬頻、同一個瀏覽器分頁,做下列兩階段。第一階段:在圖形介面中關閉嗅探(或切到不經嗅探的等價開關),重新載入設定後只測一個出問題的網址。若立刻恢復,幾乎可以直接進入分網域略過。第二階段:把嗅探原樣打開,但同時在暫不動 fake-ip 與 DNS 其他段落的前提下,重複測一次;若只在「開嗅探」時壞、關了就好,因果就更清楚。
不要忘記圖形殼的細節:有些用戶端要重啟系統代理或 重掛 TUN 介面後,改動的嗅探旗標才會全路徑生效。若你剛從一鍵入門包升級、或併了兩段訂閱,重載後仍讀到舊嗅探行為也不罕見。此時寧可先關 app 重開,也不要同時多改幾十行 YAML。
四、分網域關閉與略過:Mihomo 範本思路
當你確認「只有開嗅探才壞」或「關了嗅探一定好」時,正解通常不是關掉全世界,而是在嗅探層寫好略過,讓多數流量仍享嗅探帶來的命中精準,只把高敏感站點移出。以 Mihomo 系常見的 sniffer 段落為例,實作名稱會隨核心版本而演進,讀者請以手邊說明為準。下列片段只示意層次,請不要未核對就整段硬貼進正式設定檔。
sniffer:
enable: true
sniff:
TLS:
ports: [443, 8443]
# other protocols if your build documents them
force-dns-mapping: true
parse-pure-ip: true
override-destination: false
# exclude sensitive hosts from sniffing / override logic
skip-domain:
- "+.example-bank.com.tw"
- "+.gov.tw"
# some builds use skip-sni (name varies); confirm in your version docs
幾點實務上的寫法習慣。第一,根網域與 CDN 子網域要一起盤點;銀行站常把登入、圖文、3D 驗證拆到不同子域,少列一條就會在某一頁復發。第二,萬用字元前綴如 +. 能覆蓋多一層,但仍建議在開發者工具裡實測兩三個實際會命中者。第三,部分版本有覆寫目的地一類的旗標,若你發現關了該旗標、或降低覆寫侵略性就恢復,也要一併記錄,否則只加 skip-domain 仍不夠。
何時寧可暫停 override 或純以埠縮小嗅探
若你的設定裡有較寬的嗅探覆蓋(例如不僅 443、還掃了其他 TCP/UDP 埠位),可先把 TLS 埠位限縮在常見 443 區間,再針對仍異常的站寫 skip-domain。這能顯著降低「以為是銀行站,其實是旁路服務的握手在抖」的錯判。
五、和 fake-ip、DNS 分不清楚時怎麼辦
表徵上,嗅探、fake-ip、DNS 汙染都能呈現成「少數站連不上、憑證怪怪的」。一個實用的心法是:先問自己 DNS 有沒有參與敘事。若關了嗅探、問題仍在,下一步通常不是去微調 sniffer,而是轉到 fake-ip 與 DNS 專文,檢查 fake-ip-filter、nameserver 與 fallback 是否讓主機名稱在你網路下走到意料之外的解析前綴。若關了嗅探就好,則與 fake-ip-filter 漏列 疊加時,兩邊的修法不互相抵銷,而是可以各管一段:前者管「從加密封包還原 host 的語意」、後者管「在 DNS 面是否該用假位址」。
也請記得搜尋意圖的差別。若你是一路從「開了 fake-ip 就白畫面」找過來,那篇文章的路徑會更貼。若你明確是「開嗅探之後才在特定幾家銀行或政府站觸發」,則以本文的分網域關閉優先。兩邊在現場實作上常常要前後參照,但不應在還沒做對照實驗前,就把整包 DNS 或整包 fake-ip 關光。
| 實驗訊號 | 下一步較可能的方向 |
|---|---|
| 關嗅探立刻好、開了必壞 | 以 sniffer 的略過、埠縮小、覆寫行為收斂;再視需要微調 override-destination 等旗標 |
關閉或改 fake-ip 與 redir-host 才會好 |
優先 fake-ip-filter 與 DNS 鏈,見 fake-ip 專文,而非持續關閉整段嗅探 |
| 改節點就好、與嗅探偵測弱相關 | 看出口 SNI 是否與實站相符、或節點品質,銜接 TLS 專文 |
六、網路銀行、政務與 TUN 的實務注意
在桌面瀏覽器之外,行動裝置上的銀行 App 往往不經系統 PROXY 路徑,而直接依賴 VPN 介面、憑證釘選與專有長連線。若你只在電腦上關了嗅探、手機卻仍異常,請先釐清實際走哪一張介面出網,再決定是調整 TUN 例外、還是讓應用程式直連。若目標是內地政務或跨境金融,可再參考 GeoIP 與 DIRECT 規則 一文,把「本該在境內直連的網段」從一開始就不要誤丟到海外節點,避免與嗅探、DNS 的症狀看起來像同一件事。
在 Windows 上開 TUN 的讀者,若遇全機或分 App 的憑證彈窗,請同時比對我們的 TUN 與防火牆排查,確認不是路由或 WFP 先把封包導到錯誤堆疊。那類問題若只改嗅探、往往不會有完整體感改善。本文刻意把 TUN 放在此節、而非假裝 TUN 與嗅探是同一顆鈕,就是為了避免讀者一開始就關 TUN 當成萬靈藥,反而讓其餘外網需求又全部退回到手動狀態。
安全與合規的邊界
本文只談使用者在自己擁有管理權的裝置上、為了讓站點恢復可讀、可登入而調整的本地路由與 Clash 行為。各金融機構對企業內部網路、以及對變更或繞過安全檢測自有規範。若你處在職場或校園專用網,任何嗅探、TUN 與自簽根憑的改動,都應以內部 IT 與法遵為準。本文的技術敘事不以規避審查為目標,而是協助在合法、合規的自助維修範圍內,把變因拆乾淨。
七、小結
Clash 嗅探 能讓以 IP 呈現的連線重新有網域語意可分流,是進階設定裡很常打開的開關。但少數 HTTPS 高敏感站(尤其是你搜尋時常用的網路銀行、證期貨、政務單一入口)在握手與客戶端實作上更挑惕,Sniffer 參與的還原與轉送若與其預期不合,就會在表面上長得像一般憑證或白畫面錯。把流程固定成「先對照是否嗅探、再分網域略過、最後才動 fake-ip 與整段 DNS」通常最省改動。若你還在握手訊息裡掙扎,別忘了 TLS 專文 能把節點、SNI 與嗅探的邊界講更細。
從產品面來看,Clash 生態在可檢驗的 YAML、規則與日誌上比多數圖形一鍵工具更透明,這正是「先小改一處、再觀察整體是否仍流暢」的基礎。若你正要重新整理一版可長期維護的設定,建議一併讀 本站文件大綱,把嗅探、DNS 與策略組的關係畫在紙上,以後升級用戶端或合併訂閱就不容易一次性炸開。
在相同的使用情境下,多數團隊會選擇讓少數幾家銀行與政務主機名從嗅探中豁免、其餘流量維持嗅探,以兼顧命中與穩定。相較於不斷在論壇換節點名稱,這種可重複、可寫入版本庫的小範圍關閉,往往才是長期能維護的作法。