この記事の要点

ShadowrocketのDataでは、アプリが記録した通信量を確認できます。通信事業者の請求額を示すものではありません。通信量の内訳を調べたい方や、サーバーの使用量、バックグラウンド通信を確認したい方に向けて、読み方を解説します。まず送信と受信を区別し、集計対象、計測開始時点、通信の種類を確認しましょう。アプリ別の分類は識別できる範囲に限られ、システム全体のアプリ別通信量を示すものではありません。

Dataに表示される送受信量と速度

まずShadowrocketでDataの統計画面を開きます。画面の構成や項目の表示は変更される場合があるため、実際に表示されているラベルを確認してください。読み取る際は、累積データ量とリアルタイムの転送速度を区別します。累積データ量は「これまでにどれだけ転送したか」、速度は「現在どれくらいの速さで転送しているか」を示します。ページの読み込みを止めると速度はほぼゼロになりますが、累積データ量は自動でリセットされません。

累積データ量

Upload
端末から送信したデータ量。
Download
ネットワークから端末へ受信したデータ量。
Total
同じ対象・期間における送信量と受信量の合計。
主な単位
KB、MB、GB、またはKiB、MiB、GiB。画面の表記を確認してください。

Webページの閲覧でもリクエストの送信が発生し、ファイルのアップロードでも応答を受信します。

リアルタイムの転送速度

方向
UploadとDownloadの方向は、いずれも端末を基準にしています。
単位
「/s」が付いた数値は1秒あたりの転送量で、累積使用量ではありません。
換算
1 MiB = 1,048,576バイト、1 MB = 1,000,000バイト。
ビットとバイト
1 B = 8 bit。MB/sとMbpsは同じ単位ではありません。

単位をそろえてから、アプリ、システム、サービス事業者の記録を比較しましょう。

同じ集計対象でUploadが2 MiB、Downloadが10 MiBの場合、合計は12 MiBです。これは数値の読み方を示す例であり、性能テストではありません。画面では各項目を丸めて表示する場合があるため、表示された小数を足した値と合計の末尾がわずかに異なることがあります。

サーバー別の統計:接続がどの出口を使ったか確認

サーバー別表示で確認できるのは、通信が経由したプロキシ出口です。リクエストを開始したアプリ名ではありません。ここでは、利用者が自身で用意したサービスと接続情報を登録済みであることを前提とします。サーバー項目の数値が増えた場合、集計対象の通信がその出口に分類されたことを示しますが、端末上のすべての通信が経由したとは限りません。

アプリからのリクエスト トンネルで受信 ルール判定 出口に分類 通信量を集計

Home → Global Routingを確認します。Proxy、Direct、Config、Sceneはそれぞれ異なるルーティング設定であり、通信量の集計単位ではありません。Configを使う場合、接続は現在の設定に従ってルールに照合されます。Homeで選択しているサーバーが、すべての接続を処理するとは限りません。Sceneの動作は選択中のシーンによって異なるため、名前だけでは出口を判断できません。

たとえば、特定のドメインにはDIRECT、ほかの接続にはプロキシ出口を適用するルールの場合、両方の通信を同じプロキシサーバーの項目に合算することはできません。画面にDirectの統計が別途表示されている場合も、プロキシの項目と分けて確認します。サーバー名を変更したり接続情報を再インポートしたりした場合、表示名だけで以前と同じ集計対象だと判断しないでください。

アプリ別の統計:分類結果であり、システム全体の使用量とは異なる

アプリ別表示では、クライアントが識別できる接続を該当するカテゴリにまとめます。「接続情報をもとにした分類」と「システムが直接提供するアプリごとの通信量」を区別してください。iPhoneやiPadでは、トンネル内のすべての接続について、送信元のアプリを確実に特定できるとは限りません。画面に表示されないアプリ別の情報を、サーバー名から推測することもできません。

ドメイン、接続先アドレス、接続の特徴はアクセス先を把握する手がかりになりますが、必ずしも特定のアプリに対応するわけではありません。同じコンテンツ配信ドメインを複数のアプリが使うこともあれば、1つのアプリがログイン、画像、動画、統計など複数のドメインにアクセスすることもあります。不明または未分類の記録があっても、その通信量はそのまま残し、直前に開いたアプリへ無理に割り当てないでください。

集計の種類確認できることそのままでは判断できないこと
サーバー別集計対象の通信をどの出口が処理したか。どのアプリが使用量のすべてを消費したか。
アプリ別の分類識別できた接続が、どのアプリカテゴリに多く分類されたか。すべての接続が正確に識別され、システム上の全通信を網羅していること。
システムのモバイルデータ通信量現在の集計期間にシステムが記録したモバイルデータ通信量。その通信がすべて同じプロキシ出口を使ったこと。

確認方法:1つの操作で増加量を比較

確認したいアプリを1つだけ開き、操作前後の数値の差を記録します。次に、接続記録の接続先ドメインと実際に適用されたポリシーを照合してください。まず今回の操作が正しく分類されたかを確かめてから、長期間の傾向を分析します。

通信量をリセットするには:まず集計開始時点を確認

「VPNを切断する」「アプリを終了する」「午前0時を過ぎる」といった操作が、すべてのData記録を一律にリセットするわけではありません。現在の接続数、累積統計、接続ログでは、それぞれ記録の保持期間が異なることがあります。切断後にリアルタイム速度がゼロになっても、過去の累積値が削除されたとは限りません。ログを消去しても、すべての通信量カウンターがリセットされるわけではありません。

  1. Dataで確認したい集計グループを選びます。日時、項目名、UploadとDownloadの数値、統計期間が画面に表示されているかを記録してください。
  2. 画面にResetや統計を消去する操作がある場合は、確認メッセージを読んで対象範囲を確かめてください。テストする統計だけをリセットし、記録の消去を日常的な手順にしないでください。
  3. 操作後、すぐに同じグループへ戻り、対象のカウンターがゼロになったか確認します。ほかのグループの値が変わらなくても、操作に失敗したとは限りません。
  4. 明確なリセット操作が見当たらない場合は、「終了時の数値-開始時の数値」で期間中の通信量を計算できます。設定を削除したり、アプリを再インストールしたりする必要はありません。
  5. 比較のたびに開始時刻と終了時刻を記録します。システムのモバイルデータ通信量、クライアントの累積期間、サービス事業者の請求期間は、それぞれ分けて管理してください。

たとえば、開始時のDownloadが120 MiB、終了時が132 MiBなら、その期間の受信量は12 MiBです。途中でカウンターがリセットされ、終了時の値が開始時より小さくなった場合、この差分は意味を持ちません。基準値を取り直してください。特定の累積記録が保持されるかどうかは、画面の説明と実際の動作を確認します。一度の再起動後の挙動を、すべての統計に当てはめないでください。

Dataと通信事業者・サービス事業者の請求が異なる理由

3種類の数値は、それぞれ異なる内容を示します。Dataはクライアントが観測した通信量、通信事業者の記録は通信網側で課金対象となる使用量、利用中のサービス事業者の記録は独自のルールで集計した接続サービスの使用量です。通信の種類、期間、送受信の方向、単位がそろっている場合に限り、比較の意味があります。

iPhoneやiPadのシステムでは、通常、Settings → Cellularでモバイルデータ通信量を確認できます。実際の項目名は、システムの地域や言語設定によって異なります。現在の集計期間が請求月と一致するとは限りません。システム統計を手動でリセットする場合は、先に現在の記録を保存してください。システム側のリセット操作でShadowrocketのDataも同時にリセットされるわけではありません。

1つの操作で通信量の記録を確認する

トラブルの確認に速度テストを繰り返す必要はありません。速度テスト自体がまとまった通信を発生させ、確認したいアプリのリクエストを見分けにくくすることがあります。以下の方法は分類と増加量の確認に使うもので、プロトコルの性能測定ではありません。サーバーポートや既存の接続パラメータを変更する必要もありません。

  1. ネットワークを固定:Wi-Fiかモバイル通信のどちらかを選び、テスト中は切り替えないでください。ほかの大容量転送を一時停止し、現在時刻を記録します。
  2. ルーティングを固定:Home → Global Routingで現在の設定と有効な構成を記録します。Configを使用する場合は、テスト対象に適用される想定のポリシーを確認してください。
  3. 基準値を記録:全体表示、対象サーバー、利用できるアプリグループについて、送信量と受信量をそれぞれ記録します。事前にリセットする必要はありません。
  4. 1回だけ操作:確認したいアプリで特定のページを1つ読み込み、リクエストの完了を待ちます。連続して再読み込みしたり、同時にメディアを再生したりしないでください。
  5. 差分を確認:同じグループに戻り、画面が更新されてから終了時の数値から開始時の数値を引きます。接続記録と照合し、接続先と出口が一致するか確認してください。
  6. 自動再接続を確認:観察を一時停止する必要がある場合は、Settings → On Demandを確認します。オンデマンド接続のルールで再接続することがあるため、手動で一度切断しただけでは判断できません。

同じページを再度開いたときに2回目の増加量が小さければ、まずローカルキャッシュの影響を考えましょう。すぐに統計の記録漏れと判断する必要はありません。画面を操作していないのに少しずつ増える場合は、バックグラウンド更新、通知接続、名前解決、接続の維持などが発生していないか確認してください。少量の増加が続いているだけで、異常なダウンロードがあるとは判断できません。

よくある疑問と確認手順

選択中のサーバーがずっと0ですが、接続に失敗していますか?

まずHome → Global Routingを確認し、次に接続記録で実際に適用されたポリシーを確認します。Configでは、リクエストがDIRECTや別の出口に振り分けられることがあります。対象のポリシーを使うと確認できているリクエストで増加量を調べ、サーバーの数値が0という理由だけで接続失敗と判断しないでください。

アプリ別の合計が総計より少ない場合、差分はどこにありますか?

まず各グループの集計期間が同じか確認し、未分類の記録やほかのページも確認します。アプリの識別には限界があり、接続によっては確実に分類できません。この差分をそのまま請求の誤りと解釈しないでください。

切断後も数値が残っています。今日の通信量だけを見るには?

速度がゼロになっても、累積値が消えるとは限りません。画面に当日分を絞り込む機能がない場合は、当日の開始時と終了時の数値を記録して差分を計算します。リセット機能を使う場合は、対象範囲を確認メッセージで確かめ、以前の記録を保存してください。

ファイルをダウンロードしたのに、Dataの増加量がファイルサイズと一致しないのはなぜですか?

ファイルサイズが示すのはコンテンツの容量です。リクエストヘッダーやレスポンスヘッダー、再試行、同じ時間帯に発生したほかの接続によって数値が変わることがあります。一方、キャッシュが使われると実際の転送量が減る場合もあります。ネットワークを固定し、ほかの転送を一時停止して差分を取り直してから、違いの原因を確認してください。

Dataを分析するときは、まず期間と単位をそろえ、次に実際のポリシーを確認してから、アプリの分類と課金基準を調べます。問題の調査に必要な情報をまとめる場合は、開始・終了時の数値と状況を記録してください。接続記録を共有する前に、サーバーアドレス、認証情報、利用中のサブスクリプションの完全なURLを隠してください。