ARP是什么?
ARP是地址轉換協議(Address Resolution Protocol)的英文縮寫。是鏈路層協議,工作在OSI 模型的第二層,在本層和硬件接口間進行聯系,同時對上層(網絡層)提供服務。在局域網中我們的主機網卡通信並不能直接使用IP通信,而是使用硬件自帶的MAC地址進行通信,想要用IP通信。IP地址與MAC地址之間就必須存在一種對應關系,而ARP協議就是用來確定這種對應關系的協議。
ARP攻擊原理介紹
在局域網的任意一台主機中,都有一個ARP緩存表,里面保存本機已知的此局域網中各主機和路由器的IP地址和MAC地址的對照關系。ARP緩存采用老化機制,有老化時間,時間一到就會被刪除。想要在建立聯系就必須要廣播建立。
ARP欺騙攻擊就利用了這點,攻擊者主動發送ARP報文,發送者的MAC地址為攻擊者主機的MAC地址,發送者的IP地址為被攻擊主機的IP地址。通過不斷發送這些偽造的ARP報文,讓局域網上所有的主機和網關ARP表,其對應的MAC地址均為攻擊者的MAC地址,這樣所有的網絡流量都會發送給攻擊者主機。由於ARP欺騙攻擊導致了主機和網關的ARP表的不正確,這種情況我們也稱為ARP中毒。
根據ARP欺騙者與被欺騙者之間的角色關系的不同,通常可以把ARP欺騙攻擊分為如下兩種:

arpspoof
driftnet是一款用於抓取指定接口數據流量的工具,Kali linux中自帶了該工具,在ubuntu中,安裝它只需運行命令:
sudo apt-get install dsniff
arpspoof 命令的工作過程分為兩部分:
- 發送偽造的ARP請求包,修改目標主機中ARP緩存表,實施ARP欺騙;
- 當攻擊完成后,再次發送偽造的ARP請求包,修改目標主機中ARP緩存表為正確的值,結束ARP欺騙。
攻擊端主機:
arpspoof -i 網卡名 -t 被攻擊的主機IP + 局域網網關
運行命令
效果:被攻擊主機無法Ping通外網
