Dataでは、Shadowrocketが記録した通信量を確認できます。携帯電話会社の請求量やサービス提供元の残量とは異なります。設定済みで通信の内訳を調べたい方に向けて、累計量と通信速度の違い、サーバー別・アプリ別の見方を説明します。最後に、同じ時間帯のデータを使って、リセットやルーティング、数値の差を確認する方法を紹介します。
Dataの集計範囲と単位
ShadowrocketのDataは、端末上で通信量を確認するための画面です。表示されるのは、アプリが観測・集計できる経路を通った通信に限られ、端末のすべてのネットワーク通信を合算したものではありません。接続を切った状態で端末が行った通信、ほかの端末の通信、サービス提供元が異なる基準で集計した通信量は、端末上のDataからそのまま把握できません。
数値を見る前に単位を確認しましょう。1秒あたりを表すKB/s、MB/sは通信速度、KB、MB、GBは累計データ量です。Webページの読み込みが終わると通信速度はすぐに下がることがありますが、累計量は残ります。これは指標の違いによるもので、記録が食い違っているわけではありません。
UploadとDownloadは、通常、端末から見た送受信の方向を示します。リクエストの送信やファイルのアップロードは送信、Webページのデータ受信やファイルのダウンロードは受信です。ダウンロード中も、リクエストや確認応答などの送信データがあるため、Uploadが増えることがあります。Uploadの数値だけを見て、ファイルがバックグラウンドで送信中だと判断しないでください。
サーバー別に確認する:通信がどの出口を通ったか
サーバー別表示で確認するのは、接続がどのProxyサーバーに割り当てられたかです。Webサイトやアプリごとの通信量を示すものではありません。まずHomeで選択中のサーバーとGlobal Routingを確認し、Dataで該当する項目を見ます。サーバー別の累計量は「この時間帯に主にどの出口を使ったか」を調べるのに適していますが、「どのアプリが最も通信したか」は単独では判断できません。
Homeで選択するサーバーを切り替えても、既存の接続がすべて新しいサーバーへ移るとは限りません。確立済みの長時間接続は以前の出口を使い続け、新しい接続から切り替え後の選択やルールが適用される場合があります。切り替え後もしばらく古い項目の数値が増える場合は、動画の再生やダウンロード、長時間接続が続いていないか確認してください。
| 表示される状況 | 分かること | 次に確認すること |
|---|---|---|
| 特定のサーバーの累計量が増える | 観察時間中に、その統計項目で通信が記録された | Homeで選択中のサーバーと接続中の通信を確認 |
| 切り替え後も古いサーバーの数値が増える | 以前の出口を使う接続が残っている可能性がある | 実行中のタスクを止め、新しいリクエストで確認 |
| Webページは表示できるが、Proxyの項目は増えない | リクエストがDIRECTに一致したか、キャッシュが使われた可能性がある | Global Routingと接続記録を確認 |
| 同じ名前の項目があり区別しにくい | 名前だけでは設定の同一性を確認できない | サーバーアドレス、ポート、所属するサブスクリプションを確認 |
サブスクリプションを更新すると、表示名やサーバーアドレス、項目の構成が変わることがあります。以前の記録と照合する場合は、これらの情報もあわせて保存し、同じ名前だけで同一の記録だと判断しないでください。サブスクリプションはサービス提供元から取得します。更新によって設定の取得元は更新されますが、端末上の統計がリセットされたり、サービス提供元の使用量が再計算されたりするわけではありません。
アプリ別に確認する:識別できる通信の発生元
アプリ別表示は、通信元ごとに割り当て可能な通信を集計します。一方、サーバー別表示は、通信の出口ごとに集計します。同じアプリでも複数のドメインにアクセスし、ルールに応じてDIRECT接続とProxy接続の両方が発生することがあります。同じProxyサーバーも、複数のアプリの接続に使われます。これは異なる2つの集計軸であり、別々の使用量として足し合わせるものではありません。
iPhoneやiPadでは、システムからネットワーク拡張に渡される情報に制限があります。アプリ名が表示されるか、接続を正確にアプリに割り当てられるかは、システムが提供する情報や接続の種類、表示中の統計によって異なります。特定できない項目や個別表示されない項目を、独自に特定のアプリの通信だと決めつけないでください。画面にないアプリ別の情報を、サーバー名から推測することもできません。
- 動画再生、クラウド同期など、明らかなバックグラウンド処理を一時停止し、Dataの現在値と時刻を記録します。
- 1つのアプリで1つの操作だけを行います。たとえば、まだ読み込んでいないWebページを開き、複数のタスクを同時に切り替えないようにします。
- 60秒待ってからDataに戻り、増加分を確認します。同時にサーバー別の数値にも変化があるか確認してください。
- 同じ手順をもう一度行います。ページがすでにキャッシュされている場合は、2回目の通信量が少なくなることがあります。まだ読み込んでいないコンテンツに変えて確認してください。
まとめ:発生元は単一アプリの増加分で確認し、2つの表示を合算しない
開始時の数値を記録してから、タスクを1つだけ実行します。発生元の特定にはアプリ別表示、出口の特定にはサーバー別表示を使います。2つの累計値を比べるより、両方を照合するほうが問題を見つけやすくなります。
Global Routingとルールが統計に与える影響
Dataは結果を記録し、ルーティング設定は接続の処理方法を決めます。確認するときは、まずHome → Global Routingを開きます。Proxy、Direct、Config、Sceneはそれぞれ異なる処理方法を示すもので、独立した4つのカウンターではありません。Proxyは対象の接続をProxy経由で処理し、Directは直接接続します。Configは現在の設定ルールに従って振り分け、Sceneは現在のシーン設定に基づいて処理します。
Configでは、1回のページアクセスでメインサイト、画像、動画、分析用のAPIなどへリクエストが送られることがあります。これらのドメインが同じルールに一致するとは限りません。以下はルールの照合順を説明するための例で、完全な設定ではなく、既存の設定を置き換える必要もありません。192.0.2.0/24はドキュメント用の例示アドレス範囲です。
DOMAIN-SUFFIX,example.com,DIRECT
IP-CIDR,192.0.2.0/24,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY
DOMAIN-SUFFIXは指定したドメインのサフィックスに一致します。例では該当するリクエストにDIRECTを使います。IP-CIDRはアドレス範囲に一致します。no-resolveは、このIPルールのために追加のドメイン名前解決を行わないことを示します。GEOIPはIPアドレスの地理データベースに基づいて照合します。結果は使用するデータベースと実際の宛先アドレスによって異なります。FINALは、それまでのルールに一致しなかった接続を処理します。例では、その接続をPROXYに振り分けます。
ブラウザの通信量が増えても、特定のProxyサーバーの数値が必ず同時に増えるとは限りません。接続記録にある宛先、一致したルール、最終的な処理方針をあわせて確認してください。接続が自動的に再開するように見える場合は、Settings → On Demandの現在の設定も確認します。オンデマンド接続によって統計期間中の接続状態が変わることはありますが、Dataが携帯電話会社の課金記録になるわけではありません。
統計のリセット:基準値を保存してから新しい計測を始める
リセットすると、端末上の統計を比較する基準が変わります。接続の切断、サーバーの切り替え、サブスクリプションの更新とは別の操作で、サービス提供元のアカウントに記録されたプラン使用量もリセットされません。操作前に、画面に表示されている集計範囲、合計値、時刻を記録してください。異常を調べる場合は、すぐにリセットするよりも、リセット前の情報を残すほうが役立ちます。
- Dataを開き、サーバー別・アプリ別のどちらを表示しているか確認します。適用中のフィルターや時間範囲があれば記録してください。
- 確認したい項目の数値と端末の時刻を保存します。合計だけでなく、UploadとDownloadを分けて記録してください。
- 現在のData画面で実際に利用できる消去またはリセット操作を使い、確認メッセージを読んでください。画面の表示は異なる場合があります。「接続記録を消去」と「累計通信量をリセット」を同じ操作だと考えないでください。
- 同じ統計表示に戻り、どの項目に影響したか確認します。該当するリセット操作が見つからない場合も、開始時の数値を差し引けば計測時間を設定できます。
- 決めたタスクを1つ実行し、60秒後に終了時の数値を記録します。「終了時の値-開始時の値」で増加分を計算し、途中でネットワークやサーバーを切り替えたかも記録してください。
たとえば、ある項目のDownloadが開始時に120 MB、終了時に145 MBなら、この時間帯の表示上の増加分は25 MBです。この例は引き算の説明であり、実測値ではありません。途中でリセットした場合や、開始値と終了値が異なるフィルター表示から取得された場合は、単純に差し引けません。その場合は基準値を取り直してください。
数値が合わないときの原因とよくある質問
端末上のData、システムのモバイルデータ通信量、サービス提供元の使用量は、それぞれ異なる場所で集計されます。サービス提供元は、複数の端末をアカウント単位で合算したり、異なるタイムゾーンで締めたり、更新を遅らせたりすることがあります。また、課金ルールに基づいてプロトコルのオーバーヘッドや通信量の倍率を適用する場合もあります。システムのモバイルデータ統計には、接続を切った状態での通信が含まれることがあり、Wi-Fi通信は含まれません。比較する前に、端末、時間帯、ネットワークの種類、計量単位をそろえてください。
サービス提供元の使用量がDataより多く表示されるのはなぜですか?
まず、サービス提供元の集計期間、ほかの端末が含まれているか、通信量の倍率が設定されているかを確認してください。次に、同じ端末で一定時間のテストを行い、提供元側のデータが更新されてから増加分を比較します。クライアントが表示するbyte数を、そのままサービス提供元の課金基準として扱うことはできません。
アプリを開いていないのに、数値が増えるのはなぜですか?
バックグラウンド同期やメディア再生を一時停止し、ダウンロードや長時間接続が残っていないか確認します。さらにHomeの接続状態とSettings → On Demandを確認してください。画面上で操作していなくても、端末が通信していることはあります。累計値だけでは、通信の具体的な発生元は特定できません。
Webページを見続けているのに、特定のサーバーの数値が変わらないのはなぜですか?
まずHome → Global Routingで現在の処理方法を確認し、接続がDIRECTに一致していないか調べます。ルーティングが想定どおりなら、キャッシュされていない別のページを開き、同じ統計画面で変化を確認してください。数値を増やすためだけに設定全体を変更しないでください。
リセットした統計を元に戻せますか?
リセットを取り消せるとは限りません。まず、現在の画面に別の時間範囲の記録が残っているか確認してください。記録がなければ、端末上で消去されたデータを現在の累計値だけから正確に復元することはできません。長期的に使用量を照合する場合は、リセットのたびに数値と時刻を保存してください。
まとめ:時間帯をそろえてから差を調べる
差が続く場合は、開始・終了時刻、ネットワークの種類、Global Routingの状態、サーバーの識別情報、双方の増加量を記録してから、集計基準を確認してください。こうした基本情報を記録する代わりに、プロトコルを切り替えたり何度もリセットしたりしないでください。
Dataは、通信の傾向を把握し、調査範囲を絞るのに役立ちます。どの出口の数値が増え続けているか、1つのタスクでどれだけ増加するか、DIRECTとProxyの処理がルールの想定どおりかを確認できます。一方で、アプリの全通信がどこに割り当てられたかを証明したり、サービス提供元の残り容量を示したりするものではありません。ここまでの確認を行ってから接続記録に基づいて設定を調整すれば、統計の読み違いで正常な設定を変更するのを避けられます。