Data 適合觀察流量變化,但不能單靠它證明某條規則已命中。本文以使用者已有自己的服務商與訂閱為前提,先區分累計流量與即時速率,再說明伺服器歸屬與 App 歸屬,最後透過固定網路、測試前後讀數及請求紀錄交叉確認分流。不同裝置提供的統計欄位可能不同,請依目前頁面實際顯示的項目操作,不要把 App 辨識結果當成完整的系統流量清單。
先看懂統計方式:上傳、下載與速率
查看 Shadowrocket 的 Data 時,先確認數字代表的是累計位元組數,還是單位時間內的傳輸量。上傳是裝置向外傳送的資料,下載則是裝置接收的資料;兩者以裝置的角度區分,不是依「檔案由誰建立」判斷。開啟網頁通常也會產生上傳流量,因為請求、確認及其他通訊同樣需要傳送資料。
累計數值的單位通常是 KB、MB、GB 等容量單位;帶有 /s 的數值則代表速率。累計下載增加 20 MB,不代表「下載速度是 20 MB/s」。如果頁面顯示的是位元組速率,而測速結果使用位元速率,理論換算關係為 1 byte = 8 bits;實際比較時也應統一取樣時間與單位進位方式。
統計結果也會受到計數起點與觀察範圍影響。連線開始、App 重新啟動及手動重設,不應預設為相同的計數界線。先記下目前頁面的時間範圍或重設狀態;若頁面沒有明確說明,只比較同一頁面、同一輪測試前後的差值。Data 的本機計數與服務商帳單可能來自不同層級,協定封裝、計費方向及結算規則也可能不同,因此不能據此推算方案剩餘流量。
| 觀察到的現象 | 可以代表 | 不能直接代表 |
|---|---|---|
| 累計下載增加 | 統計範圍內有接收到資料 | 目標網頁一定已完整載入 |
| 瞬時速率歸零 | 目前取樣時段的傳輸量很少或沒有傳輸 | 伺服器一定無法使用 |
| 上傳持續增加 | 裝置仍有資料向外傳送 | 一定正在上傳使用者檔案 |
| 本機數值與帳單不同 | 需要確認雙方的統計方式 | 其中一方一定計數錯誤 |
依伺服器查看讀數:確認出口,別把選取項目當成所有流量
依伺服器彙整,適合用來回答「哪些伺服器的計數正在變化」。在 Home 選取伺服器,只表示相關代理伺服器目前的選取狀態;若使用 Config,請求仍會依設定規則選擇 DIRECT、代理策略或其他已設定的策略。因此,選取的伺服器沒有明顯增加流量,不代表所有網路請求都失敗,也可能是目前的連線採用直連或命中其他策略。
這個流程有助於理解分流關係,但不代表所有計數器都位於相同層級。檢查特定伺服器時,請記下名稱、位址與連接埠,避免把兩個同名項目誤認為同一個出口。連接埠是連線參數,不是統計單位;例如設定中的連接埠是 443,也不能只憑連接埠判斷實際使用哪種協定。
- 在 Home 確認目前的連線狀態、伺服器選取項目及 Global Routing。
- 開啟 Data,記下目標伺服器顯示的上傳與下載數值,並保留原單位。
- 執行一次明確的網路操作,再回到同一統計項目記錄增量。
- 如果增量不如預期,請查看該請求實際命中的策略或規則,不要立刻更換伺服器。
既有連線也是常見的干擾因素。切換伺服器或修改規則後,已建立的連線不一定會立即依新條件重新建立。測試時應結束原本的網路作業,再發起新請求;若需要重新連線,請先停止正在傳輸的重要工作。不能只因切換後影片仍繼續播放,就認定新伺服器已接手該連線。
依 App 查看讀數:區分 App 歸屬、網域與系統活動
依伺服器查看是出口維度,依 App 查看則是來源維度;兩者不是可以相加的兩份總流量。同一個請求可以同時歸屬於一個來源與一個出口。App 維度適合確認「測試期間哪個可辨識來源有活動」,伺服器維度則適合確認「哪個出口的傳輸量有所變化」;兩種觀察應採用相同的時間範圍。
在 iPhone 與 iPad 上,隧道可取得的資訊,不等同於系統電池或行動網路設定中的 App 歸屬資訊。不要預設 Data 一定會列出每個已安裝 App 的完整上傳與下載流量。如果目前頁面有提供 App 分類,請先確認標籤的意思;如果只顯示伺服器、連線或網域紀錄,就依現有欄位分析,不必尋找不存在的選單。
| 觀察維度 | 適合回答的問題 | 主要限制 |
|---|---|---|
| 伺服器 | 哪個代理出口的讀數增加 | 無法據此完整還原發起請求的 App |
| App 分類 | 哪個可辨識來源產生了活動 | 可辨識範圍取決於系統與頁面功能 |
| 網域或目標位址 | 請求連線到哪個網路目標 | 同一個目標可能由多個 App 使用 |
| 請求與規則紀錄 | 特定請求如何選擇策略 | 需要對照測試時間與目標 |
瀏覽器開啟一個頁面時,可能會連線到主網域、圖片網域、字型網域及 API 網域;其他 App 也可能使用相同的內容傳遞位址。因此,看到某個網域不能直接認定只有一個 App 使用它。背景同步、系統推播與快取也會影響觀察:沒有主動操作時仍可能出現流量,而重新開啟已快取的頁面時,流量可能很少。
結論:分別確認來源與出口
先用單一 App 的一個新請求縮小觀察範圍,再透過目標位址與命中策略確認出口;不要只憑伺服器總量增加,就把所有增量都歸因於剛開啟的 App。
透過 Global Routing 與規則紀錄確認分流
確認規則前,先在 Home 查看 Global Routing。Proxy、Direct、Config、Scene 代表不同狀態:Proxy 用於代理路由,Direct 用於直接連線,Config 會依目前設定處理,而 Scene 則需確認所選情境的具體設定。若要確認 Config 中的某條規則是否生效,請先確認目前採用的是 Config,而不只是連線開關已開啟。
以下是用來說明語法的最小範例,不是要你直接取代現有設定。example.com 是範例網域;192.0.2.0/24 是文件專用的範例位址範圍,不能用來實際測試連線。修改前請先保留原設定,並確認設定中的策略名稱確實存在。
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.0.2.0/24,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY
DOMAIN-SUFFIX用來比對指定網域及其子網域。主頁面與資源網域不同時,可能分別命中不同規則。IP-CIDR依目標 IP 位址範圍進行比對;範例中的no-resolve表示不為該 IP 規則額外觸發網域解析,不代表整條連線不需要 DNS。GEOIP依目標 IP 的地理位置資料庫分類進行比對,與網站顯示語言或網域後綴無關。FINAL用來處理前面規則都未命中的請求。排查時既要找到預期的規則,也要確認請求是否落入最後的比對項目。
規則通常會依設定順序逐一檢查,前面的比對項目可能讓後續規則無法處理該請求。若 Data 只顯示增量,就無法反推出具體命中哪一條規則。請在 App 提供的請求或記錄中,比對測試目標、發生時間、命中規則及實際策略;具體入口依目前介面為準,不要把統計列當成規則命中紀錄。
一次可重現的測試:比較差值,不追著總量看
建議在相同網路、相同伺服器選取項目及相同設定下,使用一個前景 App 完成一次短時間測試。暫停其他主動下載與同步工作,但請留意系統背景通訊仍可能存在。測試目的不是讓裝置完全沒有其他活動,而是讓目標請求與時間範圍夠明確,方便和紀錄對照。
- 記錄測試條件:記下 Wi-Fi 或行動網路、Global Routing、目前的 Config、伺服器項目與連線狀態,暫時不要更新訂閱。
- 記錄起始讀數:在 Data 抄下目標統計項目的上傳與下載數值。若頁面提供重設功能,可以選擇使用;比較前後差值並不需要重設。
- 發起新請求:開啟一個網域可確認的頁面,記下時間並觀察約 60 秒。這只是測試時間範圍,不是效能標準。
- 記錄結束讀數:讀取相同統計項目,並確認計數範圍是否一致,以及期間是否曾重新連線或切換網路。
- 交叉確認:將目標請求紀錄中的出口與 Data 增量互相比對;變更一項設定後,重新發起請求再測一次。
例如,某伺服器的下載起始值為 120 MB,結束值為 128 MB,差值就是 8 MB。這只是計算範例,不是實測結果,也不代表頁面內容大小為 8 MB。如果這段期間還有背景活動,差值也會包含其他流量。若統計只顯示整數 MB,小型請求甚至可能暫時看不出明顯變化。
結論:一次只變更一個條件
先固定設定確認出口,再單獨修改一條規則並重新建立連線。不要在同一輪測試中同時更新訂閱、切換網路及更換伺服器,否則無法判斷是哪項變更造成讀數差異。
更新訂閱可能會改變伺服器項目,修改 Config 則可能改變分流結果,兩者都應與測試分開處理。如果需要更新使用者已有的訂閱,請先完成更新並重新確認選取項目,再記錄新的測試起始值;不要預設更新前後名稱相同的伺服器統計是連續的一組資料。
常見讀數疑問與排查方式
網頁可以開啟,為什麼伺服器流量幾乎沒有增加?
先檢查 Home 的 Global Routing,再確認目標請求是否採用 DIRECT 或其他策略。接著發起新的網路請求,排除快取影響,並確認查看的是目標伺服器,而非另一個同名項目。網頁能開啟,不代表流量一定經過目前選取的伺服器。
沒有開啟 App,為什麼上傳與下載數值還在變?
維持網路條件不變,記錄一小段閒置期間,再與單一前景操作進行比較。背景同步、系統通訊及既有連線都可能持續傳輸;可以搭配目標位址與時間縮小範圍,但不能單從總量變化推斷某個 App 正在上傳檔案。
為什麼找不到依 App 統計的選項?
先確認目前 Data 實際提供哪些分類,不要把伺服器清單當成 App 清單。如果沒有 App 歸屬欄位,可以使用「單一前景 App、固定時間範圍、目標請求紀錄」的方式觀察;系統本身的用量統計應依其獨立的計算方式查看,不要直接與隧道累計值相減。
Data 有流量增量,為什麼頁面還是出錯?
有資料交換只代表通訊曾經發生。請先查看失敗請求的錯誤訊息與策略,再檢查目標是否可連線、DNS 及連線參數。交握、錯誤回應與重複嘗試都可能產生流量,因此不能只因「有流量傳輸」就認定請求成功或速度正常。
完成檢查後,保留最少但可供核對的資訊:測試時間、網路類型、路由模式、目標網域、出口策略及讀數差值。分享診斷內容前,請遮蔽訂閱網址、存取權杖、密碼與私鑰。統計截圖或記錄只需保留與問題相關的部分,不必公開完整設定。