arp コマンド
arp tableの表示方法
arp -a
arp tableの編集方法
削除
arp -d {ip addr}
例えば,以下のコマンドで192.168.0.3のエントリを削除することが可能です
arp -d 192.168.0.3
ちなみにipアドレスを指定せずに以下のコマンドを呼び出すとdefault root以外の値が消去されるので注意してください.私の環境では以下のように全て消えました.尚,管理者権限が必要です
arp -d
上記のように全て消去されます.
追加
arp -s {ip addr} {mac addr} {optional : interface name}
例えば,以下のコマンドで192.168.0.3のエントリを192.168.0.4のインターフェースに追加することが可能です
arp -s 192.168.0.3 01-02-03-04-05-06 192.168.0.4
なお,私のWindows環境では以下のエラーで追加することはできませんでした.
ARP エントリを追加できませんでした: アクセスが拒否されました。
実はWindows7以降では,arp tableの変更はarpコマンドからは不可能です.なぜか自分の環境では削除はできましたが・・・・.
netshというコマンドを使用します.
netshコマンド
arp tableの表示方法
netsh interface ipv4 show neighbors
なお,interfaceの詳細は以下のコマンドで確認可能です.
netsh interface ipv4 show interface
arp tableの編集方法
削除
netsh interface ipv4 delete neighbors "14" "192.168.0.3"
なお,上記で紹介したnetshコマンドによるarp table確認では,該当IPアドレスは残存し,MACアドレスは00-00-00-00-00-00(未設定)で初期化された状態で表示されます.arp -aで確認した場合は表示されません.
追加
上記で確認したインターフェース”14″にIP192.168.0.3をMACアドレス01-02-03-04-05-06としてエントリを追加する場合の以下のコマンドとなります.
netsh interface ipv4 add neighbors "14" "192.168.0.3" " 01-02-03-04-05-06"
arp cacheのクリア
動的に学習されたarpエントリを以下のコマンドで強制的にクリアすることが可能です.
netsh interface ipv4 delete arpcache
arp cache時間の確認
arp requestなしにIP通信可能な時間はWindowsでは15-45秒に設定されています.確認方法は該当インターフェースに対して以下のコマンドで確認できます.
netsh interface ipv4 show interface 14
到達可能な時間がarpのcache時間に相当します.私の環境では40秒です.
また,arp要求が必要な状態(Stale状態)となっているかは,arp tableの種類の部分で確認できます.