arp

arp

地址解析協定,即ARP(Address Resolution Protocol),是根據IP位址獲取物理地址的一個TCP/IP協定。主機傳送信息時將包含目標IP位址的ARP請求廣播到網路上的所有主機,並接收返回訊息,以此確定目標的物理地址;收到返回訊息後將該IP位址和物理地址存入本機ARP快取中並保留一定時間,下次請求時直接查詢ARP快取以節約資源。地址解析協定是建立在網路中各個主機互相信任的基礎上的,網路上的主機可以自主傳送ARP應答訊息,其他主機收到應答報文時不會檢測該報文的真實性就會將其記入本機ARP快取;由此攻擊者就可以向某一主機傳送偽ARP應答報文,使其傳送的信息無法到達預期的主機或到達錯誤的主機,這就構成了一個ARP欺騙。ARP命令可用於查詢本機ARP快取中IP位址和MAC地址的對應關係、添加或刪除靜態對應關係等。相關協定有RARP、代理ARP。NDP用於在IPv6中代替地址解析協定。

基本信息

基本簡介

ARP協定是“Address resolution Protocol”(地址解析協定)的縮寫。在區域網路中,網路中實際傳輸的是“幀”,幀裡面是有目標主機的MAC地址的。在乙太網中,一個主機要和另一個主機進行直接通信,必須要知道目標主機的MAC地址。但這個目標MAC地址是如何獲得的呢?它就是通過地址解析協定獲得的。所謂“地址解析”就是主機在傳送幀前將目標IP位址轉換成目標MAC地址的過程。ARP協定的基本功能就是通過目標設備的IP位址,查詢目標設備的MAC地址,以保證通信的順利進行。

工作原理

arparp
在每台安裝有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欺騙”手段截獲所在網路內其它計算機的通信信息,並因此造成網內其它計算機的通信故障。

查看快取

ARP快取表是可以查看的,也可以添加和修改。在命令提示符下,輸入“arp -a”就可以查看ARP快取表中的內容了,如附圖所示。
用“arp -d”命令可以刪除ARP表中所有的內容;
用“arp -d +空格+ ” 可以刪除指定ip所在行的內容
用“arp -s”可以手動在ARP表中指定IP位址與MAC地址的對應,類型為static(靜態),此項存在硬碟中,而不是快取表,計算機重新啟動後仍然存在,且遵循靜態優於動態的原則,所以這個設定不對,可能導致無法上網.

ARP系統

中國科學院資源規劃項目(AcademiaResourcePlanning,簡稱ARP項目),是實現中國科學院科學的資源規劃的信息系統工程。ARP項目從中國科學院院所兩級治理結構出發,以科技計畫與執行管理為核心,綜合運用創新的管理理念和先進的信息技術,對全院人力、資金、科研基礎條件等資源配置及相關管理流程進行整合與最佳化,構建有效的管理服務信息技術平台。通過ARP項目的實施,進一步推進中國科學院管理創新,不斷提升管理工作水平和效率,促進科技創新和人才培養效益的最大化。

ARP防火牆

ARP防火牆通過在系統核心層攔截虛假ARP數據包以及主動通告網關本機正確的MAC地址,可以保障數據流向正確,不經過第三者。從而保證通訊數據安全、保證網路暢通、保證通訊數據不受第三者控制。包括攔截ARP攻擊、攔截IP衝突、Dos攻擊抑制、ARP數據分析等功能。

ARP欺騙

arparp
其實,此起彼伏的瞬間掉線或大面積的斷網大都是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-dinet_addr[if_addr]arp-sinet_addrether_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指定物理地址。

攻擊現象

ARP欺騙木馬的中毒現象表現為:使用區域網路時會突然掉線,過一段時間後又會恢復正常。比如客戶端狀態頻頻變紅,用戶頻繁斷網,IE瀏覽器頻繁出錯,以及一些常用軟體出現故障等。如果區域網路中是通過身份認證上網的,會突然出現可認證,但不能上網的現象(無法ping通網關),重啟機器或在MS-DOS視窗下運行命令arp -d後,又可恢復上網。ARP欺騙木馬只需成功感染一台電腦,就可能導致整個區域網路都無法上網,嚴重的甚至可能帶來整個網路的癱瘓。該木馬發作時除了會導致同一區域網路內的其他用戶上網出現時斷時續的現象外,還會竊取用戶密碼。如盜取QQ密碼、盜取各種網路遊戲密碼和賬號去做金錢交易,盜竊網上銀行賬號來做非法交易活動等,這是木馬的慣用伎倆,給用戶造成了很大的不便和巨大的經濟損失。

防護方法

防止ARP攻擊是比較困難的,修改協定也是不大可能。但是有一些工作是可以提高本地網路的安全性。
首先,你要知道,如果一個錯誤的記錄被插入ARP或者IProute表,可以用兩種方式來刪除。
a.使用arp–dhost_entry
b.自動過期,由系統刪除
這樣,可以採用以下的一些方法:
1).減少過期時間
#ndd–set/dev/arparp_cleanup_interval60000
#ndd-set/dev/ipip_ire_flush_interval60000
60000=60000毫秒默認是300000
加快過期時間,並不能避免攻擊,但是使得攻擊更加困難,帶來的影響是在網路中會大量的出現ARP請求和回復,請不要在繁忙的網路上使用。
2).建立靜態ARP
這是一種很有效的方法,而且對系統影響不大。缺點是破壞了動態ARP協定。可以建立如下的檔案。
test.nsfocus.com08:00:20:ba:a1:f2
user.nsfocus.com08:00:20:ee:de:1f
使用arp–ffilename載入進去,這樣的arp映射將不會過期和被新的ARP數據刷新,除非使用arp–d才能刪除。但是一旦合法主機的網卡硬體地址改變,就必須手工刷新這個arp檔案。這個方法,不適合於經常變動的網路環境。
3).禁止ARP
可以通過ipconfiginterface–arp完全禁止ARP,這樣,網卡不會傳送ARP和接受ARP包。但是使用前提是使用靜態的ARP表,如果不在apr表中的計算機,將不能通信。這個方法不適用與大多數網路環境,因為這增加了網路管理的成本。但是對小規模的安全網路來說,還是有效可行的。
但目前的ARP病毒層出不窮,已經不能單純的依靠傳統的方法去防範,比如簡單的綁定本機ARP表,我們還需要更深入的了解ARP攻擊原理,才能夠通過症狀分析並解決ARP欺騙的問題。

常見問題

1.什麼是ARP
ARP(AddressResolutionProtocol)是個地址解析協定。最白的說法是:在IP-乙太網中,當一個上層協定要發包時,有了節點的IP位址,ARP就能提供該節點的MAC地址。
2.為什麼要有ARP?
OSI模式把網路工作分為七層,彼此不直接打交道,只通過接口(layerinterface).IP位址在第三層,MAC地址在第二層。協定在發生數據包時,得先封裝第三層(IP位址),第二層(MAC地址)的報頭,但協定只知道目的節點的IP位址,不知道其地址,又不能跨第二、三層,所以得用ARP的服務。
3.什麼是ARPcache
ARPcache是個用來儲存(IP,MAC)地址的緩衝區。當ARP被詢問一個已只IP位址節點的MAC地址時,先在ARPcache查看,若存在,就直接返回MAC地址,若不存在,才傳送ARPrequest向區域網路查詢。
4.ARP有什麼命令行?
常用的包括:(格式因作業系統、路由器而異,但作用類似)-顯示ARPcache:showarp;arp-a-清除ARPcache:arp-d
5.路由器有ARPcache嗎
有的。路由器若有接口連線到區域網路,就會有ARPcache。如果路由器的接口都是點對點的接口(serialinterface),就不會有ARPcache.
6.路由器怎么使用ARPcache
路由器在轉發數據包到下一站時,得用下一站的MAC地址來封裝鏈路報頭(Linkheader),它向ARP查詢這個地址。如果ARPcache里沒有這個地址,路由器的ARP會傳送ARPRequest去查詢。
7.ARP和Ping有什麼關係?
Ping是個常用的網路工具,檢查遠程主機、路由器是否線上。從源主機到目的主機,一路上ping可能被幾個路由器轉發,只要有一個ARPcache里沒有下一站的MAC地址,路由器就會把ping丟棄(稱為ARPMiss)。由於ARPMiss而掉包,是個常見的掉包原因。

ARP協定

ARP(AddressResolutionProtocol)地址解析協定用於將計算機的網路地址(IP位址32位)轉化為物理地址(MAC地址48位)[RFC826]。ARP協定是屬於鏈路層的協定,在乙太網中的數據幀從一個主機到達網內的另一台主機是根據48位的乙太網地址(硬體地址)來確定接口的,而不是根據32位的IP位址。如我們所知,在OSI參考模型中,數據鏈路層的協定數據單元(PDU)稱為數據幀,數據幀格式中的乙太網頭部由三個欄位組成:目的MAC地址、源MAC地址、Length/Type欄位,這就要求報文在傳遞過程中需要知道MAC地址,所以核心(如驅動)必須知道目的端的硬體地址才能傳送數據。當然,點對點的連線是不需要ARP協定的。

維護方法

搜尋網上,目前對於ARP攻擊防

arparp
護問題出現最多是綁定IP和MAC和使用ARP防護軟體,也出現了具有ARP防護功能的路由器。呵呵,我們來了解下這三種方法。
3.1 靜態綁定
最常用的方法就是做IPMAC靜態綁定,在網內把主機和網關都做IP和MAC綁定。
欺騙是通過ARP的動態實時的規則欺騙區域網路機器,所以我們把ARP全部設定為靜態可以解決對區域網路PC的欺騙,同時在網關也要進行IP和MAC的靜態綁定,這樣雙向綁定才比較保險。
方法:
對每台主機進行IP和MAC地址靜態綁定。
通過命令,arp -s可以實現 “arp –s IP MAC地址 ”。
例如:“arp –s 192.168.10.1 AA-AA-AA-AA-AA-AA”。
如果設定成功會在PC上面通過執行 arp -a 可以看到相關的提示:
Internet Address physical address Type
192.168.10.1 AA-AA-AA-AA-AA-AA static(靜態)
一般不綁定,在動態的情況下:
Internet Address Physical Address Type
192.168.10.1 AA-AA-AA-AA-AA-AA dynamic(動態)
說明:對於網路中有很多主機,500台,1000台...,如果我們這樣每一台都去做靜態綁定,工作量是非常大的。。。。,這種靜態綁定,在電腦每次重起後,都必須重新在綁定,雖然也可以做一個批處理檔案,但是還是比較麻煩的!
3.2 使用ARP防護軟體
目前關於ARP類的防護軟體出的比較多了,大家使用比較常用的ARP工具主要是欣向ARP工具,Antiarp等。它們除了本身來檢測出ARP攻擊外,防護的工作原理是一定頻率向網路廣播正確的ARP信息。我們還是來簡單說下這兩個小工具。
3.2.1 欣向ARP工具
俺使用了該工具,它有5個功能:
?
A. IP/MAC清單
選擇網卡。如果是單網卡不需要設定。如果是多網卡需要設定連線區域網路的那塊網卡。
IP/MAC掃描。這裡會掃描目前網路中所有的機器的IP與MAC地址。請在區域網路運行正常時掃描,因為這個表格將作為對之後ARP的參照。
之後的功能都需要這個表格的支持,如果出現提示無法獲取IP或MAC時,就說明這裡的表格裡面沒有相應的數據。
?
B. ARP欺騙檢測
這個功能會一直檢測區域網路是否有PC冒充表格內的IP。你可以把主要的IP設到檢測表格裡面,例如,路由器,電影伺服器,等需要區域網路機器訪問的機器IP。
(補充)“ARP欺騙記錄”表如何理解:
“Time”:發現問題時的時間;
“sender”:傳送欺騙信息的IP或MAC;
“Repeat”:欺詐信息傳送的次數;
“ARP info”:是指傳送欺騙信息的具體內容.如下面例子:
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發出的欺騙信息,已經傳送了1433次,他傳送的欺騙信息的內容是:192.168.1.1的MAC地址是00:0e:03:22:02:e8。
打開檢測功能,如果出現針對表內IP的欺騙,會出現提示。可以按照提示查到區域網路的ARP欺騙的根源。提示一句,任何機器都可以冒充其他機器傳送IP與MAC,所以即使提示出某個IP或MAC在傳送欺騙信息,也未必是100%的準確。所有請不要以暴力解決某些問題。
?
C. 主動維護
這個功能可以直接解決ARP欺騙的掉線問題,但是並不是理想方法。他的原理就在網路內不停的廣播制定的IP的正確的MAC地址。
“制定維護對象”的表格裡面就是設定需要保護的IP。發包頻率就是每秒傳送多少個正確的包給網路內所有機器。強烈建議儘量少的廣播IP,儘量少的廣播頻率。一般設定1次就可以,如果沒有綁定IP的情況下,出現ARP欺騙,可以設定到50-100次,如果還有掉線可以設定更高,即可以實現快速解決ARP欺騙的問題。但是想真正解決ARP問題,還是請參照上面綁定方法。
arparp

?
D. 欣向路由器日誌
收集欣向路由器的系統日誌,等功能。
?
E. 抓包
類似於網路分析軟體的抓包,保存格式是.cap。
3.2.1 Antiarp
這個軟體界面比較簡單,以下為我收集該軟體的使用方法。
A. 填入網關IP位址,點擊[獲取網關地址]將會顯示出網關的MAC地址。點擊[自動防護]即可保護當前網卡與該網關的通信不會被第三方監聽。注意:如出現ARP欺騙提示,這說明攻擊者傳送了ARP欺騙數據包來獲取網卡的數據包,如果您想追蹤攻擊來源請記住攻擊者的MAC地址,利用MAC地址掃描器可以找出IP 對應的MAC地址。
B. IP位址衝突
如頻繁的出現IP位址衝突,這說明攻擊者頻繁傳送ARP欺騙數據包,才會出現IP衝突的警告,利用Anti ARP Sniffer可以防止此類攻擊。
C. 您需要知道衝突的MAC地址,Windows會記錄這些錯誤。查看具體方法如下:
右擊[我的電腦]--[管理]--點擊[事件查看器]--點擊[系統]--查看來源為[TcpIP]---雙擊事件可以看到顯示地址發生衝突,並記錄了該MAC地址,請複製該MAC地址並填入Anti ARP Sniffer的本地MAC地址輸入框中(請注意將:轉換為-),輸入完成之後點擊[防護地址衝突],為了使MAC地址生效請禁用本地網卡然後再啟用網卡,在CMD命令行中輸入Ipconfig /all,查看當前MAC地址是否與本地MAC地址輸入框中的MAC地址相符,如果更改失敗請與我聯繫。如果成功將不再會顯示地址衝突。
注意:如果您想恢復默認MAC地址,請點擊[恢復默認],為了使MAC地址生效請禁用本地網卡然後再啟用網卡。
3.3 具有ARP防護功能的路由器
這類路由器以前聽說的很少,對於這類路由器中提到的ARP防護功能,其實它的原理就是定期的傳送自己正確的ARP信息。但是路由器的這種功能對於真正意義上的攻擊,是不能解決的。
ARP的最常見的特徵就是掉線,一般情況下不需要處理一定時間內可以回復正常上網,因為ARP欺騙是有老化時間的,過了老化時間就會自動的回覆正常。現在大多數路由器都會在很短時間內不停廣播自己的正確ARP信息,使受騙的主機回復正常。但是如果出現攻擊性ARP欺騙(其實就是時間很短的量很大的欺騙ARP,1秒有個幾百上千的),它是不斷的發起ARP欺騙包來阻止區域網路機器上網,即使路由器不斷廣播正確的包也會被他大量的錯誤信息給淹沒。
可能你會有疑問:我們也可以傳送比欺騙者更多更快正確的ARP信息啊?如果攻擊者每秒傳送1000個ARP欺騙包,那我們就每秒傳送1500個正確的ARP信息!
面對上面的疑問,我們仔細想想,如果網路拓撲很大,網路中接了很多網路設備和主機,大量的設備都去處理這些廣播信息,那網路使用起來好不爽,再說了會影響到我們工作和學習。ARP廣播會造成網路資源的浪費和占用。如果該網路出了問題,我們抓包分析,數據包中也會出現很多這類ARP廣播包,對分析也會造成一定的影響。

相關詞條

相關搜尋

熱門詞條

聯絡我們