ナイベータさん、お久しぶりです
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送信時点でこの値は分からないので、無効を表すゼロにするわけです。 なお、ここをブロードキャストにしてはいけません。 ブロードキャストアドレスは"無効"を表すわけではありませんから。
More information about text formats
GARPパケットの中身はこんな感じです
ナイベータさん、お久しぶりです
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送信時点でこの値は分からないので、無効を表すゼロにするわけです。
なお、ここをブロードキャストにしてはいけません。
ブロードキャストアドレスは"無効"を表すわけではありませんから。