パケットキャプチャーでは、LANケーブルを流れるパケットの中身を見る。Part2では、パケットキャプチャーの方法や実行時のポイントを解説する。

パケットをいったん取り込む

 パケットキャプチャーには、パソコンなどのコンピューターにインストールした専用ソフトを使う。

 専用ソフトは、「パケットキャプチャーソフト」や「LANアナライザー」などと呼ばれる。具体的には、オープンソースソフトとして無償で提供される「Wireshark」や、米マイクロソフトが無償提供する「Microsoft Message Analyzer」、レイヤーが開発・販売する「PacMon」などがある。本特集では、Wiresharkの使用を前提に解説する。

 パケットキャプチャーソフトは、LANケーブルを通じてパソコンのポートに届いたパケットを、次々とストレージに保存していく(図2-1)。この作業が「キャプチャー」である。保存したデータは、「キャプチャーデータ」や「キャプチャーファイル」と呼ぶ。

図2-1●パケットキャプチャーの基本的な方法
パケットキャプチャーソフトと呼ばれる専用ソフトが、LANケーブルを通じてパソコンに届いたパケットを次々とストレージに保存する。すべてのパケットをいったん保存してからデータを解析する。
[画像のクリックで拡大表示]

 パケットの解析は通常、キャプチャーデータに対して行う。キャプチャー中に解析することも可能だが、できれば保存したデータで行ったほうがよい。キャプチャーは、パソコンにかかる負荷が大きいからだ。解析を同時に行うとパケットを取りこぼす可能性がある。

 Wiresharkには、「Tshark」と呼ばれる、コマンドラインで実行できるパケットキャプチャーソフトも付属する。グラフィカルな表示のWiresharkに比べて、コマンドのTsharkはパソコンにかかる負荷が小さい。1Gビット/秒を超えるような大容量の通信をキャプチャーするときは、取りこぼしを減らすためにTsharkを使うことがある。

プロミスキャスモードを使う

 一方、LANケーブルの中を流れるパケットをキャプチャーしたいこともある。

 こんな場合は、リンク(経路)を分岐して、分岐した先にパケットキャプチャーソフトが動作するパソコンをつなぐ(図2-2)。これにより、リンクを流れる両方向のパケットをキャプチャーできる。

図2-2●リンクを分岐させてキャプチャーする
リンクを分岐することで、ネットワーク間を流れるパケットもキャプチャーできる。この方法なら、既存システムにパケットキャプチャーソフトをインストールしなくてもパケットキャプチャーが可能になる。
[画像のクリックで拡大表示]

 通常は、このような方法でキャプチャーすることは不可能だ。というのも、イーサネットでは、自分宛てのパケット以外は受け取らないからだ(図2-3左)。加えて、LANケーブルはリンクを分岐できる構造になっていない。これらを解決するために、専用のソフトと特殊な機能を備えた機器を使う。

図2-3●パケットキャプチャーで使うプロミスキャスモード
OSが備えるネットワーク処理プログラム(TCP/IPスタック)は、自分宛てに届いたパケットしかアプリケーションに渡さない(通常モード)。パケットキャプチャーでは、別の機器宛てに届いたパケットも取り込めるように、プロミスキャスモードで動くソフトを標準のTCP/IPスタックの代わりに使う。
[画像のクリックで拡大表示]

この先は有料会員の登録が必要です。「日経NETWORK」定期購読者もログインしてお読みいただけます。有料会員(月額プラン)は初月無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら