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

Etherealでarpパケットをのぞき込もう

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

素朴な疑問
arpをのぞき込む
1 arpってなんでしたっけ?
2 arpパケットのやりとりを見せてください
3 なぜ最初にarpしたのでしょうか?
4 arpパケットの中身を見せてください
5 arp応答はどうなっていますか?
 arpをのぞき込む

 総まとめ編第3回「Etherealでパケットの実物を捕まえて中身をのぞき込もう」では、パケットのうごきをおさらいするためのツール、Etherealのメリットや使い方を説明しました。インストールができたら、さっそくarpをのぞき込んでみましょう。

・arpってなんでしたっけ?

 arpはIPアドレスからMACアドレスを得るときに使うプロトコルです。あるコンピュータにデータを渡すとき、最終的にarpを使う必要があります。

・IPアドレスとMACアドレスの関係についてはMACアドレスとIPアドレスの関係を例で説明してくださいを参照してください

・arpパケットのやりとりを見せてください

 画面1はEtherealの画面の一部です。

画面1 arpパケットとDNSパケットを捕らえる (画像をクリックするとすべての情報を表示します)

 やりとりしたパケットの概要を表しています。このうちNo.1とNo.2がarpのパケットです。画面中の「Source」は「送信元PC」を、「Destination」は「あて先PC」を表しています。表にすると以下のようになります。

 画面1では、まずNo.1で192.168.1.5のコンピュータが、arpパケットをブロードキャストしたことが分かります(A)。そしてNo.2で、このブロードキャストに対する応答が、192.168.1.1から戻ってきたことも読み取れます(B)。

ネットワークでarpが「叫ぶ」ってどういう意味?を参照してください

・なぜ最初にarpしたのでしょうか?

 No.2のarp応答が192.168.1.1から返ってきたことから考えて、No.1で192.168.1.5のコンピュータ(=今回の観察対象)は、192.168.1.1のMACアドレスを知りたかったといえます。

 では、なぜ192.168.1.1のMACアドレスを知りたかったのでしょうか? 図1を見ると、192.168.1.1は、DNSとデフォルトゲートウェイの役割を持っています。また、画面1では続くNo.3でDNSの問い合わせを行っています。

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

 この2点から推測すると、おそらく192.168.1.5のコンピュータは、DNS問い合わせをするのに先立って、まず先にarpを使ってDNSの問い合わせ先コンピュータのMACアドレスを取得した、と考えることができます。

・arpパケットの中身を見せてください

 画面2はブロードキャストしたarp問い合わせパケット(A)の中身です。ちょっとごちゃごちゃしていますが、「Ethernet II」と書かれた部分がイーサヘッダの内容を、また「Address Resolution Protocol」と書かれた部分がarpの内容を表しています。ちなみに冒頭の「Frame 1」と書かれた部分は、捕まえたデータではなく、全体サイズや受信時間などの関連情報を表示しています。

画面2 arp問い合わせパケットの内容

 少し内容を見てみましょう。まずイーサヘッダを見ると、Destinationがff:ff:ff:ff:ff:ffになっています。これはブロードキャストを意味するもので、このarpパケットは、同じネットワークにつながっているすべてのPCに届くことが分かります。

 次にARPパケット部分を見ると、Opcodeがrequest、Target MAC addressが00:00:00:00:00:00になっています。これから、このパケットが「ARP問い合わせ」であることが分かります。

 このパケットを受信したPCは、Target IP addressに書かれている192.168.1.1と自分のIPアドレスを比較し、同じ場合には自分のMACアドレスを送信元に返します。

ネットワークでarpが「叫ぶ」ってどういう意味?を参照してください
・同じネットワークの範囲についてはIPのネットワークってどんな単位?を参照してください
・arpパケットの構造についてはarpはネットワークで何を「叫ぶ」?を参照してください

arp応答はどうなっていますか?

 画面3はarp応答パケット(B)の中身です。イーサヘッダを見ると、これは192.168.1.1から192.168.1.5に送られていることが分かります。ここから、先のarp問い合わせに対応して、192.168.1.1が192.168.1.5に送り返しているパケットだと想像できます。

画面3  arp応答パケットの内容

 arpパケット部分で注目したいのは、Sender IP addressに192.168.1.1がセットされ、またSender MAC addressに00:80:87:96:59:e1がセットされている点です。

 このうちSender MAC addressが、arp問い合わせをしたPCが知りたかった情報ということになります。またarp問い合わせとarp応答では、Target MAC address/IP addressとSender MAC address/IP addressが入れ替わります。

 今回は、arpのパケットの流れをEtherealの画面を使って見てみました。arp問い合わせとarp応答の様子をご理解いただけましたでしょうか。次回はDNSパケットの動きを観察します。



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


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

注目のテーマ

Master of IP Network 記事ランキング

本日 月間