macOS のネットワーク診断ツール:組み込まれているもの、不足しているもの
Mac のネットワーク診断ツールの完全ガイド:ワイヤレス診断、Terminal コマンド、Monterey で削除されたもの、無料の GUI 代替品。
macOS には本物のネットワーク診断機能が搭載されていますが、見つけるには少し調査が必要です。存在するツールはシステム設定、Terminal、隠しメニューに散らばっています。一般ユーザーにも使いやすくするはずだったツールは削除されてしまいました。全体像を紹介します。
| 機能 | 標準 macOS | NetUtil あり |
|---|---|---|
| Wireless Diagnostics | ✓ | ✓ |
| ping / traceroute / dig(ターミナル) | ✓ | ✓ |
| networkQuality | ✓ | ✓ |
| Ping GUI | – | ✓ |
| Traceroute GUI | – | ✓ |
| DNS ルックアップ / Whois GUI | – | ✓ |
| ポートスキャン GUI | – | ✓ |
macOS 標準では基本的な機能しかカバーされておらず、接続状態以外のことには Terminal を使う必要があります。NetUtil は Apple が削除した GUI ツールを追加します。
macOS に最初から付属しているもの
ワイヤレス診断
Option キーを押しながらメニューバーの Wi-Fi アイコンをクリックすると「ワイヤレス診断を開く」が表示されます。ほとんどの Mac ユーザーはこのショートカットを知らなければ見つけることができません。
開いてみると、本格的な機能があります。スキャンタブには近くのすべてのアクセスポイントがチャンネル、信号強度、ノイズレベルとともに表示されます。パフォーマンスモニターはスループットと信号品質を時系列でグラフ化します。スニファーは Wireshark で分析するための生のパケットをキャプチャします。
Wi-Fi の問題に特化して言えば、ワイヤレス診断は適切なツールです。チャンネル干渉、信号の劣化、競合するアクセスポイント:これらすべてを表面化します。残念な点は見つけにくいことです。
Terminal コマンド
すべての Mac には Terminal にネットワーク診断ツールの完全なセットが付属しています。これらは数十年前から存在している標準的な Unix ユーティリティで、なくなることはありません。
ping はホストに到達できるか確認します:
ping -c 5 google.com
traceroute は Mac から宛先までの経路をマッピングし、途中の各ホップを表示します:
traceroute google.com
nslookup と dig は DNS ルックアップを処理します:
nslookup google.com
dig google.com MX
whois はドメイン登録情報を取得します:
whois google.com
netstat はアクティブなネットワーク接続とリッスンポートを表示します:
netstat -an | grep LISTEN
これらのツールは機能します。Terminal に慣れていれば、Mac に既に入っているものでほとんどのネットワーク診断を処理できます。制限は出力がプレーンテキストで、読むには慣れが必要で、コマンドラインに不慣れなユーザーには利用しにくいことです。
networkQuality
Apple は macOS Monterey で networkQuality というコマンドラインツールを追加しました。アップロード速度、ダウンロード速度、負荷下の応答性を測定します:
networkQuality
出力には RPM(1 分あたりの往復数)が含まれ、ビデオ通話などのリアルタイムアプリケーションで接続がどのくらい安定しているかを示します。これは優れた追加機能です。ただし、知らなければ探せない完全に隠れたツールでもあります。
システム設定とネットワーク設定パネル
システム設定は基本的な接続状態を表示します:Wi-Fi または Ethernet が接続されているか、IP アドレス、信号強度など。「接続されているか?」という日常的な質問にはこれで十分です。
それ以上のトラブルシューティングには役立ちません。
macOS Monterey 以降で失われたもの
Network Utility の廃止
Apple は macOS Monterey で Network Utility を削除し、20 年以上の提供に幕を下ろしました。このアプリは単一の GUI に 7 つのツールをまとめていました:Ping、Traceroute、Lookup(DNS)、Whois、Finger、Port Scan、Netstat。基礎となる機能は消えていませんが、インターフェイスが消えました。
これは重要でした。なぜなら Network Utility は Terminal を使いたくない人々がネットワーク診断を必要とする場合の唯一の組み込みオプションだったからです。ホスト名を入力してボタンをクリックすれば結果が表示される。シンプルでした。それが今はありません。
GUI 付きのポートスキャン
Network Utility のポートスキャナーに直接の代替品はありません。nc(netcat)を使ってポートをスキャンしたり nmap をインストールしたりできますが、グラフィカルインターフェイス付きで組み込まれているものはありません。
# ホストのポート 443 がオープンか確認
nc -zv google.com 443
ポートスキャンはサービスが動いているかの確認、ファイアウォールルールのテスト、接続障害のデバッグに役立ちます。GUI ツールなしでは、ほとんどのユーザーには利用しにくいです。
読みやすい結果
Terminal の出力は機能しますが読みやすくはありません。Traceroute は行ごとにスクロールされます。Netstat はプレーンテキストで何百もの接続をダンプします。列のソート、ハイライト、重要な情報にフォーカスする方法はありません。
macOS はデータを提供します。それを解釈する助けはしてくれません。
ギャップを埋めるもの
Apple が退いた場所にサードパーティアプリが参入しました。品質はかなりさまざまです。多くは最小限の配慮でただ GUI 層を追加した同じコマンドラインツールの薄いラッパーです。いくつかは本当によく構築されています。
Mac のネットワーク診断ツールを評価する際に最も重要なこと:
カバレッジ:すべてのコアツールがあるか?Ping、Traceroute、DNS Lookup、Whois、Port Scan が基本要件です。Netstat は開発者や管理者に便利です。
プライバシー:特にウェブベースのツールの中にはクエリをサーバー経由でルーティングするものがあります。それはツール運営者がスキャンしているホストと参照しているドメインを見ることができることを意味します。Mac から直接クエリを実行するローカルアプリにはこの問題がありません。
ネイティブ感:macOS フレームワークで構築されたアプリは起動が速く、レスポンシブに感じられ、Retina ディスプレイと Apple Silicon で正しく表示されます。
NetUtil
NetUtil を構築したのは Apple が削除したものを復元するためです。Ping、Traceroute、DNS Lookup、Netstat、Whois、Finger、Port Scan のすべての 7 つのクラシックな Network Utility ツールが含まれています。すべてローカルで動作します。外部サーバーへのデータ送信はありません。
アプリはネイティブ SwiftUI なので、生のターミナルテキストではなくクリーンなテーブルとフォーマットされた出力で結果が表示されます。Apple Silicon と Intel Mac の両方で動作します。
NetUtil は Wi-Fi 分析のためのワイヤレス診断の代替にはならず、そうしようともしていません。特定のホストへの遅い接続の診断、DNS レコードの確認、サーバーのポートスキャン、宛先へのネットワーク経路のトレースには、標準 Mac に不足しているものを補います。
無料です。
ポート専門の作業には、Portie がより深く対応します:Mac 上のすべてのオープンな TCP/UDP ポートのライブ監視、アプリケーション別グループ化、オプションのリモートスキャン。
どの問題にどのツールを使うか
「このサーバーに到達できるか?」 Terminal で ping hostname を実行するか、NetUtil の Ping タブを使います。
「なぜこの接続が遅いのか?」 Traceroute を実行します。Terminal でも機能しますが、GUI はレイテンシが急増する箇所を特定しやすくします。また networkQuality を実行して実際の帯域幅を確認します。
「Wi-Fi に何か問題がある」 ワイヤレス診断を開きます(Wi-Fi アイコンを Option クリック)。信号と干渉の分析に最適なツールです。
「このサーバーの特定のポートはオープンか?」 サードパーティツールが必要です。NetUtil のポートスキャンタブが処理します。または継続的なローカル監視には Portie を使います。
「このドメインはどんな DNS レコードを持っているか?」 Terminal で dig domain.com(柔軟だがフラグを知る必要がある)か NetUtil の DNS ルックアップタブのどちらかを使います。
「Terminal なしで上記すべてを使いたい」 それが Network Utility が 20 年間提供していたものです。NetUtil がその後を引き継ぎます。