[ metamuse ]

2007年6月19日 星期二

如何得知遠端機器的MAC

舉例來說,假設閘道器的IP address是192.168.1.254,打開命令提示字元(cmd),執行ping 192.168.1.254,只要ping得通就可以得到正確的閘道器MAC address。這時執行 arp -a 就可以查出192.168.1.254的對應MAC address(就是Physical Address)。

在乙太網路上僅僅知道某台主機的IP address,並不能立即將封包傳送過去,必須先查明該主機的實體位址(Physical address / MAC address)才能真正發送出去,而ARP協議的功用就是在於將IP address轉換成實體位址。 網路上每一台主機都有一個ARP table,此table中記錄了最近一段時間裡其它IP address及其MAC address的對應關係。如果本機想跟某一台主機通信,則會先在ARP table中查尋對應目的主機IP address的MAC address,如果該對應記錄存在,則直接將目的主機的MAC address填入Data Link層的封包表頭中,然後將封包發送出去;如果該對應記錄不存在,則會向本網段廣播一個ARP請求封包,當目的主機聽見該請求封包後,會將本身的MAC address填入封包並用廣播方式回送出去,本機收到此回應封包後,就會將相關訊息記錄在ARP table中,然後將目的主機的MAC address填入Data Link層的封包表頭裡。

1 則留言:

匿名 提到...

感謝浩偉技術上的資訊提供
在命令提示字元下打
arp -a (是最直接找到MAC的方式)

若有多張網卡就利用大家所熟悉的ipconfig
在命令提示字元下打
ipconfig /all

針對Ethernet adapter所對應的名稱以下列述Physical Address對應的值也是MAC