Mac のターミナルを使ってパケットトレースをキャプチャする

パケットトレースの読み方がわかれば、ネットワーク接続の問題を診断する際に役に立ちます。

ネットワークインターフェイスの BSD 装置名を入手する

  1. 管理者アカウントで Mac にログインします。
  2. 「option」キーを押しながら、Apple メニュー () >「システム情報」(または「システムプロファイラ」) の順に選択します。
  3. システム情報ウインドウの左側のリストから「ネットワーク」を選択します。 
  4. ウインドウの右側の「動作中のサービス」のリストからネットワークインターフェイス (Wi-Fi または Ethernet など) を選択します。
  5. ウインドウの下部の詳細セクションで、「BSD 装置名」を探します。図の例では、Wi-Fi の BSD 装置名は「en0」です。

システム情報ウインドウ

パケットトレースをキャプチャする

  1. ターミナルを開きます (「アプリケーション」フォルダの「ユーティリティ」フォルダにあります)。
  2. 次のコマンドを入力します。ただし、「BSDname」の部分は、システム情報で入手した BSD 装置名 (en0、en1、ppp0 など) に置き換えてください。

    sudo tcpdump -i BSDname -s 0 -B 524288 -w ~/Desktop/DumpFile01.pcap

  3. 「return」キーを押し、プロンプトが表示されたら管理者パスワードを入力します。
  4. ターミナルには、「tcpdump: listening on...」と表示されます。これは、指定したネットワークインターフェイス上のアクティビティをリスニングしているという意味です。
  5. ターミナルを開いた状態で、テスト対象のネットワーク機能を使ってみます。
  6. ネットワーク機能を使い終わったら、ターミナルに戻り、「control + C」キーを押してパケットトレースをキャプチャします。「DumpFile01.pcap」という名前のファイルがデスクトップに保存されます。 
  7. このファイルの内容を見るには、ターミナルで次のコマンドを使います。

    tcpdump -s 0 -n -e -x -vvv -r ~/Desktop/DumpFile01.pcap

  8. 追加のパケットトレースをキャプチャするには、ターミナルコマンドを修正し、保存後のファイルの番号を 1 つずつ増やしていきます (「DumpFile02.pcap」「DumpFile03.pcap」など)。

関連情報

パケットトレースについて詳しくは、Apple Developer の Web サイトでこちらのページを参照してください。ネットワーク接続をトラブルシューティングする際は、コンピュータのモデル、macOS のバージョン、IP アドレス (および接続先の IP アドレス)、MAC (Media Access Control) アドレスを調べておく必要があります。また、ネットワークアクティビティにおけるコンピュータの役割と、問題に関係している各ネットワークイベントの時刻も把握しておくことが必要です。

AirMac ベースステーションとブロードバンドモデム間の接続をトラブルシューティングする際は、ベースステーションを再起動して、起動している最中にインターネットサービスプロバイダとの通信内容をキャプチャします。ベースステーションを再起動するには、AirMac ユーティリティを使うか、電源との接続をいったん外してすぐ接続し直します。テスト中は、ベースステーション、モデム、キャプチャ中のコンピュータをスイッチではなく Ethernet ハブに接続しておく構成が理想です。また、キャプチャ中のコンピュータの IP アドレスを手動で割り当てておけば、ベースステーションに必要な DHCP リースが割り当てられてしまう事態を防げます (169.254.x.x アドレスで十分です)。

パケットトレースに、Mac から送信されたパケットの TCP チェックサムが「bad」と表示される場合があります。これは、パケットトレースがネットワークスタックのリンク層、つまり、チェックサムが生成される物理ネットワークアダプタの手前でキャプチャされるためです。そのため、無視しても支障ありません。

公開日: