萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 網路安全 >  >> 網路基礎知識

網路協議基石:ARP 協議深度解析與防欺騙機制

ARP (Address Resolution Protocol) 是區域網路中IP 位址映射到 MAC 位址的核心協議。理解其運作機制、快取特性、固有弱點,是防禦 ARP 欺騙/中間人攻擊的前提。本文從協議規範、通訊流程、快取行為、Linux 核心防護機制四個維度深度解析。

協議基礎

  • ARP: Address Resolution Protocol,RFC 826。將 32-bit IPv4 位址動態映射到 48-bit MAC 位址 (以太網/Token Ring)
  • RARP: Reverse ARP,無盤工作站/X 終端透過 MAC 反查 IP,需管理員手工配置,已被 BOOTP/DHCP 取代
  • 核心矛盾: IP 協議基於邏輯位址路由,資料鏈路層基於物理位址傳遞。驅動程式不檢查 IP 封包內的目的 IP,只認 MAC。ARP 橋接這兩個世界。

ARP 通訊流程:請求-應答機制

  1. ARP Request (廣播): 主機 A (192.168.0.12) 欲訪問 B (192.168.0.11)。發送乙太網廣播幀 (FF:FF:FF:FF:FF:FF),攜帶目的 IP:「誰擁有此 IP?請回覆你的 MAC」
  2. ARP Reply (單播): 目標主機 B 識別出詢問自己的 IP,單播回覆 ARP Reply,攜帶 IP + MAC 映射關係
  3. 快取更新: 主機 A 收到 Reply,更新本地 ARP 快取表 (IP↔MAC 映射,含 TTL)。後續 IP 封包直接封裝目的 MAC 發送

驗證:CMD 執行 arp -a 查看本機 ARP 快取內容。

ARP 協議固有弱點:不可靠、無連線、無驗證

  • 無認證機制: 任何主機可發送偽造 ARP Reply/Request
  • 免費更新特性: 多數 TCP/IP 實現即使未發送 Request,收到 Reply 也會更新快取 (Gratuitous ARP)。這是 ARP 欺騙/投毒的根本原因
  • 無狀態: 無法區分合法更新與惡意投毒

Linux 核心 2.4+ 的 ARP 防欺騙機制

Linux 2.4.x 核心引入防護邏輯:

  • 拒絕未請求的 ARP Reply (Unsolicited ARP Reply): 直接發送 ARP Reply 給 Linux 2.4+ 主機,不會更新其快取
  • 但接受 ARP Request 並更新快取: 收到 ARP Request 時,Linux 會學習發送者的 IP-MAC 映射並更新快取
  • 攻擊繞過技巧: 攻擊者改發ARP Request (Sender IP=閘道 IP, Sender MAC=攻擊者 MAC, Target IP=受害者 IP),受害者 Linux 會更新快取將閘道 IP 映射到攻擊者 MAC

這揭示了:單純依賴核心層防護不足,需多層次防禦 (DAI、靜態綁定、主機端防火牆、流量分析)。

ARP 攻擊與防禦總結表

攻擊類型手法防禦關鍵
ARP 投毒/欺騙發送偽造 ARP Reply/Request 竄改受害者快取DAI、靜態 ARP、主機端 ARP 防火牆
中間人攻擊 (MITM)雙向投毒(受害者↔閘道),流量經攻擊機轉發加密通訊(HTTPS/SSH/VPN)、憑證驗證、DAI
DoS (斷網)投毒導致流量黑洞、或 Flood 癱瘓Port Security、流量清洗、快速故障定位
會話劫持竊取 Session Cookie/認證憑證全站 HTTPS、HttpOnly/Secure Cookie、HSTS

核心結論:ARP 協議設計於信任的局域網時代,缺乏安全基因。現代網路必須假設「鏈路層不可信」,採用加密傳輸 (L2/L3/L7) + 主動防禦 (DAI/靜態綁定/主機防火牆) + 持續監控的纵深防禦體系,而非依賴單一協議機制。

copyright © 萬盛學電腦網 all rights reserved