防止ARP欺骗的方法!!!
防止ARP欺騙的方法!!!
根據鄙人上網經常掉線,懷疑可能是某人使用網絡剪刀手,網絡執行官,局域網終結者等工具。經過搜索有關資料,有了一點點防范經驗,借以參考~!
一 首先我們來了解下這類攻擊工具的原理:
我們知道一個局域網中不可以同時有兩個相同的ip。否則就會發生IP沖突,結果必然是其中的一臺機器無法上網。假設在一個局域網中有兩臺主機甲和乙,主機 甲只知道乙的IP而不知道其MAC,主機甲想與主機乙進行通訊時,根據OSI七層模型,當數據封裝到數據鏈路層時(也就是MAC層),便會向局域網內所有 的機器發送一個arp請求包(注意:arp就是地址解析協議,它的功能在于將IP地址轉換為對應的MAC地址),這時如果乙收到該請求包,便會返回給甲一 個arp應答包,將自己的MAC告訴甲,這樣就可以繼續進行數據傳輸了。但是如果在這個過程中,如果主機甲在發送ARP請求時,該局域網內有一臺主機丙的 IP和甲相同,丙就會得知有一臺主機的IP地址同自已的IP地址相同,于時就彈出一個我們通常所見到的IP沖突的對話框。既然一個主機接收到與自已相同 IP發出的ARP請求就會彈出一個IP沖突框來,假如偽造任一臺主機的IP向局域網不停地發送ARP請求,同時自已的MAC也是偽造的,那么被偽造IP的 主機便會不停地收到IP沖突提示。這便構成了局域網終結者的攻擊原理。從上面的分析來看,這實際上屬于一種arp請求包的拒絕服務攻擊了。
網絡剪刀手等工具的原理就是利用了ARP欺騙,所以,只要防止了ARP欺騙也等于防止了網絡剪刀手。netcut原理實際上就是在攻擊網關,這里我們假設:
網關IP為:192.168.1.1
MAC 為:000ea0002a74
要剪掉的主機是:192.168.1.253
該主機真實MAC是:00C04CA85A5C
那么NETCUT就會發出如下圖的一個“明知故問”的單播ARP請求,來詢問
網關的MAC地址。之所以說它“明知故問” ,是因為該請求在DLC層目的MAC是000ea0002a74.這是一個單播給網關的請求,但是ARP包中包含的的信息卻是:
“我是192.168.1.253,我的MAC是B2CCBAE9CBAE,請告訴我192.168.1.252(網關)的MAC 地址”
這里言外之意就很明顯了,表面上是要請求網關MAC實際上卻是很隱晦的告訴網關:“192.168.1.253 的MAC是 B2CCBAE9CBAE,記住了啊!”這樣,當網絡關要發送數據到 192.168.1.253 的時候就會將二層的目的地址填寫為“ B2CCBAE9CBAE” ,“而不是 00C04CA85A5C” 從而達到了將 192.168.1.253剪下網的目的。當然,NETCUT發出的ARP包不只這一個,但是這個包是起主要作用的。
網絡執法官的原理就是通過ARP欺騙發給某臺電腦有關假的網關IP地址所對應的MAC地址,使其找不到網關真正的MAC地址。因此,只要我們修改IP到MAC的映射就可使網絡執法官的ARP欺騙失效,就隔開突破它的限制。
二 解決方法
辦法(一):應該把你的網絡安全信任關系建立在IP+MAC地址基礎上,設置靜態的MAC-地址->IP對應表,不要讓主機刷新你設定好的轉換表。
具體步驟:
編寫一個批處理文件arp.bat內容如下
(假設192.168.1.253的mac地址是00-C0-4C-A8-5A-5C):
@echo off
arp -d
arp -s 192.168.1.253 000ea0002a74.
(所有的IP與相應MAC地址都按上面的格式寫好)
將文件中的IP地址和MAC地址更改為您自己的IP地址和網關MAC地址即可。
將這個批處理軟件拖到每一臺主機的“windows--開始--程序--啟動”中。這樣每次開機時,都會刷新ARP表。
再補充一些,也許可以幫到忙!
如上所說編寫一個批處理文件arp.bat后,在編一個名為arp1.bat的文件如下:
@echo off
arp -d
arp -s 192.168.1.1 000ea0002a74.
將文件中的IP地址和MAC地址更改為您自己所處的網關的IP地址和MAC地址即可。
被剪斷時交替運行這兩個批處理文件就OK。
碰到就是開機運行但ARP攻擊是在用戶用到半小時或者一小時在發攻擊,我用過以上辦法,但是不知道是否ARP變種還是其他。棒定有時候也失效。我這邊解決就是路由自帶功能死綁MAC地址。
總結網絡執法官,p2p終結者等網管軟件使用arp欺騙的防范方法
首先介紹一個超好的防火墻給大家:Outpost Firewall 它可以防護p2p終結者等惡意軟件..效果超好..還能查出局域網哪臺機在使用,這個防火墻功能強大,占用資源少,個人評分5個星.大家可以上網查找一下.
這幾天很郁悶,同一個局域網的同學經常使用p2p終結者來限制網內用戶的流量,搞的大家都很惱火,但是歸于是同學,也不好明說,后來借助論壇的搜索功能,成功解決了這個問題
事先聲明,我是一個菜鳥,但是我也想在這里建議和我一樣程度的網友,多使用論壇的搜索功能,它真的比你在“求助區”發貼來的快多了(在某些方面),而且自己也能學到東西
現將我搜索的資料總結如下,以方便以后遇到同樣問題的霏友能搜到一個完整的資料,同時在這里也要感謝“zzswans”這位網友對我提供的幫助!
其實,類似這種網絡管理軟件都是利用arp欺騙達到目的的
其原理就是使電腦無法找到網關的MAC地址。
那么ARP欺騙到底是怎么回事呢?
首先給大家說說什么是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欺騙。
解決方法
歸納起來有以下方法:
1. 使用VLAN
只要你的PC和P2P終結者軟件不在同一個VLAN里, 他就拿你沒辦法.
2. 使用雙向IP/MAC綁定
在PC上綁定你的出口路由器的MAC地址, P2P終結者軟件不能對你進行ARP欺騙, 自然也沒法管你, 不過只是PC綁路由的MAC
還不安全, 因為P2P終結者軟件可以欺騙路由, 所以最好的解決辦法是使用PC, 路由上雙向IP/MAC綁定, 就是說, 在PC
上綁定出路路由的MAC地址, 在路由上綁定PC的IP和MAC地址, 這樣要求路由要支持IP/MAC綁定, 比如HIPER路由器.
3. 使用IP/MAC地址盜用+IP/MAC綁定
索性你把自己的MAC地址和IP地址改成和運行P2P終結者軟件者一樣的IP和MAC, 看他如何管理, 這是一個兩敗俱傷的辦法,
改動中要有一些小技巧, 否則會報IP沖突. 要先改MAC地址, 再改IP, 這樣一來WINDOWS就不報IP沖突了(windows傻吧))), 做到這一步還沒有完, 最好你在PC上吧路由的MAC地址也綁定, 這樣一來P2P終結者欺騙路由也白費力氣了.
以上的方法我覺得都不適合我這邊的環境,所以我采用了一下的解決方法:
利用Look N Stop防火墻,防止arp欺騙
1.阻止網絡執法官控制
網絡執法官是利用的ARp欺騙的來達到控制目的的。
ARP協議用來解析IP與MAC的對應關系,所以用下列方法可以實現抗拒網絡執法官的控制。
如果你的機器不準備與局域網中的機器通訊,那么可以使用下述方法:
A.在“互聯網過濾”里面有一條“ARP : Authorize all ARP packets”規則,在這個規則前面打上禁止標志;
B.但這個規則默認會把網關的信息也禁止了,處理的辦法是把網關的MAC地址(通常網關是固定的)放在這條規則的“目標”區,在“以太網:地址”里選擇“不等于”,并把網關的MAC地址填寫在那時;把自己的MAC地址放在“來源”區,在“以太網:地址”里選擇“不等于”。
C.在最后一條“All other packet”里,修改這條規則的“目標”區,在“以太網:地址”里選擇“不等于”,MAC地址里填FF:FF:FF:FF:FF:FF;把自己的MAC地址放在“來源”區,在“以太網:地址”里選擇“不等于”。其它不改動。
這樣網絡執法官就無能為力了。此方法適用于不與局域網中其它機器通訊,且網關地址是固定的情況下。
如果你的機器需要與局域網中的機器通訊,僅需要擺脫網絡執法官的控制,那么下述方法更簡單實用(此方法與防火墻無關):
進入命令行狀態,運行“ARP -s 網關IP 網關MAC”就可以了,想獲得網關的MAC,只要Ping一下網關,然后用Arp -a命令查看,就可以得到網關的IP與MAC的對應。此方法應該更具通用性,而且當網關地址可變時也很好操作,重復一次“ARP -s 網關IP 網關MAC”就行了。此命令作用是建立靜態的ARP解析表。
另外,聽說op防火墻也可以阻止,我沒有試過,所以請有興趣的朋友可以試試
插曲:
期間,我也用網絡特工查找過,到底是誰在使用p2p終結者,通過檢測
我發現那臺主機是通過UDP的137端口向我發送數據的,
于是做為菜鳥的我設想,用防火墻屏蔽掉這個端口
然后發局域網內所有的人拖入黑名單,
阻止他們和我通訊
似乎也可以達到阻止被控制的目的
這里經zzswans霏友的提示說arp不基于端口的,端口只有tcpip協議里有,arp協議里無端口概念。,所以可能這種方法行不通
但我覺得我思考過了,得到了經驗,這才是最重要的
因為短信沒有辦法恢復太多的文字,所以重新發貼。
轉自其他論壇的文章。
網絡執法官是一款網管軟件,可用于管理局域網,能禁止局域網任意機器連接網絡。對于網管來說,這個功能自然很不錯,但如果局域網中有別人也使用該功能那就麻煩了。因為這樣輕則會導致別人無法上網,重則會導致整個局域網癱瘓。有什么解決辦法呢?請您看下面的招數及其原理。
一、網絡執法官簡介
我們可以在局域網中任意一臺機器上運行網絡執法官的主程序NetRobocop.exe,它可以穿透防火墻、實時監控、記錄整個局域網用戶上線情況,可限制各用戶上線時所用的IP、時段,并可將非法用戶踢下局域網。該軟件適用范圍為局域網內部,不能對網關或路由器外的機器進行監視或管理,適合局域網管理員使用。
在網絡執法官中,要想限制某臺機器上網,只要點擊"網卡"菜單中的"權限",選擇指定的網卡號或在用戶列表中點擊該網卡所在行,從右鍵菜單中選擇"權限",在彈出的對話框中即可限制該用戶的權限。對于未登記網卡,可以這樣限定其上線:只要設定好所有已知用戶(登記)后,將網卡的默認權限改為禁止上線即可阻止所有未知的網卡上線。使用這兩個功能就可限制用戶上網。其原理是通過ARP欺騙發給被攻擊的電腦一個假的網關IP地址對應的MAC,使其找不到網關真正的MAC地址,這樣就可以禁止其上網。
二、ARP欺騙的原理
網絡執法官中利用的ARP欺騙使被攻擊的電腦無法上網,其原理就是使該電腦無法找到網關的MAC地址。那么ARP欺騙到底是怎么回事呢?
首先給大家說說什么是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 Controller),在這里假設你的網卡在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處于正常模式,如果是紅帽子則說明該網卡處于混雜模式。它就是我們的目標,就是這個家伙在用網絡執法官在搗亂。
掃描時自己也處在混雜模式,把自己不能算在其中哦!
真的謝謝你們!
這是另一個網友的方法大家可以試試.
==========================================
xp系統:只要用arp命令綁定自己MAC和路由MAC就行了,
如:arp -s 自己IP 自己MAC
arp -s 路由IP 路由MAC
最好都綁定一下,我試過,只綁定路由的話,出了IP沖突就上不去了,別人照樣能T你下線.如果綁定了自己的話,IP沖突了也能上網
9x/2000就需要軟件了
搜索一下anti arp sniffer就行了,
設置好路由IP,mac
不過我是xp系統也安裝了這個軟件,可以清楚的看到誰想T你下線或者想限制你
建議更換xp
只要上面設置一下,p2p終結者就報廢了,
xp系統在cmd狀態輸入: arp -a
如果路由IP 還有自己IP最后面狀態是static,那么就表示綁定成功
arp -d
綁定之前也最好輸入一下,刪除非法綁定
關于限制流量:
我這里的網絡是adsl-路由-集線器-計算機
我把默認設置子網掩碼255.255.255.0改成255.240.0.0,還可以上網,p2p終結者,限制流量失效!
OP 下載地址 http://www.rsdown.cn/downinfo/1170.html
漢化包 http://download.enet.com.cn/speed/toftp.php?fname=010722004032601
在局域網中難免受到一些人的惡意攻擊,也許是想霸占網絡資源(呵呵,搶帶寬上網啊),也許是出于嘗試新軟件的好奇,總之這都給我們正常的網絡使用帶來不少麻煩。
一般攻擊者會使用如同“網絡執法官\網絡剪刀手\網絡特工\P2P終結者”這類的軟件,發送數據包改變ARP緩存中的網關ip對應的MAC地址,導致找不到真正的網關而不能連如internet。原來解決這種攻擊的辦法是修改自己的MAC地址,使得攻擊者暫時失去真正的目標,然后重新連入網絡,獲取網關的正確MAC地址,以便在以后被攻擊后好恢復網絡。
方法如下:進入到虛擬的DOS模式下ping自己的網關,然后用arp -a命令可以看到緩存中網關對應的MAC地址,然后記錄下來。當再次受到攻擊導致無法上網時候可以在DOS下用arp -s 網關ip 網關MAC地址的方式手動建立映射關系重新恢復和網關的通信。
但是這種方法在碰到惡意的連續攻擊的情況下是很麻煩的,嚴整影響了正常使用,因為你不得不常常去修改你的緩存。推薦使用ColorSoft出的Anti Arp sniffer小東西,使用起來很簡單,直接把你記錄到的網關正確MAC填進去,在把自己的網卡MAC填進去,然后打開自動防護和防護地址沖突就可以了,他會自動過濾掉攻擊的欺騙數據包,從而使你網絡更穩定。呵呵,再也不怕因為攻擊而游戲掉線了。現在Anti Arp sniffer出到了2.0版,但是感覺還是不夠方便,不能自動獲得當前本機的網卡MAC,在受到連續攻擊的時候不停彈出受攻擊的提示,十分礙眼。不過總體說來還是不錯的好東東了。
本人測試后 發覺它像網絡防火墻一樣會記錄攻擊者的MAC地址,盡管是攻擊者偽造出來,但功能是挺好的,希望以后版本能真正檢測到攻擊者(有點難度)
轉載于:https://www.cnblogs.com/cbboys/p/3414748.html
總結
以上是生活随笔為你收集整理的防止ARP欺骗的方法!!!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 思科模拟器基础实验完整流程-初级
- 下一篇: Web漏洞扫描器—AppScan