一、概述
1、ARP協議
地址解析協議,將IP地址轉換為對應的mac地址,屬鏈路層協議
數據包分為:
- 請求包(廣播):本機IP地址、mac地址+目標主機IP地址
- 應答包(單播):本機IP地址、mac地址+來源主機IP地址、mac地址
通信方式:
-
局域網內通信:
主機A和主機B通信過程:
(1)主機A先檢查自己的緩存表中有沒有主機B的IP地址和mac地址的對應關系,有就直接進行通信;如果沒有,就在局域網廣播一個arp請求包,包括主機A的IP地址、mac地址和主機B的IP地址。
(2)局域網內所有機器都會收到這個請求包,收到后與自己的ip地址對比一下,如果是自己的,就發送一個響應包,包括主機A的IP地址、mac地址和主機B的IP地址、mac地址;如果不是自己的,就丟掉。 -
局域網間通信:與上面過程類似,但是主機A要先和網關進行通信,再和主機B進行通信。
注意:a.兩台主機的IP地址不在同一網段,需要通過網關來轉發
b.涉及兩個arp緩存表,一個是主機中存放的,另一個是網關處路由器設備自己的arp緩存表
2、 ARP欺騙
利用ARP協議的缺陷進行的一種非法攻擊
二、ARP欺騙攻擊原理
1、原理:主機接收到一個應答包之后,並不會驗證自己是否發送過對應的arp請求包,也不會驗證這個arp請求包是否可信,而是直接用應答包里的IP地址和mac地址的對應關系替換掉arp緩存表里原有的對應關系。
2、過程
攻擊主機B向網關C發送一個應答包,包括主機A的IP地址、主機B的mac地址。同時,向主機A發送一個應答包,包括網關C的IP地址,主機B的mac地址。
這個時候,網關C就會將緩存表里主機A的mac地址換成主機B的mac地址,而主機a就會將緩存表里網關C的mac地址換成主機B的mac地址。
所以,網關C發送給主機A的消息全被主機B接收,主機A發送給網關C的消息也全被主機B接收,主機B就成為主機A和網關C通信的“中間人”。
三、ARP欺騙攻擊的檢測與防御
檢測:
1、網絡頻繁掉線
2、網速突然變慢
3、使用arp -a命令查看的網關mac地址與真實的網關mac地址不同
4、使用嗅探軟件發現局域網內存在大量arp應答包
防御:
1、綁定mac地址
2、使用靜態arp緩存表
3、使用arp服務器,通過服務器來查找arp轉換表來響應其他機器的廣播
4、使用arp欺騙防護軟件
四、ARP欺騙的危害
1、使同一網段內其他用戶無法上網
2、可以嗅探到交換式局域網中的所有數據包
3、對信息進行篡改
4、可以控制局域網內任何主機