假設局域網內有三臺計算機:A、B和C。其中A的IP地址為192.168.1.100,MAC地址為1A-2A-3A-4A-5A-6A;B的IP地址為192.168.1.200,MAC地址為1B-2B-3B-4B-5B-6B;C的IP地址為192.168.1.250,MAC地址為1C-2C-3C-4C-5C-6C。
ARP正常工作的過程
當A需要與B通信時,它會發(fā)送一個ARP廣播數據包(即向192.168.1.0至192.168.1.255的所有設備發(fā)送),以獲取B的MAC地址。該數據包中包含了A的源IP地址、源MAC地址以及B的目標IP地址。B接收到此廣播后,若發(fā)現目標IP與其自身匹配,則會通過單播方式向A回復,其中包含其MAC地址信息。
A在收到B的回復后,便能夠確定B的MAC地址并開始直接向B傳輸數據。與此同時,A還會創(chuàng)建一個ARP映射表,將B的IP地址192.168.1.200與對應的MAC地址1B-2B-3B-4B-5B-6B關聯起來。同樣地,B也會生成一張類似的ARP映射表,記錄下A的相關信息。此后,若A再次需要與B通信,它會首先查閱自身的ARP表來獲取B的MAC地址。
ARP欺騙攻擊的原理
假設計算機C作為攻擊者,當A嘗試與B通信時,A會發(fā)出一個ARP廣播請求,試圖找到擁有IP地址192.168.1.200的設備的MAC地址。此時,C截獲了這個請求,并向A發(fā)送一個偽造的ARP響應包,聲稱IP地址192.168.1.200所對應的MAC地址實際上是1C-2C-3C-4C-5C-6C(即C本身的MAC地址)或者是另一個完全不存在的MAC地址如1D-2D-3D-4D-5D-6D。一旦A接受了這個偽造的信息,它就會誤以為B的MAC地址是錯誤的,從而向錯誤的方向發(fā)送數據,導致A與B之間無法正常通信。
為何ARP攻擊會導致網絡中斷
當局域網中的某一設備執(zhí)行ARP欺騙操作,并且針對的是網關的MAC地址時,就會發(fā)生網絡斷線的情況。例如,在局域網中,計算機A想要訪問外部網絡,必須先將數據包發(fā)送給網關。為了實現這一點,A首先需要獲取網關的MAC地址,這通常通過發(fā)送ARP廣播請求來完成。然而,如果某臺機器感染了ARP病毒,它可能會向A返回一個虛假的網關MAC地址,這樣A發(fā)送出去的所有上網數據包都將被錯誤地導向到不存在的目的地,進而造成無法連接互聯網的現象,即所謂的“掉網”。