ARP応答

ARP応答するMonaアプリを作りました。(書きなぐりです。いずれリファクタリングします。)
ARP要求を常に受け付けていて、ARP応答を返します。
ARP(Address Resolution Protocol)は、IPアドレス -> MACアドレスの変換を行います。




上の例ではWindowsが 「192.168.100.2 のIPアドレスを持つのは誰だ?」 とARP要求を出しています。
それに対して Mona が 「私が 192.168.100.2のIPアドレスを持ち MACアドレスは xxxxxxxxです」と応答しています。


ARP要求・応答がうまくいったかどうかを知る方法は2つあります。

  1. Windows側で arp -a としたときに表示される、ARPキャッシュ(IPアドレスMACアドレスの対応表キャッシュ)が正しく更新される=うまくいっている
  2. Etherealを用いてパケットレベルで追う。


ダウンロード、更なる詳細はひげぽん/mones2/02.ARP応答とread・writeインタフェース の編集 - Mona OS developers Wiki


ARPの詳細を勉強したい人は↓が分かりやすいです。

マスタリングTCP/IP 入門編

マスタリングTCP/IP 入門編