ARP介紹

一、什麼是ARP協議
  ARP協議是“Address Resolution Protocol”(地址解析協議)的縮寫。在局域網中,網絡中實際傳輸的是“幀”,幀裏面是有目標主機的MAC地址的。在以太網中,一個主機和另一個主機進行直接通信,必須要知道目標主機的MAC地址。但這個目標MAC地址是如何獲得的呢?它就是通過地址解析協議獲得的。所謂“地址解析”就是主機在發送幀前將目標IP地址轉換成目標MAC地址的過程。ARP協議的基本功能就是通過目標設備的IP地址,查詢目標設備的MAC地址,以保證通信的順利進行。
  ARP協議主要負責將局域網中的32位IP地址轉換爲對應的48位物理地址,即網卡的MAC地址,比如IP地址位192.168.0.1網卡MAC地址爲00-03-0F-FD-1D-2B.整個轉換過程是一臺主機先向目標主機發送包含有IP地址和MAC地址的數據包,通過MAC地址兩個主機就可以實現數據傳輸了.
二、ARP協議的工作原理
  在每檯安裝有TCP/IP協議的電腦裏都有一個ARP緩存表,表裏的IP地址與MAC地址是一一對應的

  我們以主機A(192.168.1.5)向主機B(192.168.1.1)發送數據爲例。當發送數據時,主機A會在自己的ARP緩存表中尋找是否有目標IP地址。如果找到了,也就知道了目標MAC地址,直接把目標MAC地址寫入幀裏面發送就可以了;如果在ARP緩存表中沒有找到相對應的IP地址,主機A就會在網絡上發送一個廣播,目標MAC地址是“FF.FF.FF.FF.FF.FF”,這表示向同一網段內的所有主機發出這樣的詢問:“192.168.1.1的MAC地址是什麼?”網絡上其他主機並不響應ARP詢問,只有主機B接收到這個幀時,才向主機A做出這樣的迴應:“192.168.1.1的MAC地址是00-aa-00-62-c6-09”。這樣,主機A就知道了主機B的MAC地址,它就可以向主機B發送信息了。同時它還更新了自己的ARP緩存表,下次再向主機B發送信息時,直接從ARP緩存表裏查找就可以了。ARP緩存表採用了老化機制,在一段時間內如果表中的某一行沒有使用,就會被刪除,這樣可以大大減少ARP緩存表的長度,加快查詢速度。
  ARP攻擊就是通過僞造IP地址和MAC地址實現ARP欺騙,能夠在網絡中產生大量的ARP通信量使網絡阻塞,攻擊者只要持續不斷的發出僞造的ARP響應包就能更改目標主機ARP緩存中的IP-MAC條目,造成網絡中斷或中間人攻擊。
  ARP攻擊主要是存在於局域網網絡中,局域網中若有一個人感染ARP木馬,則感染該ARP木馬的系統將會試圖通過“ARP欺騙”手段截獲所在網絡內其它計算機的通信信息,並因此造成網內其它計算機的通信故障。
  RARP的工作原理:
  1. 發送主機發送一個本地的RARP廣播,在此廣播包中,聲明自己的MAC地址並且請求任何收到此請求的RARP服務器分配一個IP地址;
  2. 本地網段上的RARP服務器收到此請求後,檢查其RARP列表,查找該MAC地址對應的IP地址;
  3. 如果存在,RARP服務器就給源主機發送一個響應數據包並將此IP地址提供給對方主機使用;
  4. 如果不存在,RARP服務器對此不做任何的響應;
  5. 源主機收到從RARP服務器的響應信息,就利用得到的IP地址進行通訊;如果一直沒有收到RARP服務器的響應信息,表示初始化失敗。
  6.如果在第1-3中被ARP病毒攻擊,則服務器做出的反映就會被佔用,源主機同樣得不到RARP服務器的響應信息,此時並不是服務器沒有響應而是服務器返回的源主機的IP被佔用。

ARP欺騙
  其實,此起彼伏的瞬間掉線或大面積的斷網大都是ARP欺騙在作怪。ARP欺騙攻擊已經成了破壞網吧經營的罪魁禍首,是網吧老闆和網管員的心腹大患。
  從影響網絡連接通暢的方式來看,ARP欺騙分爲二種,一種是對路由器ARP表的欺騙;另一種是對內網PC的網關欺騙。
  第一種ARP欺騙的原理是——截獲網關數據。它通知路由器一系列錯誤的內網MAC地址,並按照一定的頻率不斷進行,使真實的地址信息無法通過更新保存在路由器中,結果路由器的所有數據只能發送給錯誤的MAC地址,造成正常PC無法收到信息。第二種ARP欺騙的原理是——僞造網關。它的原理是建立假網關,讓被它欺騙的PC向假網關發數據,而不是通過正常的路由器途徑上網。在PC看來,就是上不了網了,“網絡掉線了”。
  一般來說,ARP欺騙攻擊的後果非常嚴重,大多數情況下會造成大面積掉線。有些網管員對此不甚瞭解,出現故障時,認爲PC沒有問題,交換機沒掉線的“本事”,電信也不承認寬帶故障。而且如果第一種ARP欺騙發生時,只要重啓路由器,網絡就能全面恢復,那問題一定是在路由器了。爲此,寬帶路由器背了不少“黑鍋”。
  作爲網吧路由器的廠家,對防範ARP欺騙不得已做了不少份內、份外的工作。一、在寬帶路由器中把所有PC的IP-MAC輸入到一個靜態表中,這叫路由器IP-MAC綁定。二、力勸網管員在內網所有PC上設置網關的靜態ARP信息,這叫PC機IP-MAC綁定。一般廠家要求兩個工作都要做,稱其爲IP-MAC雙向綁定。
  顯示和修改“地址解析協議”(ARP) 所使用的到以太網的 IP 或令牌環物理地址翻譯表。該命令只有在安裝了 TCP/IP 協議之後纔可用。
  arp -a [inet_addr] [-N [if_addr]
  arp -d inet_addr [if_addr]
  arp -s inet_addr ether_addr [if_addr]
  參數
  -a
  通過詢問 TCP/IP 顯示當前 ARP 項。如果指定了 inet_addr,則只顯示指定計算機的 IP 和物理地址。
  -g
  與 -a 相同。
  inet_addr
  以加點的十進制標記指定 IP 地址。
  -N
  顯示由 if_addr 指定的網絡界面 ARP 項。
  if_addr
  指定需要修改其地址轉換表接口的 IP 地址(如果有的話)。如果不存在,將使用第一個可適用的接口。
  -d
  刪除由 inet_addr 指定的項。
  -s
  在 ARP 緩存中添加項,將 IP 地址 inet_addr 和物理地址 ether_addr 關聯。物理地址由以連字符分隔的6 個十六進制字節給定。使用帶點的十進制標記指定 IP 地址。項是永久性的,即在超時到期後項自動從緩存刪除。
  ether_addr
  指定物理地址。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章