您的 ARP 表是大多數人在本地發生故障之前從未考慮過的網路細節之一。然後它很快就變得非常重要。

ARP 代表地址解析協議。它的工作很簡單:將本地網路上的 IPv4 地址對映到 MAC 地址,以便實際傳輸乙太網幀。 ARP 表是作業系統臨時儲存這些對映的快取。

ARP表為何存在

假設您的 PC 想要將流量傳送到 192.168.1.10.

IP定址告訴計算機 哪位主持人 它想要。乙太網交付仍需瞭解 哪個 MAC 地址 擁有本地 LAN 上的該 IP。

這就是 ARP 發揮作用的地方。

如果沒有 ARP,本地 IPv4 子網上的裝置將知道邏輯目的地,但不知道將幀放置線上路上所需的第 2 層地址。

ARP 的實際工作原理

這個過程通常是這樣的:

  1. 您的裝置想要到達 192.168.1.10.
  2. 首先檢查本地ARP快取。
  3. 如果不存在條目,則廣播 ARP 請求:“誰有 192.168.1.10?”
  4. 該 IP 的所有者回復其 MAC 地址。
  5. 您的裝置將對映儲存在 ARP 表中。
  6. 然後,流量將傳送到該 MAC 地址,直到條目過期或發生更改。

ARP 只作用於本地廣播域。如果目標位於您的子網之外,您的裝置會解析 路由器的MAC地址,不是最終遠端主機的MAC。

ARP 表條目是什麼樣的

一個典型的條目包含:

  • IP地址
  • MAC地址
  • 介面
  • 條目型別或鄰居狀態

根據作業系統的不同,您還可以檢視條目是動態的、靜態的、可訪問的、陳舊的、不完整的還是失敗的。

如何檢視ARP表

Windows

命令
arp -a

Linux

命令
ip neigh show

年紀較大的 arp -a 命令也可以在 Linux 上執行,但是 ip neigh 是現代工具。

macOS

命令
arp -a

檢查輸出時,查詢您正在排除故障的確切 IP,並確認 MAC 地址與預期裝置匹配。

如何清除或修改ARP條目

在 Windows 上刪除一項

命令
arp -d 192.168.1.10

重新整理 Windows 上的完整 ARP 快取

命令
netsh interface ip delete arpcache

在 Linux 上重新整理鄰居條目

命令
ip neigh flush all

在 Linux 上新增靜態條目

命令
ip neigh add 192.168.1.10 lladdr AA:BB:CC:DD:EE:FF dev eth0

靜態條目在受控環境中很有用,但如果以後硬體發生變化,過度使用它們會導致維護麻煩。

ARP 表幫助診斷的實際問題

重複IP地址衝突

如果兩個裝置宣告相同的 IP,您可能會看到 ARP 條目在兩個 MAC 地址之間翻轉。症狀包括連線間歇性、ping 失敗以及裝置隨機變得無法訪問。

裝置更換或虛擬機器遷移

如果 NIC 更改或 VM 移動,舊的快取條目可能仍指向以前的 MAC 地址。重新整理 ARP 會強制重新查詢。

印表機或 NAS 可從一臺機器訪問,但無法從另一臺機器訪問

這通常意味著一個系統具有有效的 ARP 條目,而另一個系統具有陳舊或中毒的條目。

閘道器解析問題

如果子網上的主機連預設閘道器都無法到達,請檢查路由器 IP 是否解析為正確的 MAC 地址。

安全風險:ARP欺騙

ARP 沒有設計強認證功能。這使得它容易受到 ARP 欺騙或 ARP 中毒的影響,攻擊者會傳送偽造的 ARP 回覆,以使受害者相信攻擊者的 MAC 地址屬於另一個 IP(通常是預設閘道器)。

這可以啟用:

  • 中間人攔截
  • 流量重定向
  • 弱環境會話劫持
  • 拒絕服務

常見的防禦措施包括:

  • 託管交換機上的動態 ARP 檢查
  • DHCP 監聽以及交換機級強制執行
  • 網路分段
  • HTTPS 等加密協議,減少攔截價值
  • 適用於一些關鍵主機的靜態 ARP 條目

ARP 表與 MAC 地址表

這些不是同一件事。

  • ARP表 存在於主機上,並將 IPv4 地址對映到 MAC 地址。
  • MAC地址表 存在於交換機上,並將 MAC 地址對映到交換機埠。

人們在故障排除過程中經常混淆它們。如果主機知道錯誤的 MAC,請檢查 ARP。如果交換機將幀轉發到錯誤的埠,請檢查交換機 MAC 表。

快速故障排除工作流程

如果一臺裝置無法到達同一子網上的另一臺裝置:

  1. Ping 目標IP。
  2. 奔跑 arp -a 或 ip neigh show.
  3. 驗證目標 IP 解析為預期的 MAC。
  4. 如果條目看起來錯誤,請重新整理條目。
  5. 重試流量。
  6. 如果 MAC 不斷變化,請調查重複的 IP 或欺騙。

這個簡單的序列解決了數量驚人的“網路很奇怪”的本地 LAN 問題。

底線

ARP 表是 IPv4 地址和 MAC 地址之間的本地對映。它很小,是臨時的,並且對於子網內的通訊絕對必要。

如果同一 LAN 上的兩個裝置無法相互訪問,則 ARP 表應該是您首先檢查的內容之一。如果條目看起來不穩定或錯誤,您可能正在處理重複的 IP、過時的快取或 ARP 欺騙,而不是一般的“網際網路問題”。