arp欺騙(理論)
ARP(地址解析協議)在IPv4和以太網的廣泛應用,其主要用作將IP地址翻譯為以太網的MAC地址。
一、ARP通訊協議過程
局域網的通信不是根據IP地址進行,計算機是根據mac地址來識別一臺機器。
每個計算機中都有路由表可在cmd輸入arp-a進行查看,區域網內主機A要向主機B發送報文,會查詢本地的ARP緩存表,找到B的IP地址對應的MAC地址後,就會進行數據傳輸。如果未找到,則A廣播一個ARP請求報文(攜帶主機B的IP地址),網上所有主機包括B都收到ARP請求,但只有主機B識別自己的IP地址,於是向A主機發回一個ARP響應報文。其中就包含有B的MAC地址,A接收到B的應答後,就會更新本地的ARP緩存。
ARP 欺騙非為雙向欺騙和單向欺騙一下詳細說明:
1.單向欺騙
A的地址為:IP:10.0.0.1 MAC: AA-AA-AA-AA-AA-AA
B的地址為:IP:10.0.0.2 MAC: BB-BB-BB-BB-BB-BB
C的地址為:IP:10.0.0.3 MAC: CC-CC-CC-CC-CC-CC
A和C之間進行通訊.但是此時B向A發送一個自己偽造的ARP應答,而這個應答中的數據為發送方IP地址是10.0.0.3C的IP地址,MAC地址是BB-BB-BB-BB-BB-BBC的MAC地址本來應該是CC-CC-CC-CC-CC-CC,這裏被偽造了。當A接收到B偽造的ARP應答,就會更新本地的ARP緩存(A被欺騙了),這時B就偽裝成C了。同時,B同樣向C發送一個ARP應答,應答包中發送方IP地址四10.0.0.1A的IP地址,MAC地址是BB-BB-BB-BB-BB-BBA的MAC地址本來應該是AA-AA-AA-AA-AA-AA,當C收到B偽造的ARP應答,也會更新本地ARP緩存(C也被欺騙了),這時B就偽裝成了A。這樣主機A和C都被主機B欺騙,A和C之間通訊的數據都經過了B。主機B完全可以知道他們之間說的什麽。這就是典型的ARP欺騙過程。
掐斷A 與 c的通訊,實現原理:b 向A 發送一條ARP 數據包,內容為:c的地址是00:00:00:00:00:00 (一個錯誤的地址),那麽A 此後向c發的數據包都會發到00,而這個地址是錯誤的,所以通訊中斷了,但是要註意了,這裏只是A --> c 中斷了,c --> A 沒有中斷,所以這個叫單向欺騙。
掐斷c與A 的通訊,實現原理和第一條一樣,如果和第一條一起發,那麽A 和c 的通訊就完全中斷了,即:A <-- ×--> c.
嗅探A 與c 的通訊,實現原理:b 向A 發送一條ARP 數據包,內容為:c的地址是AA:BB:CC:DD:EE:FF (b自己的地址),也就是說,b 對 A 說:我才是c,於是A 把向c發送的數據都發給b 了,b得到數據後就可以為所欲為了,可以直接丟棄,那麽通訊中斷,也可以再次轉發給c,那麽又形成回路,B當了個中間人,監視A 和c 的通訊.此時你就可以用CAIN等任何抓包工具進行本地嗅探了.
2.ARP雙向欺騙原理
A要跟C正常通訊,B向A說我是才C。B向C說我才是A,那麽這樣的情況下把A跟C的ARP緩存表全部修改了。以後通訊過程就是 A把數據發送給B,B在發送給C,C把數據發送B,B在把數據給A。
攻擊主機發送ARP應答包給被攻擊主機和網關,它們分別修改其ARP緩存表為, 修改的全是攻擊主機的MAC地址,這樣它們之間數據都被攻擊主機截獲。
三、雙向欺騙與單向欺騙的區別
單向欺騙:是指欺騙網關,分別有三個機器 A(網關) B(server) C(server) 。A要跟C正常通訊。B給A說我才是C,那麽A就把數據就給C了,此時A就把原本給C的數據給了B了,A修改了本地的緩存表,但是C跟A的通訊還是正常的。只是A跟C的通訊不正常。
雙向欺騙:是欺騙網關跟被攻擊的兩個機器,A(網關) B(server) C(server),A要跟C正常通訊.B對A說我是C,B對C說我是A,那麽這樣的情況下A跟C的ARP緩存表全部修改了,發送的數據全部發送到B那裏去了。
四、防護辦法
最常用的方法就是做雙綁定, 本地跟路由都做了mac地址綁定
arp欺騙(理論)