MacでアプリごとのWi-Fi通信量をモニタリングする方法
MacでアプリごとのWi-Fi通信量をリアルタイムと長期の両面で把握する方法。SaaS料金を払わずに実現する手順を解説します。
- macOS
- Wi-Fi
- Bandwidth
- Tutorial
ホテルWi-Fi上で接続が遅く感じ、どのアプリがリンクを独占しているか分かりません。アクティビティモニタはプロセス別の送受信バイトを教えますが、それらのバイトがWi-Fi経由かイーサネット経由かは——あるいはその時どのネットワーク上にいたかは——教えません。MacでアプリごとのWi-Fi使用量を監視するには、macOSがプロセス別にトラフィックをどう数えるか、どうそれらのバイトをインターフェース経由でルーティングするか、そして1日中重いアプリを動かさずにそのデータを表面化する方法を理解する必要があります。
このガイドはmacOSでの「Wi-Fi使用量」が本当に何を意味するか、今日使える組み込みツール、そしてメニューバーモニターがどう同じカーネルデータを作業中に一目見られる何かに変えるかを歩きます。
「MacでアプリごとのWi-Fi使用量を監視」の実際の意味
macOSはアプリケーション層でWi-Fiをイーサネットと別個に追跡しません。すべてのアプリはソケットを開き、カーネルは現在のデフォルトルートのインターフェース(en0、en1、utun0など)経由でパケットをルーティングし、プロセス別カウンタはどの物理リンクが運んだかに関係なくバイトを足します。
だから人々がMacでアプリごとのWi-Fi使用量を監視する方法を検索するとき、ほぼ常に2つのうちの1つを意味します:
- MacがWi-Fi上にあるときのアプリ別トラフィック——つまりカフェにいて、イーサネットが抜かれ、すべてのトラフィックが
en0経由。この場合、「アプリ別トラフィック」と「アプリ別Wi-Fiトラフィック」は同じ。 - 他のインターフェースが存在しても、特にWi-Fiインターフェース経由でルーティングされたアプリ別トラフィック。USBイーサネットアダプタのあるMac mini、または電話ホットスポットにテザリングしているときに重要。
両方の問いは縮約: 「プロセス別のバイトを表示し、どのインターフェースを使ったか教えて」。Appleはnettopとアクティビティモニタで部分的な答えを出荷。専用ツールがギャップを埋めます。
macOSがWi-Fiとイーサネット間でトラフィックをどうルーティングするか
システム設定 → ネットワークを開く。優先順のサービスリスト: Wi-Fi、USB 10/100/1000 LAN、Thunderbolt Bridgeなど。最上位のアクティブサービスが新しい接続に勝ちます——アプリが明示的に異なるインターフェースにバインドする場合を除き。
それからいくつかのことが従う:
- イーサネットとWi-Fi両方が接続され、イーサネットがサービス順で上なら、抜くまでほぼ何もWi-Fi上を流れない。
- Wi-Fi上だったときに接続を開いたバックグラウンドアプリは、再接続するまでその接続をWi-Fi上に保つ。だからイーサネットへの切り替えはiCloud同期を即座に動かさない——次の再接続が動かす。
- VPNトンネル(
utun*)は基礎となるインターフェースをラップ。バイトはutun0とトンネルを運ぶ物理インターフェースに現れる。
ターミナルでroute get defaultで現在のデフォルトインターフェースを確認できます——interface: en0(Wi-Fi)またはinterface: en6(USBイーサネット)などを表示。
組み込みツール: nettopとアクティビティモニタ
新しい何かに手を伸ばす前に、すでにMacにあるツールを試しましょう。
nettop
ターミナルを開いて実行:
nettop -P -m route-Pはプロセスごとに合計(接続ごとではなく)、-m routeはルートでグループ化したビューに切り替え。Slack.21341のような行がbytes_inとbytes_outをライブ更新で見えます。cでモード切替、qで終了。
限界: nettopは既定ビュー内でカウンタを単一インターフェースに固定できず、ヘルパープロセスを折りたたみません。Slack、Slack Helper、Slack Helper (GPU)、Slack Helper (Renderer)が4つの別行として見える。
アクティビティモニタ——ネットワークタブ
アクティビティモニタのネットワークタブはプロセス起動以来のプロセス別合計送受信バイトを表示。ライブレートを表示せず、ヘルパーを折りたたまず、インターフェースを分離しません。健全性チェックには有用、リアルタイムツールとしてはダメ。
Wi-Fi特有のデータ: wdutil
sudo wdutil infoリンク層状態を表示——チャンネル、RSSI、PHYモード、BSSID。アプリ別カウンタと組み合わせて、遅さが無線問題かアプリ問題かを教えます。
MacでアプリごとのWi-Fi使用量を監視するメニューバーツールが勝つ理由
ターミナルウィンドウで1日中nettopを動かすのは素晴らしいワークフローではない。セッションではなく一目が欲しい。それがメニューバーモニターの出番。
ovaはmacOSメニューバーに座り、既定でライブの上下レートを表示。クリックすると現在のレートに加えて過去使用のスクラブ可能なタイムライン付きアプリ別リスト。ヘルパープロセス——Slack Helper、Google Chrome Helper、Discord Helper——は親アプリの下に折りたたまれるので、7つのヘルパー行ではなく「Slack」と読めます。
MacがWi-Fi経由のみで接続されているとき、そのアプリ別リストがWi-Fi使用量内訳。複数のインターフェースがあるとき、タイムラインをどのインターフェースがアクティブだったかと相関できます。
今日アプリ別Wi-Fi使用量を見る5分のセットアップ
今すぐ実行できる繰り返し可能なワークフロー。
- Wi-Fiがアクティブインターフェースか確認。 ターミナルで:
route get default。interface: en0(またはシステム設定 → ネットワークで Wi-Fiが示すもの)を探す。 - メニューバーモニターをインストール。
/Applicationsにovaをドロップ。約3MB、署名・公証済み、macOS 14以降で動作。 - メニューバーリストを開く。 アプリ別ライブレートが見えます。話者を見つけるため現在のレートでソート。
- タイムラインをスクラブ。 履歴ビューに入り、アプリが5分前、1時間前にスパイクしたか、午前中ずっと安定していたかを見る。
- nettopと相互チェック。 数字が疑わしく見えるなら、
nettop -P -m routeを実行して比較。両者は密に一致するはず——同じカーネルカウンタを読みます。
ovaを動かしてみる
一目で分かるメニューバー通信量モニター——ローカル、署名済み、約3MB。
データを読む: 正常、正常でない
Wi-Fi上の典型的な業務日からのいくつかのベースライン:
- Slackアイドル: 定常で5〜30KB/s、websocket pingとプレゼンス更新。ハドル中や誰かがファイルを共有するとき高い。
- タブ10のChrome: 大きく可変、しばしばアイドルで0〜200KB/s、動画再生やDrive同期開始時に5+ MB/sにスパイク。
- Spotifyストリーミング: 既定品質で約150〜300KB/s、ロスレスで約700KB/s。
- Zoom 1080p: 1対1で上下2.5〜3.8 Mbps、ギャラリービューでより多い。
- 電話インポート後のiCloud写真同期: 数分間アップリンクを飽和できる。
おしゃべりな業務がないアプリ——スクリーンセーバ、壁紙アップデータ、計算機——から持続的なトラフィックが見えるなら、調査の価値あるフラグ。
インターフェース別集計が実際重要なとき
ほとんどのMacユーザは一度に1つのアクティブインターフェースを持つ。ただ、インターフェース別粒度が必要な実際のケースがあります:
- ホットスポットでギガバイトごとに払う。 どれだけiPhoneテザリング(
en4または同様)経由か、通常のWi-Fi対比で知りたい。 - 企業VPN上にいる。
utun0上のトラフィックはスプリットトンネル感受性——どのアプリが実際にトンネルを使ったか見たい。 - デュアルリンクMac miniサーバを持つ。 管理用Wi-Fi、ワークロード用イーサネット、何も間違った方向に漏れていないか確認する必要。
カーネルはsysctl net.link.genericとgetifaddrs(3)経由でインターフェース別カウンタを公開、ただプロセスにマッピングし戻すにはPID-ソケット-インターフェースバインディングを歩く必要があります。これがまさにnettopが内部的にすること、そしてovaのような良いメニューバーモニターが一目で見られるUIで表面化することです。
プライバシー考慮
ネットワークモニターはメタデータを読む——プロセス別バイト、一部ツールではホスト名、タイムスタンプ。それは機密。何かをインストールする前に、3つを確認:
- データはどこに住むか? クラウドダッシュボードに通信量履歴を送るモニターはあなたの挙動をエクスポート。説明で「すべてのデータがディスク」や「100%ローカル」を探しましょう。
- アプリは署名・公証済みか? macOS Gatekeeperが初回起動時に教えます。カーネルアクセスのある未署名モニターは動かしたいものではない。
- アカウントを必要とするか? すべきでない。ローカルモニターはログイン認証情報を必要としない。
ovaはローカル限定、署名・公証済み、決してアカウントを尋ねません。あなたに合わないと決めたら、14日間返金は無条件です。
一般的な質問
Little Snitchはすでにこれをするか?
Little Snitchはファイアウォール——仕事は接続を遮断または許可。トラフィックも表示しますが、フォーカスはルールであってメトリクスではない。ovaはモニター——仕事は遮断層なしに何が起きているかを表示。よく組み合わさる。ポリシーを強制したいときLittle Snitchを動かす。静かで正確な読み出しが欲しいときovaを動かす。
iPhoneのWi-Fi使用量は?
異なるOS、異なるAPI。iOSは設定 → モバイル通信でアプリ別セルラーデータを公開しますが、サードパーティアプリを含む誰にもアプリ別Wi-Fiデータを公開しません。iOSにnettopの等価物はありません。すみません。
ovaはmacOS 13以前で動くか?
ovaはmacOS 14(Sonoma)以降を必要とします。それ以前のバージョンは正確な集計のためにアプリが使う一部のプロセス別ネットワーキングAPIを欠いています。
まとめ
MacでアプリごとのWi-Fi使用量を監視するには、本当に2つの問いを積みます: プロセス別集計とインターフェース別意識。macOSはnettopとカーネル経由で生のデータを与え、アクティビティモニタはスナップショットを与え、メニューバーモニターは同じ数字をターミナルウィンドウを必要としないライブのスクラブ可能なビューに変えます。
今日1つだけするなら、ovaをインストール、業務中1時間動かし、アプリ別リストをチェック。話者があなたを驚かせます——常にそうします。