百科解釋
目錄·一、什么是ARP協(xié)議·二、ARP協(xié)議的工作原理·三.ARP和RARP報頭結(jié)構(gòu)·四、如何查看ARP緩存表·五、ARP欺騙·六、遭受ARP攻擊后現(xiàn)象 我們知道,當(dāng)我們在瀏覽器里面輸入網(wǎng)址時,DNS服務(wù)器會自動把它解析為IP地址,瀏覽器實際上查找的是IP地址而不是網(wǎng)址。那么IP地址是如何轉(zhuǎn)換為第二層物理地址(即MAC地址)的呢?在局域網(wǎng)中,這是通過ARP協(xié)議來完成的。ARP協(xié)議對網(wǎng)絡(luò)安全具有重要的意義。通過偽造IP地址和MAC地址實現(xiàn)ARP欺騙,能夠在網(wǎng)絡(luò)中產(chǎn)生大量的ARP通信量使網(wǎng)絡(luò)阻塞。所以網(wǎng)管們應(yīng)深入理解ARP協(xié)議。 一、什么是ARP協(xié)議 ARP協(xié)議是“Address Resolution Protocol”(地址解析協(xié)議)的縮寫。在局域網(wǎng)中,網(wǎng)絡(luò)中實際傳輸?shù)氖恰皫,幀里面是有目?biāo)主機的MAC地址的。在以太網(wǎng)中,一個主機和另一個主機進行直接通信,必須要知道目標(biāo)主機的MAC地址。但這個目標(biāo)MAC地址是如何獲得的呢?它就是通過地址解析協(xié)議獲得的。所謂“地址解析”就是主機在發(fā)送幀前將目標(biāo)IP地址轉(zhuǎn)換成目標(biāo)MAC地址的過程。ARP協(xié)議的基本功能就是通過目標(biāo)設(shè)備的IP地址,查詢目標(biāo)設(shè)備的MAC地址,以保證通信的順利進行。 二、ARP協(xié)議的工作原理 在每臺安裝有TCP/IP協(xié)議的電腦里都有一個ARP緩存表,表里的IP地址與MAC地址是一一對應(yīng)的,如附表所示。 附表 我們以主機A(192.168.1.5)向主機B(192.168.1.1)發(fā)送數(shù)據(jù)為例。當(dāng)發(fā)送數(shù)據(jù)時,主機A會在自己的ARP緩存表中尋找是否有目標(biāo)IP地址。如果找到了,也就知道了目標(biāo)MAC地址,直接把目標(biāo)MAC地址寫入幀里面發(fā)送就可以了;如果在ARP緩存表中沒有找到相對應(yīng)的IP地址,主機A就會在網(wǎng)絡(luò)上發(fā)送一個廣播,目標(biāo)MAC地址是“FF.FF.FF.FF.FF.FF”,這表示向同一網(wǎng)段內(nèi)的所有主機發(fā)出這樣的詢問:“192.168.1.1的MAC地址是什么?”網(wǎng)絡(luò)上其他主機并不響應(yīng)ARP詢問,只有主機B接收到這個幀時,才向主機A做出這樣的回應(yīng):“192.168.1.1的MAC地址是00-aa-00-62-c6-09”。這樣,主機A就知道了主機B的MAC地址,它就可以向主機B發(fā)送信息了。同時它還更新了自己的ARP緩存表,下次再向主機B發(fā)送信息時,直接從ARP緩存表里查找就可以了。ARP緩存表采用了老化機制,在一段時間內(nèi)如果表中的某一行沒有使用,就會被刪除,這樣可以大大減少ARP緩存表的長度,加快查詢速度。 ARP攻擊就是通過偽造IP地址和MAC地址實現(xiàn)ARP欺騙,能夠在網(wǎng)絡(luò)中產(chǎn)生大量的ARP通信量使網(wǎng)絡(luò)阻塞,攻擊者只要持續(xù)不斷的發(fā)出偽造的ARP響應(yīng)包就能更改目標(biāo)主機ARP緩存中的IP-MAC條目,造成網(wǎng)絡(luò)中斷或中間人攻擊。 ARP攻擊主要是存在于局域網(wǎng)網(wǎng)絡(luò)中,局域網(wǎng)中若有一個人感染ARP木馬,則感染該ARP木馬的系統(tǒng)將會試圖通過“ARP欺騙”手段截獲所在網(wǎng)絡(luò)內(nèi)其它計算機的通信信息,并因此造成網(wǎng)內(nèi)其它計算機的通信故障。 RARP的工作原理: 1. 發(fā)送主機發(fā)送一個本地的RARP廣播,在此廣播包中,聲明自己的MAC地址并且請求任何收到此請求的RARP服務(wù)器分配一個IP地址; 2. 本地網(wǎng)段上的RARP服務(wù)器收到此請求后,檢查其RARP列表,查找該MAC地址對應(yīng)的IP地址; 3. 如果存在,RARP服務(wù)器就給源主機發(fā)送一個響應(yīng)數(shù)據(jù)包并將此IP地址提供給對方主機使用; 4. 如果不存在,RARP服務(wù)器對此不做任何的響應(yīng); 5. 源主機收到從RARP服務(wù)器的響應(yīng)信息,就利用得到的IP地址進行通訊;如果一直沒有收到RARP服務(wù)器的響應(yīng)信息,表示初始化失敗。 三.ARP和RARP報頭結(jié)構(gòu)ARP和RARP使用相同的報頭結(jié)構(gòu),如圖所示。 硬件類型字段:指明了發(fā)送方想知道的硬件接口類型,以太網(wǎng)的值為1; 協(xié)議類型字段:指明了發(fā)送方提供的高層協(xié)議類型,IP為0800(16進制); 硬件地址長度和協(xié)議長度:指明了硬件地址和高層協(xié)議地址的長度,這樣ARP報文就可以在任意硬件和任意協(xié)議的網(wǎng)絡(luò)中使用; 操作字段:用來表示這個報文的類型,ARP請求為1,ARP響應(yīng)為2,RARP請求為3,RARP響應(yīng)為4; 發(fā)送方的硬件地址(0-3字節(jié)):源主機硬件地址的前3個字節(jié); 發(fā)送方的硬件地址(4-5字節(jié)):源主機硬件地址的后3個字節(jié); 發(fā)送方IP(0-1字節(jié)):源主機硬件地址的前2個字節(jié); 發(fā)送方IP(2-3字節(jié)):源主機硬件地址的后2個字節(jié); 目的硬件地址(0-1字節(jié)):目的主機硬件地址的前2個字節(jié); 目的硬件地址(2-5字節(jié)):目的主機硬件地址的后4個字節(jié); 目的IP(0-3字節(jié)):目的主機的IP地址。 四、如何查看ARP緩存表 ARP緩存表是可以查看的,也可以添加和修改。在命令提示符下,輸入“arp -a”就可以查看ARP緩存表中的內(nèi)容了,如附圖所示。 用“arp -d”命令可以刪除ARP表中所有的內(nèi)容; 用“arp -d +空格+ <指定ip地址>” 可以刪除指定ip所在行的內(nèi)容 用“arp -s”可以手動在ARP表中指定IP地址與MAC地址的對應(yīng),類型為static(靜態(tài)),此項存在硬盤中,而不是緩存表,計算機重新啟動后仍然存在,且遵循靜態(tài)優(yōu)于動態(tài)的原則,所以這個設(shè)置不對,可能導(dǎo)致無法上網(wǎng). 五、ARP欺騙 其實,此起彼伏的瞬間掉線或大面積的斷網(wǎng)大都是ARP欺騙在作怪。ARP欺騙攻擊已經(jīng)成了破壞網(wǎng)吧經(jīng)營的罪魁禍?zhǔn),是網(wǎng)吧老板和網(wǎng)管員的心腹大患。 從影響網(wǎng)絡(luò)連接通暢的方式來看,ARP欺騙分為二種,一種是對路由器ARP表的欺騙;另一種是對內(nèi)網(wǎng)PC的網(wǎng)關(guān)欺騙。 第一種ARP欺騙的原理是——截獲網(wǎng)關(guān)數(shù)據(jù)。它通知路由器一系列錯誤的內(nèi)網(wǎng)MAC地址,并按照一定的頻率不斷進行,使真實的地址信息無法通過更新保存在路由器中,結(jié)果路由器的所有數(shù)據(jù)只能發(fā)送給錯誤的MAC地址,造成正常PC無法收到信息。第二種ARP欺騙的原理是——偽造網(wǎng)關(guān)。它的原理是建立假網(wǎng)關(guān),讓被它欺騙的PC向假網(wǎng)關(guān)發(fā)數(shù)據(jù),而不是通過正常的路由器途徑上網(wǎng)。在PC看來,就是上不了網(wǎng)了,“網(wǎng)絡(luò)掉線了”。 一般來說,ARP欺騙攻擊的后果非常嚴(yán)重,大多數(shù)情況下會造成大面積掉線。有些網(wǎng)管員對此不甚了解,出現(xiàn)故障時,認(rèn)為PC沒有問題,交換機沒掉線的“本事”,電信也不承認(rèn)寬帶故障。而且如果第一種ARP欺騙發(fā)生時,只要重啟路由器,網(wǎng)絡(luò)就能全面恢復(fù),那問題一定是在路由器了。為此,寬帶路由器背了不少“黑鍋”。 作為網(wǎng)吧路由器的廠家,對防范ARP欺騙不得已做了不少份內(nèi)、份外的工作。一、在寬帶路由器中把所有PC的IP-MAC輸入到一個靜態(tài)表中,這叫路由器IP-MAC綁定。二、力勸網(wǎng)管員在內(nèi)網(wǎng)所有PC上設(shè)置網(wǎng)關(guān)的靜態(tài)ARP信息,這叫PC機IP-MAC綁定。一般廠家要求兩個工作都要做,稱其為IP-MAC雙向綁定。 顯示和修改“地址解析協(xié)議”(ARP) 所使用的到以太網(wǎng)的 IP 或令牌環(huán)物理地址翻譯表。該命令只有在安裝了 TCP/IP 協(xié)議之后才可用。 arp -a [inet_addr] [-N [if_addr] arp -d inet_addr [if_addr] arp -s inet_addr ether_addr [if_addr] 參數(shù) -a 通過詢問 TCP/IP 顯示當(dāng)前 ARP 項。如果指定了 inet_addr,則只顯示指定計算機的 IP 和物理地址。 -g 與 -a 相同。 inet_addr 以加點的十進制標(biāo)記指定 IP 地址。 -N 顯示由 if_addr 指定的網(wǎng)絡(luò)界面 ARP 項。 if_addr 指定需要修改其地址轉(zhuǎn)換表接口的 IP 地址(如果有的話)。如果不存在,將使用第一個可適用的接口。 -d 刪除由 inet_addr 指定的項。 -s 在 ARP 緩存中添加項,將 IP 地址 inet_addr 和物理地址 ether_addr 關(guān)聯(lián)。物理地址由以連字符分隔的6 個十六進制字節(jié)給定。使用帶點的十進制標(biāo)記指定 IP 地址。項是永久性的,即在超時到期后項自動從緩存刪除。 ether_addr 指定物理地址。 六、遭受ARP攻擊后現(xiàn)象 ARP欺騙木馬的中毒現(xiàn)象表現(xiàn)為:使用局域網(wǎng)時會突然掉線,過一段時間后又會恢復(fù)正常。比如客戶端狀態(tài)頻頻變紅,用戶頻繁斷網(wǎng),IE瀏覽器頻繁出錯,以及一些常用軟件出現(xiàn)故障等。如果局域網(wǎng)中是通過身份認(rèn)證上網(wǎng)的,會突然出現(xiàn)可認(rèn)證,但不能上網(wǎng)的現(xiàn)象(無法ping通網(wǎng)關(guān)),重啟機器或在MS-DOS窗口下運行命令arp -d后,又可恢復(fù)上網(wǎng)。 ARP欺騙木馬只需成功感染一臺電腦,就可能導(dǎo)致整個局域網(wǎng)都無法上網(wǎng),嚴(yán)重的甚至可能帶來整個網(wǎng)絡(luò)的癱瘓。該木馬發(fā)作時除了會導(dǎo)致同一局域網(wǎng)內(nèi)的其他用戶上網(wǎng)出現(xiàn)時斷時續(xù)的現(xiàn)象外,還會竊取用戶密碼。如盜取QQ密碼、盜取各種網(wǎng)絡(luò)游戲密碼和賬號去做金錢交易,盜竊網(wǎng)上銀行賬號來做非法交易活動等,這是木馬的慣用伎倆,給用戶造成了很大的不便和巨大的經(jīng)濟損失。 七:常用的維護方法 搜索網(wǎng)上,目前對于ARP攻擊防護問題出現(xiàn)最多是綁定IP和MAC和使用ARP防護軟件,也出現(xiàn)了具有ARP防護功能的路由器。呵呵,我們來了解下這三種方法。 3.1 靜態(tài)綁定 最常用的方法就是做IP和MAC靜態(tài)綁定,在網(wǎng)內(nèi)把主機和網(wǎng)關(guān)都做IP和MAC綁定。 欺騙是通過ARP的動態(tài)實時的規(guī)則欺騙內(nèi)網(wǎng)機器,所以我們把ARP全部設(shè)置為靜態(tài)可以解決對內(nèi)網(wǎng)PC的欺騙,同時在網(wǎng)關(guān)也要進行IP和MAC的靜態(tài)綁定,這樣雙向綁定才比較保險。 方法: 對每臺主機進行IP和MAC地址靜態(tài)綁定。 通過命令,arp -s可以實現(xiàn) “arp –s IP MAC地址 ”。 例如:“arp –s 192.168.10.1 AA-AA-AA-AA-AA-AA”。 如果設(shè)置成功會在PC上面通過執(zhí)行 arp -a 可以看到相關(guān)的提示: Internet Address Physical Address Type 192.168.10.1 AA-AA-AA-AA-AA-AA static(靜態(tài)) 一般不綁定,在動態(tài)的情況下: Internet Address Physical Address Type 192.168.10.1 AA-AA-AA-AA-AA-AA dynamic(動態(tài)) 說明:對于網(wǎng)絡(luò)中有很多主機,500臺,1000臺...,如果我們這樣每一臺都去做靜態(tài)綁定,工作量是非常大的。。。。,這種靜態(tài)綁定,在電腦每次重起后,都必須重新在綁定,雖然也可以做一個批處理文件,但是還是比較麻煩的! 3.2 使用ARP防護軟件 目前關(guān)于ARP類的防護軟件出的比較多了,大家使用比較常用的ARP工具主要是欣向ARP工具,Antiarp等。它們除了本身來檢測出ARP攻擊外,防護的工作原理是一定頻率向網(wǎng)絡(luò)廣播正確的ARP信息。我們還是來簡單說下這兩個小工具。 3.2.1 欣向ARP工具 它有5個功能: ? A. IP/MAC清單 選擇網(wǎng)卡。如果是單網(wǎng)卡不需要設(shè)置。如果是多網(wǎng)卡需要設(shè)置連接內(nèi)網(wǎng)的那塊網(wǎng)卡。 IP/MAC掃描。這里會掃描目前網(wǎng)絡(luò)中所有的機器的IP與MAC地址。請在內(nèi)網(wǎng)運行正常時掃描,因為這個表格將作為對之后ARP的參照。 之后的功能都需要這個表格的支持,如果出現(xiàn)提示無法獲取IP或MAC時,就說明這里的表格里面沒有相應(yīng)的數(shù)據(jù)。 ? B. ARP欺騙檢測 這個功能會一直檢測內(nèi)網(wǎng)是否有PC冒充表格內(nèi)的IP。你可以把主要的IP設(shè)到檢測表格里面,例如,路由器,電影服務(wù)器,等需要內(nèi)網(wǎng)機器訪問的機器IP。 (補充)“ARP欺騙記錄”表如何理解: “Time”:發(fā)現(xiàn)問題時的時間; “sender”:發(fā)送欺騙信息的IP或MAC; “Repeat”:欺詐信息發(fā)送的次數(shù); “ARP info”:是指發(fā)送欺騙信息的具體內(nèi)容.如下面例子: time sender Repeat ARP info 22:22:22 192.168.1.22 1433 192.168.1.1 is at 00:0e:03:22:02:e8 這條信息的意思是:在22:22:22的時間,檢測到由192.168.1.22發(fā)出的欺騙信息,已經(jīng)發(fā)送了1433次,他發(fā)送的欺騙信息的內(nèi)容是:192.168.1.1的MAC地址是00:0e:03:22:02:e8。 打開檢測功能,如果出現(xiàn)針對表內(nèi)IP的欺騙,會出現(xiàn)提示?梢园凑仗崾静榈絻(nèi)網(wǎng)的ARP欺騙的根源。提示一句,任何機器都可以冒充其他機器發(fā)送IP與MAC,所以即使提示出某個IP或MAC在發(fā)送欺騙信息,也未必是100%的準(zhǔn)確。所有請不要以暴力解決某些問題。 ? C. 主動維護 這個功能可以直接解決ARP欺騙的掉線問題,但是并不是理想方法。他的原理就在網(wǎng)絡(luò)內(nèi)不停的廣播制定的IP的正確的MAC地址。 “制定維護對象”的表格里面就是設(shè)置需要保護的IP。發(fā)包頻率就是每秒發(fā)送多少個正確的包給網(wǎng)絡(luò)內(nèi)所有機器。強烈建議盡量少的廣播IP,盡量少的廣播頻率。一般設(shè)置1次就可以,如果沒有綁定IP的情況下,出現(xiàn)ARP欺騙,可以設(shè)置到50-100次,如果還有掉線可以設(shè)置更高,即可以實現(xiàn)快速解決ARP欺騙的問題。但是想真正解決ARP問題,還是請參照上面綁定方法。 ? D. 欣向路由器日志 收集欣向路由器的系統(tǒng)日志,等功能。 ? E. 抓包 類似于網(wǎng)絡(luò)分析軟件的抓包,保存格式是.cap。 3.2.1 Antiarp 這個軟件界面比較簡單,以下為我收集該軟件的使用方法。 A. 填入網(wǎng)關(guān)IP地址,點擊[獲取網(wǎng)關(guān)地址]將會顯示出網(wǎng)關(guān)的MAC地址。點擊[自動防護]即可保護當(dāng)前網(wǎng)卡與該網(wǎng)關(guān)的通信不會被第三方監(jiān)聽。注意:如出現(xiàn)ARP欺騙提示,這說明攻擊者發(fā)送了ARP欺騙數(shù)據(jù)包來獲取網(wǎng)卡的數(shù)據(jù)包,如果您想追蹤攻擊來源請記住攻擊者的MAC地址,利用MAC地址掃描器可以找出IP 對應(yīng)的MAC地址。 B. IP地址沖突 如頻繁的出現(xiàn)IP地址沖突,這說明攻擊者頻繁發(fā)送ARP欺騙數(shù)據(jù)包,才會出現(xiàn)IP沖突的警告,利用Anti ARP Sniffer可以防止此類攻擊。 C. 您需要知道沖突的MAC地址,Windows會記錄這些錯誤。查看具體方法如下: 右擊[我的電腦]--[管理]--點擊[事件查看器]--點擊[系統(tǒng)]--查看來源為[TcpIP]---雙擊事件可以看到顯示地址發(fā)生沖突,并記錄了該MAC地址,請復(fù)制該MAC地址并填入Anti ARP Sniffer的本地MAC地址輸入框中(請注意將:轉(zhuǎn)換為-),輸入完成之后點擊[防護地址沖突],為了使MAC地址生效請禁用本地網(wǎng)卡然后再啟用網(wǎng)卡,在CMD命令行中輸入Ipconfig /all,查看當(dāng)前MAC地址是否與本地MAC地址輸入框中的MAC地址相符,如果更改失敗請與我聯(lián)系。如果成功將不再會顯示地址沖突。 注意:如果您想恢復(fù)默認(rèn)MAC地址,請點擊[恢復(fù)默認(rèn)],為了使MAC地址生效請禁用本地網(wǎng)卡然后再啟用網(wǎng)卡。 3.3 具有ARP防護功能的路由器 這類路由器以前聽說的很少,對于這類路由器中提到的ARP防護功能,其實它的原理就是定期的發(fā)送自己正確的ARP信息。但是路由器的這種功能對于真正意義上的攻擊,是不能解決的。 遭受ARP攻擊的最常見的特征就是掉線,一般情況下不需要處理一定時間內(nèi)可以回復(fù)正常上網(wǎng),因為ARP欺騙是有老化時間的,過了老化時間就會自動的回復(fù)正!,F(xiàn)在大多數(shù)路由器都會在很短時間內(nèi)不停廣播自己的正確ARP信息,使受騙的主機回復(fù)正常。但是如果出現(xiàn)攻擊性ARP欺騙(其實就是時間很短的量很大的欺騙ARP,1秒有個幾百上千的),它是不斷的發(fā)起ARP欺騙包來阻止內(nèi)網(wǎng)機器上網(wǎng),即使路由器不斷廣播正確的包也會被他大量的錯誤信息給淹沒。 可能你會有疑問:我們也可以發(fā)送比欺騙者更多更快正確的ARP信息?如果攻擊者每秒發(fā)送1000個ARP欺騙包,那我們就每秒發(fā)送1500個正確的ARP信息! 面對上面的疑問,我們仔細想想,如果網(wǎng)絡(luò)拓?fù)浜艽,網(wǎng)絡(luò)中接了很多網(wǎng)絡(luò)設(shè)備和主機,大量的設(shè)備都去處理這些廣播信息,那網(wǎng)絡(luò)使用起來好不爽,再說了會影響到我們工作和學(xué)習(xí)。ARP廣播會造成網(wǎng)絡(luò)資源的浪費和占用。如果該網(wǎng)絡(luò)出了問題,我們抓包分析,數(shù)據(jù)包中也會出現(xiàn)很多這類ARP廣播包,對分析也會造成一定的影響。
移動通信網(wǎng) | 通信人才網(wǎng) | 更新日志 | 團隊博客 | 免責(zé)聲明 | 關(guān)于詞典 | 幫助