返信

ナイベータさん、お久しぶりです

GARPのパケットの中身がどうなっているのか知りたい
ということかしら?

それだったら、WireSharkとかでパケットの中身を見ればすぐに分かります。
とりあえず、手元のマシンでやってみたのを下に載せておきます。
(ページ幅の都合で一部私が編集してます)

----------
Ethernet II, Src: 08:00:27:ea:12:d4, Dst: ff:ff:ff:ff:ff:ff
Destination: ff:ff:ff:ff:ff:ff (ff:ff:ff:ff:ff:ff)
Source: 08:00:27:ea:12:d4 (08:00:27:ea:12:d4)
Type: ARP (0x0806)

Address Resolution Protocol (request)
Hardware type: Ethernet (1)
Protocol type: IP (0x0800)
Hardware size: 6
Protocol size: 4
Opcode: request (1)
Sender MAC address: 08:00:27:ea:12:d4 (08:00:27:ea:12:d4)
Sender IP address: 0.0.0.0 (0.0.0.0)
Target MAC address: 00:00:00:00:00:00 (00:00:00:00:00:00)
Target IP address: 10.0.2.15 (10.0.2.15)
----------

ポイントは次の二つでしょう。

Sender IP addressはゼロ。
ここに値を入れると、ARP受信側のARPキャッシュにIPアドレスが入るかもしれません。
GARPを送信する時点では、ARP送信側のIPアドレスはまだ確定していないため、
それがARPキャッシュに入るとまずいので、ゼロにします。

Target MAC addressもゼロ。
ここは通常のARPと同様にゼロ、つまり、無効を表す値です。
ARP送信時点でこの値は分からないので、無効を表すゼロにするわけです。
なお、ここをブロードキャストにしてはいけません。
ブロードキャストアドレスは"無効"を表すわけではありませんから。

<code>Only

  • 使用できるHTMLタグ: <code>
  • 文字で図を描く場合に<code>と</code>で囲んでください
画像認証
機械的なスパムメッセージ送信を防止するために画像認証を設けています。ご協力ください。
Image CAPTCHA
Enter the characters shown in the image.