ARP 與 MAC 位址解析:區域網路通訊的第一步

2025.04.11
在區域網路中,不論你是訪問印表機還是瀏覽網頁,第一步其實都是「問路」——而這個問路的過程,靠的就是 ARP 協定。它負責把我們所知道的 IP 位址翻譯成真正用於通訊的 MAC 位址。



一. 什麼是 ARP?
ARP(Address Resolution Protocol)是位址解析協定。它的作用很簡單:

已知對方 IP 位址,向區域網路請求它的 MAC 位址。

這個解析過程發生在二層網路(資料鏈結層)和三層網路(網路層)之間,是 TCP/IP 協定棧中不可或缺的一環。

如下ARP工作流程圖: PC1 想與 PC2 通訊(知道 IP,不知道 MAC)
ARP 的關鍵行為:

ARP 請求是 廣播,即發給區域網路中所有主機(目的 MAC 是 FF:FF:FF:FF:FF:FF)
ARP 回應是 單播,即只有目標主機回應請求者
每台主機有一個 ARP 快取表,記錄已知的 IP-MAC 映射,避免頻繁廣播
ARP 在通訊中的作用: 我們傳送的資料幀,都需要一個目標 MAC。 IP 位址只是邏輯位址,真正讓網路卡能發出去的數據,得靠 MAC 位址。 ARP 就是 IP 到 MAC 的「翻譯官」。沒有 MAC 位址,區域網路通訊就沒辦法進行。

二. 上手實踐
神唱一直都覺得光看原理不實踐等於白看,那麼接下來以 eNSP 為例去看看他是如何運作的:



首先我們來看看PC1的arp:



可以看到此時的ARP表都是空的,然後我們使用PC1去請求 PC2:
透過抓包可以發現,剛開始請求的時候回去ARP詢問 誰是192.168.1.20,告訴192.168.1.10, 然後第二條回應的就是 192.169.1.20對應的MAC位址是 54-89-98-F5-2F-D4。

現在我們再來看看PC1和交換器的ARP表:
可以發現PC1有了PC2的位址和MAC的對應資訊了。

小知識:動態的ARP都是有生存時間的,也就是過一段時間後這紀錄就沒有了。

三、ARP 欺騙
ARP 也有「軟肋」——因為它信任任何回應,沒有驗證機制。攻擊者可以偽造 ARP 回應,把自己冒充成網關,形成中間人攻擊(Man-in-the-Middle)。

防範方法:

使用靜態 ARP 表;
開啟 ARP 防攻擊機制;
在三層交換或安全設備上設定 IP-MAC 綁定。
四、小結
ARP 是連接 IP 與 MAC 的橋樑;
每次區域網路通信,第一步都是先找 MAC 位址;
ARP 請求是廣播,回應是單播;
交換器只轉發,不解析;
安全環境下建議配合靜態 ARP 或防攻擊設定。