什麼是ARP
ARP(Address Resolution Protocol)是地址解析協議,是一種將IP地址轉化成物理地址的協議。從IP地址到物理地址的映射有兩種方式:表格方式和非表格方式。ARP具體說來就是將網絡層(也就是至關於OSI的網絡層)地址解析爲數據鏈路層(也就是至關於OSI的數據鏈路層)的物理地址(注:此處物理地址並不必定指MAC地址)。
ARP原理:某機器A要向主機B發送報文,會查詢本地的ARP緩存表,找到B的IP地址對應的MAC地址後,就會進行數據傳輸。若是未找到,則廣播A一個ARP請求報文(攜帶主機A的IP地址Ia——物理地址Pa),請求IP地址爲Ib的主機B回答物理地址Pb。網上全部主機包括B都收到ARP請求,但只有主機B識別本身的IP地址,因而向A主機發回一個ARP響應報文。其中就包含有B的MAC地址,A接收到B的應答後,就會更新本地的ARP緩存。接着使用這個MAC地址發送數據(由網卡附加MAC地址)。所以,本地高速緩存的這個ARP表是本地網絡流通的基礎,並且這個緩存是動態的。
什麼是ARP欺騙
ARP協議並不僅在發送了ARP請求才接收ARP應答。當計算機接收到ARP應答數據包的時候,就會對本地的ARP緩存進行更新,將應答中的IP和MAC地址存儲在ARP緩存中。所以,當局域網中的某臺機器B向A發送一個本身僞造的ARP應答,而若是這個應答是B冒充C僞造來的,即IP地址爲C的IP,而MAC地址是僞造的,則當A接收到B僞造的ARP應答後,就會更新本地的ARP緩存,這樣在A看來C的IP地址沒有變,而它的MAC地址已經不是原來那個了。因爲局域網的網絡流通不是根據IP地址進行,而是按照MAC地址進行傳輸。因此,那個僞造出來的MAC地址在A上被改變成一個不存在的MAC地址,這樣就會形成網絡不通,致使A不能Ping通C!這就是一個簡單的ARP欺騙。
ARP欺騙的種類
ARP欺騙做爲黑客經常使用的攻擊手段之一,ARP欺騙分爲二種,一種是對路由器ARP表的欺騙;另外一種是對內網PC的網關欺騙。
第一種ARP欺騙的原理是——截獲網關數據。它通知路由器一系列錯誤的內網MAC地址,並按照必定的頻率不斷進行,使真實的地址信息沒法經過更新保存在路由器中,結果路由器的全部數據只能發送給錯誤的MAC地址,形成正常PC沒法收到信息。第二種ARP欺騙的原理是——僞造網關。它的原理是創建假網關,讓被它欺騙的PC向假網關發數據,而不是經過正常的路由器途徑上網。在PC看來,就是上不了網了,「網絡掉線了」。
通常來講,ARP欺騙攻擊的後果很是嚴重,大多數狀況下會形成大面積掉線。有些網管員對此不甚瞭解,出現故障時,認爲PC沒有問題,交換機沒掉線的「本事」,電信也不認可寬帶故障。並且若是第一種ARP欺騙發生時,只要重啓路由器,網絡就能全面恢復,那問題必定是在路由器了。爲此,寬帶路由器背了很多「黑鍋」。緩存