ARP欺騙的原理

ARP(Address Resolution Protocol,地址解析協議)是一個位於TCP/IP協議棧中的低層協議,負責將某個IP地址解析成對應的MAC地址。
    “網管,怎麼又掉線了?!”每每聽到客戶的責問,網管員頭都大了。其實,此起彼伏的瞬間掉線或大面積的斷網大都是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雙向綁定。
    方法是有效的,但工作很繁瑣,管理很麻煩。每臺PC綁定本來就費力,在路由器中添加、維護、管理那麼長長的一串列表,更是苦不堪言。一旦將來擴容調整,或更換網卡,又很容易由於疏忽造成混亂。如果您有所擔心,那麼不妨選用欣向網吧路由IXP機種,它可以使您寬心一些。因爲欣向路由器根本不需要IP-MAC綁定,沒有那長長的一串地址表。對付ARP,您只要做PC的單向綁定就可以了。該路由能夠有效拒絕ARP對網關的欺騙,它是先天免疫的!
    欣向路由的ARP先天免疫取決於它的二個有力的技術措施。一是獨特的NAT處理機制,二是網關的主動防範機制。
    產品對NAT的處理不同於通用協議棧的方式,它在原有的網絡協議基礎上,進行了強化、保護和擴容。雖然NAT是標準的網絡協議,但實現方法可以各顯其能,保證殊途同歸就行。ARP欺騙只對公開的、通用的系統起作用,它利用了通用系統工作方式上的漏洞,而對NAT實現機制卻無能爲力,因爲NAT設計了強有力的保護字段。這就是欣向路由能夠對ARP先天免疫的原理。
    另外,爲對抗假冒網關的ARP欺騙,產品設計了網關的ARP廣播機制,它以一個可選定的頻次,向內網宣佈正確的網關地址,維護網關的正當權益。在暫時無法及時清除ARP病毒,網管員還沒有做PC上的IP-MAC綁定時,它能在一定程度上維持網絡的運行,避免災難性後果,贏取系統修復的時間。這就是ARP主動防範機制。
    不過,如果不在PC上綁定IP-MAC,雖然有主動防範機制,但網絡依然在帶病運行。因爲這種ARP是內網的事情,是不通過路由器的。讓路由器插手只能做到對抗,不能根絕。ARP太猖獗時,就會發生時斷時續的故障,那是主動防範機制在與ARP欺騙進行拉鋸式的鬥爭。爲此,產品還專門提供了一個ARP欺騙偵測、定位、防範的工具軟件,免費發放給所有的網吧,幫助網管員們發現ARP欺騙的存在,爲清除ARP欺騙源提供工作輔佐,並加入了欣向主動防範機制,有效對付ARP欺騙。
    儘管如此,仍然提醒廣大的網吧網管員,爲了一勞永逸,還是費點力爲每臺PC做IP-MAC綁定吧,這樣可以徹底根除ARP欺騙帶來的煩惱。況且,路由只需要單向綁定,已經爲您省去了另一半更繁瑣的工作,並且設置時不需要重啓路由器斷網。路由器本身不怕ARP,您再做好PC上的綁定,讓PC也不怕ARP,雙管齊下,您的網吧就可以高枕無憂了
ARP欺騙的原理
網絡執法官中利用的ARP欺騙使被***的電腦無法上網,其原理就是使該電腦無法找到網關的MAC地址。那麼ARP欺騙到底是怎麼回事呢?知其然,知其所以然是我們《***X檔案》的優良傳統,下面我們就談談這個問題。
首先給大家說說什麼是ARP,ARP(Address Resolution Protocol)是地址解析協議,是一種將IP地址轉化成物理地址的協議。從IP地址到物理地址的映射有兩種方式:表格方式和非表格方式。ARP具體說來就是將網絡層(IP層,也就是相當於OSI的第三層)地址解析爲數據連接層(MAC層,也就是相當於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緩存進行更新,將應答中的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欺騙。
網絡執法官利用的就是這個原理!知道了它的原理,再突破它的防線就容易多了。
三、修改MAC地址突破網絡執法官的封鎖
根據上面的分析,我們不難得出結論:只要修改MAC地址,就可以騙過網絡執法官的掃描,從而達到突破封鎖的目的。下面是修改網卡MAC地址的方法:
在"開始"菜單的"運行"中輸入regedit,打開註冊表編輯器,展開註冊表到:HKEY_LOCAL_MACHINE/System/CurrentControl
Set/Control/Class/{4D36E972-E325-11CE-BFC1-08002BE103
18}子鍵,在子鍵下的0000,0001,0002等分支中查找DriverDesc(如果你有一塊以上的網卡,就有0001,0002......在這裏保存了有關你的網卡的信息,其中的DriverDesc內容就是網卡的信息描述,比如我的網卡是Intel 210 41 based Ethernet ontroller),在這裏假設你的網卡在0000子鍵。
在0000子鍵下添加一個字符串,命名爲"NetworkAddress",鍵值爲修改後的MAC地址,要求爲連續的12個16進制數。然後在"0000"子鍵下的NDI/params中新建一項名爲NetworkAddress的子鍵,在該子鍵下添加名爲"default"的字符串,鍵值爲修改後的MAC地址。
在NetworkAddress的子鍵下繼續建立名爲"ParamDesc"的字符串,其作用爲指定Network Address的描述,其值可爲"MAC Address"。這樣以後打開網絡鄰居的"屬性",雙擊相應的網卡就會發現有一個"高級"設置,其下存在MAC Address的選項,它就是你在註冊表中加入的新項"NetworkAddress",以後只要在此修改MAC地址就可以了。
關閉註冊表,重新啓動,你的網卡地址已改。打開網絡鄰居的屬性,雙擊相應網卡項會發現有一個MAC Address的高級設置項,用於直接修改MAC地址。
MAC地址也叫物理地址、硬件地址或鏈路地址,由網絡設備製造商生產時寫在硬件內部。這個地址與網絡無關,即無論將帶有這個地址的硬件(如網卡、集線器、路由器等)接入到網絡的何處,它都有相同的MAC地址,MAC地址一般不可改變,不能由用戶自己設定。MAC地址通常表示爲12個16進制數,每2個16進制數之間用冒號隔開,如:08:00:20:0A:8C:6D就是一個MAC地址,其中前6位16進制數,08:00:20代表網絡硬件製造商的編號,它由IEEE分配,而後3位16進制數0A:8C:6D代表該製造商所製造的某個網絡產品(如網卡)的系列號。每個網絡製造商必須確保它所製造的每個以太網設備都具有相同的前三字節以及不同的後三個字節。這樣就可保證世界上每個以太網設備都具有唯一的MAC地址。
另外,網絡執法官的原理是通過ARP欺騙發給某臺電腦有關假的網關IP地址所對應的MAC地址,使其找不到網關真正的MAC地址。因此,只要我們修改IP到MAC的映射就可使網絡執法官的ARP欺騙失效,就隔開突破它的限制。你可以事先Ping一下網關,然後再用ARP -a命令得到網關的MAC地址,最後用ARP -s IP 網卡MAC地址命令把網關的IP地址和它的MAC地址映射起來就可以了。
四、找到使你無法上網的對方
解除了網絡執法官的封鎖後,我們可以利用Arpkiller的"Sniffer殺手"掃描整個局域網IP段,然後查找處在"混雜"模式下的計算機,就可以發現對方了。具體方法是:運行Arpkiller然後點擊"Sniffer監測工具",在出現的"Sniffer殺手"窗口中輸入檢測的起始和終止IP單擊"開始檢測"就可以了。
檢測完成後,如果相應的IP是綠帽子圖標,說明這個IP處於正常模式,如果是紅帽子則說明該網卡處於混雜模式。它就是我們的目標,就是這個傢伙在用網絡執法官在搗亂。
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章