TCP/IPアレルギー撲滅ドリル【総まとめ編3回目】

Etherealでパケットの実物を捕まえて
中身をのぞき込もう

福永勇二
インタラクティブリサーチ
2005/7/30


素朴な疑問
Etherealでもっとリアルに見たいのです
1 もっとリアルに見たいのです
Etherealで見えるもの
2 Etherealで何が見えるのですか?
3 すべてのやりとりが見えますか?
4 具体的に何が見えるのですか?
5 どんな構成を想定しますか?
6 Etherealの画面の見方は?
Etherealの使い方
7 自分で試せますか?
8 Etherealって何ですか?
9 どうやって手に入れますか?
10 インストール方法は?
11 利用前の設定がありますか?
12 使い方を教えてください
 Etherealでもっと
 リアルに見たいのです

もっとリアルに見たいのです

 TCP/IPを使った通信で、どのようにパケットが流れてゆくのか、その全体像を前回まで見てきました(参照:TCP/IPアレルギー撲滅ドリル【総まとめ編】Webページが表示されるまでのパケット君の冒険旅行TCP/IPアレルギー撲滅ドリル【総まとめ編】パケット君がWebページ表示の冒険に失敗するとき)。えっ? でもなんか物足りないですって。もしかすると、その理由の1つは「実物を見ていない」からかもしれません。そこで今回は、Etherealというプログラムを使って、ネットワークを流れるパケットを実際に捕まえてみましょう。そうやって捕まえた実物と、これまでの説明を対比すると、さらにリアルにTCP/IPが見えてくるかもしれません。

 Etherealで見えるもの

・Etherealで何が見えるのですか?

 Etherealを使うと、自分が送ったパケットと受け取ったパケットの中身を、直接見ることができます。そのため、これまで絵に描いていたパケットの中身を、直接、確認することができます。

・すべてのやりとりが見えますか?

 これまでに紹介したもの、例えば、ARPを使ったMACアドレスの取得、DNSの名前解決、Webサーバアクセスなどは、いずれも上位レイヤから下位レイヤまで、すべて見ることができます。

・ARPについてはarpはネットワークで何を「叫ぶ」?を参照してください
・MACアドレスについてはMACアドレスの正体を参照してください
・DNSの名前解決については例えばWebに接続するとき、いつDNSを使うのですか?を参照してください
・HTTPについてはHTTP語でWebブラウザとしゃべってみようを参照してください

・具体的に何が見えるのですか?

 次回、詳しく説明しますが、図2のやりとりでいえばC-4が見えると考えてください。ネットワークに送り出す(またはネットワークから受け取る)部分で捕まえていますので、そこまでに関係したプロトコルのすべての情報、具体的には各プロトコルのヘッダ情報が入っています。

図1 パケットを捕らえたときの構成(画面をクリックして拡大表示)

 なお、FCS(フレームチェックシーケンス)は、フレームの終わりを表す情報で、その内容が決まっているため、捕まえた情報としては表示しません。

・どんな構成を想定しますか?

 ここから先は、実際のネットワークで捕まえたパケットを基に説明してゆきます。使用したネットワークの構成は図1のようになっています。

図1 パケットを捕らえたときの構成

 Etherealを組み込んだPC、つまり観察の対象となるPCのIPアドレスは192.168.1.5です。このPCが利用するデフォルトゲートウェイは192.168.1.1、またDNSも192.168.1.1です。また、アクセスする先であるwww.atmarkit.co.jpのIPアドレスは、210.131.249.57です。Etherealの画面では、主にこれらのIPアドレスが出てきます。

・Etherealの画面の見方は?

 Etherealは画面1のようになっています。画面は3つに分かれていて、上から「やりとりしたパケットのリスト」「リストで選択したパケットの分析」「リストで選択したパケットの数値内容」です。

画面1 Etherealのメイン画面(画面をクリックして拡大表示)

 今回は、このうち「やりとりしたパケットのリスト」と「リストで選択したパケットの分析」を主に見てゆきます。

 Etherealの使い方

・自分で試せますか?

 Etherealを使うと、ここまで説明したようなパケットを、実際に捕まえることができます。

・Etherealって何ですか?

 Etherealはネットワークを流れるパケットを捕まえて、それを分析/表示するプログラムです。Windows版のほかにUNIX版などがあり、無料で利用できます。この連載では以前にも利用しました。

・どうやって手に入れますか?

 Etherealを利用するには、Ethereal本体のほかに、WinPcapというパケットを捕まえるためのドライバが必要です。いずれも、Etherealを配布するサイトhttp://www.ethereal.com、またはそのミラーサイトから入手できます。以下は入手可能なリンクの一例です。

WinPcap 3.1 http://www.ethereal.com/distribution/win32/WinPcap_3_1_beta4.exe
Etereal 0.10.12
http://www.ethereal.com/distribution/win32/ethereal-setup-0.10.12.exe

上記2つがバージョンアップされた際には、以下からダウンロードできます。
http://www.ethereal.com/distribution/win32/

 ちなみに、原稿執筆時点での最新バージョンはEthereal 0.10.12、WinPcap3.1 beta4でした。以前のUNIX版にはセキュリティホールも報告されていますので、ぜひ最新バージョンを利用することをオススメします。

・インストール方法は?

 最新版についても、以前に紹介したのと同じ方法でインストールします。古いバージョンのEtherealやWinPcapをすでにインストールしている人は、先にそれらをアンインストールしておきます。

・Etherealのインストールについては分かるスライディングウィンドウ、見えるEhterealを参照してください

・利用前の設定がありますか?

 インストールできたら、最初に設定をします。「Edit」メニューの「Preferences」を開き、左のリストで「Capture」を選択します。ここで「Default interface」の「▼」をクリックすると、そのコンピュータに組み込まれているネットワークカードのリストが現れます。リストの中から、パケットを捕まえたいネットワークカードを選択してください。例えば無線LANを使っている多くのコンピュータでは、最初から組み込まれている有線LAN用のネットワークカードと、無線LAN用のネットワークカードの名前が現れるはずです。

 ネットワークカードを選択したら、「Save」をクリックして「OK」をクリックします。

・使い方を教えてください

 「Capture」メニューの「Start」を選択するとダイアログが現れます。ここでWebブラウザを立ち上げてどこかにアクセスすると、ダイアログに棒グラフのようなものが現れます。これがパケットを捕まえている証拠です。「Stop」をクリックするとパケットの捕捉をやめて、その分析結果を表示します(画面1)。

 このとき何も出ない場合は、前項目で設定したネットワークカードが間違っている可能性があります。ほかのネットワークカードを選んでみてください。

 次回から、このEtherealを使って、ネットワークを流れるパケットを実際に捕まえていきます。お楽しみに。


関連リンク
  連載:TCP/IPアレルギー撲滅ドリル【超実践編】(上位レイヤ編)
連載:TCP/IPアレルギー撲滅ドリル【超実践編】(下位レイヤ編)
連載:インターネット・プロトコル詳説
連載:ルータの仕組みを学ぼう
ホストのネット接続は正しく行われているか? 〜netstatによるネットワーク設定の確認〜







「Master of IP Network総合インデックス」


Master of IP Network フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Master of IP Network 記事ランキング

本日 月間