轉載請注明來源:https://www.cnblogs.com/hookjc/
從《ARP協議工作原理》一文我們已經了解到,主機在兩種情況下會保存、更新本機的ARP緩存表,
1. 接收到“ARP廣播-請求”包時
2. 接收到“ARP非廣播-回復”包時
從中我們可以看出,ARP協議是沒有身份驗證機制的,局域網內任何主機都可以隨意偽造ARP數據包,ARP協議設計天生就存在嚴重缺陷。
假設局域網內有以下三台主機(其中GW指網關),主機名、IP地址、MAC地址分別如下:
主機名 IP地址 MAC地址
GW 192.168.0.1 01-01-01-01-01-01
PC02 192.168.0.2 02-02-02-02-02-02
PC03 192.168.0.3 03-03-03-03-03-03
在正常情況下,主機PC02與GW之間的數據流向,以及它們各自的ARP緩存表如下圖所示:
當網絡愛好者,主機PC03出現之后,他為了達到某種目的,於是決定實施一次ARP欺騙攻擊。PC03首先向PC02發送了一個ARP數據包,作用相當於告訴PC02:“嘿,我是192.168.0.1,我的MAC地址是03-03-03-03-03-03”,接着他也向GW發送了一個ARP數據包,作用相當於告訴GW:“嘿,我是192.168.0.2,我的MAC地址是03-03-03-03-03-03”。於是,主機PC02與GW之間的數據流向,以及它們各自的ARP緩存表就變成如下圖所示:
從上圖我們可以看出,ARP欺騙之后,主機PC02與GW之間的所有網絡數據都將流經PC03,即PC03已經掌控了它們之間的數據通訊。以上就是一次ARP欺騙的實施過程,以及欺騙之后的效果。