Wireshark でARPを見てみる

No.639の行と640の行はプロトコルARPになっています。(水色のとこ)

私(IPアドレス 192.168.1.3/MACアドレス 00:19:d1:19:27:1a)が192.168.1.2と通信したいときのやりとり。


送信元(Source)の私から、宛先(Destination)のBroadcastに向かって
「Who has 192.168.1.2? Tell 192.168.1.3」とありますね。

192.168.1.3のMACアドレスがわからないから、みーんなに向って「ちょっとみんな聞いてー!192.168.1.2のIPアドレスって誰?私(192.168.1.3)に教えて!」って叫んでいるわけですね。

で、その返答として
「192.168.1.2 is at 00:19:d1:19:27:1a」と、返信しています。
IPアドレスが192.168.1.2の私のMACアドレスは00:16:76:d5:f9:9aだよー!」と。


ここでお互いの存在を確認しあえたってな感じでしょうかね。


生パケットをモニタリングしてると、通信してるんだなぁって気がしますねー。


ちなみに、毎回毎回Broadcastで通信されると、「またかよ」「重くなるだろ」「覚えとけよそれくらい」なんて同じネットワーク内のコンピュータから文句が出かねないので(想像)、いったんわかったMACアドレスは、各PCのメモリに保存されます。それがARPキャッシュです。
ARPはLAN内のトラフィックの混雑緩和の役にたっているんですねー。


ちなみにルータ上のARPキャッシュは show arp で見れます。

clear arp-cache でキャッシュを消せます。(実際消えるわけではなく、キャッシュが消えるまでの経過時間が0に戻るだけです)


windows上のARPキャッシュは、コマンドプロンプトarp -a で見れます。

↑こんな感じ

arp -d でキャッシュを消せます。

↑消してみた
でもWindows上のARPキャッシュは、2分程度で勝手に消えちゃいます。