❶ ARP攻擊的原理,現象,和解決方法是什麼
1.首先給大家說說什麼是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欺騙。
2.網路執法官利用的就是這個原理!
在網路執法官中,要想限制某台機器上網,只要點擊"網卡"菜單中的"許可權",選擇指定的網卡號或在用戶列表中點擊該網卡所在行,從右鍵菜單中選擇"許可權",在彈出的對話框中即可限制該用戶的許可權。對於未登記網卡,可以這樣限定其上線:只要設定好所有已知用戶(登記)後,將網卡的默認許可權改為禁止上線即可阻止所有未知的網卡上線。使用這兩個功能就可限制用戶上網。其原理是通過ARP欺騙發給被攻擊的電腦一個假的網關IP地址對應的MAC,使其找不到網關真正的MAC地址,這樣就可以禁止其上網。
3.修改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地址映射起來就可以了。
4.找到使你無法上網的對方
解除了網路執法官的封鎖後,我們可以利用Arpkiller的"Sniffer殺手"掃描整個區域網IP段,然後查找處在"混雜"模式下的計算機,就可以發現對方了。具體方法是:運行Arpkiller(圖2),然後點擊"Sniffer監測工具",在出現的"Sniffer殺手"窗口中輸入檢測的起始和終止IP(圖3),單擊"開始檢測"就可以了。
檢測完成後,如果相應的IP是綠帽子圖標,說明這個IP處於正常模式,如果是紅帽子則說明該網卡處於混雜模式。它就是我們的目標,就是這個傢伙在用網路執法官在搗亂。
掃描時自己也處在混雜模式,把自己不能算在其中哦!
找到對方後怎麼對付他就是你的事了,比方說你可以利用網路執法官把對方也給封鎖了!
❷ Smurf攻擊的原理,怎樣防範
常見的DDoS攻擊
smurf、Fraggle 攻擊、Trinoo、Tribe Flood Network(TFN)、TFN2k以及Stacheldraht是比較常見的DDoS攻擊程序,我們再看看它們的原理,其攻擊思路基本相近。 Smurf 攻擊:Smurf是一種簡單但有效的 DDoS 攻擊技術,Smurf還是利用ping程序進行源IP假冒的直接廣播進行攻擊。在Internet上廣播信息可以通過一定的手段(通過廣播地址或其他機制)發送到整個網路中的機器。當某台機器使用廣播地址發送一個ICMP echo請求包時(例如Ping),一些系統會回應一個ICMP echo回應包,這樣發送一個包會收到許多的響應包。Smurf攻擊就是使用這個原理來進行的,同時它還需要一個假冒的源地址。也就是說Smurf在網路中發送的源地址為要攻擊的主機地址,目的地址為廣播地址的ICMP echo請求包,使許多的系統同時響應並發送大量的信息給被攻擊主機(因為他的地址被攻擊者假冒了)。Smurf是用一個偽造的源地址連續ping一個或多個計算機網路,這就導致所有計算機響應的那個主機地址並不是實際發送這個信息包的攻擊計算機。這個偽造的源地址,實際上就是攻擊的目標,它將被極大數量的響應信息量所淹沒。對這個偽造信息包做出響應的計算機網路就成為攻擊的不知情的同謀。一個簡單的 smurf 攻擊最終導致網路阻塞和第三方崩潰,這種攻擊方式要比 ping of death 洪水的流量高出一兩個數量級。這種使用網路發送一個包而引出大量回應的方式也被叫做Smurf"放大"。
Fraggle 攻擊:Fraggle 攻擊對 Smurf 攻擊作了簡單的修改,使用的是 UDP 應答消息而非 ICMP。
"trinoo"攻擊:trinoo 是復雜的 DDoS 攻擊程序,是基於UDP flood的攻擊軟體。它使用"master"程序對實際實施攻擊的任何數量的"代理"程序實現自動控制。當然在攻擊之前,侵入者為了安裝軟體,已經控制了裝有master程序的計算機和所有裝有代理程序的計算機。攻擊者連接到安裝了master程序的計算機,啟動master程序,然後根據一個IP地址的列表,由master程序負責啟動所有的代理程序。接著,代理程序用UDP 信息包沖擊網路,向被攻擊目標主機的隨機埠發出全零的4位元組UDP包,在處理這些超出其處理能力垃圾數據包的過程中,被攻擊主機的網路性能不斷下降,直到不能提供正常服務,乃至崩潰。它對IP地址不做假,因此此攻擊方法用得不多。
"Tribal Flood Network"和 "TFN2K" 攻擊:Tribe Flood Network與trinoo一樣,使用一個master程序與位於多個網路上的攻擊代理進行通訊,利用ICMP給代理伺服器下命令,其來源可以做假。TFN可以並行發動數不勝數的DoS攻擊,類型多種多樣,而且還可建立帶有偽裝源IP地址的信息包。 可以由TFN發動的攻擊包括:SYN flood、UDP flood、ICMP迴音請求flood及Smurf(利用多台伺服器發出海量數據包,實施DoS攻擊)等攻擊。TFN的升級版TFN2k進一步對命令數據包加密,更難查詢命令內容,命令來源可以做假,還有一個後門控制代理伺服器。
"stacheldraht"攻擊:Stacheldraht也是基於TFN和trinoo一樣的客戶機/伺服器模式,其中Master程序與潛在的成千個代理程序進行通訊。在發動攻擊時,侵入者與master程序進行連接。Stacheldraht增加了新的功能:攻擊者與master程序之間的通訊是加密的,對命令來源做假,而且可以防範一些路由器用RFC2267過濾,若檢查出有過濾現象,它將只做假IP地址最後8位,從而讓用戶無法了解到底是哪幾個網段的哪台機器被攻擊;同時使用rcp (remote ,遠程復制)技術對代理程序進行自動更新。Stacheldraht 同TFN一樣,可以並行發動數不勝數的DoS攻擊,類型多種多樣,而且還可建立帶有偽裝源IP地址的信息包。Stacheldraht所發動的攻擊包括UDP 沖擊、TCP SYN 沖擊、ICMP 迴音應答沖擊。
如何防止DoS/DdoS攻擊
DoS攻擊幾乎是從互聯網路的誕生以來,就伴隨著互聯網路的發展而一直存在也不斷發展和升級。值得一提的是,要找DoS的工具一點不難,黑客群居的網路社區都有共享黑客軟體的傳統,並會在一起交流攻擊的心得經驗,你可以很輕松的從Internet上獲得這些工具,像以上提到的這些DoS攻擊軟體都是可以從網上隨意找到的公開軟體。所以任何一個上網者都可能構成網路安全的潛在威脅。DoS攻擊給飛速發展的互聯網路安全帶來重大的威脅。然而從某種程度上可以說,DoS攻擊永遠不會消失而且從技術上目前沒有根本的解決辦法。
面對凶多吉少的DoS險灘,我們該如何對付隨時出現的黑客攻擊呢?讓我們首先對造成DoS攻擊威脅的技術問題做一下總結。DoS攻擊可以說是如下原因造成的:
1.軟體弱點是包含在操作系統或應用程序中與安全相關的系統缺陷,這些缺陷大多是由於錯誤的程序編制,粗心的源代碼審核,無心的副效應或一些不適當的綁定所造成的。由於使用的軟體幾乎完全依賴於開發商,所以對於由軟體引起的漏洞只能依靠打補丁,安裝hot fixes和Service packs來彌補。當某個應用程序被發現有漏洞存在,開發商會立即發布一個更新的版本來修正這個漏洞。由於開發協議固有的缺陷導致的DoS攻擊,可以通過簡單的補丁來彌補系統缺陷。
2.錯誤配置也會成為系統的安全隱患。這些錯誤配置通常發生在硬體裝置,系統或者應用程序中,大多是由於一些沒經驗的,無責任員工或者錯誤的理論所導致的。如果對網路中的路由器,防火牆,交換機以及其他網路連接設備都進行正確的配置會減小這些錯誤發生的可能性。如果發現了這種漏洞應當請教專業的技術人員來修理這些問題。
3.重復請求導致過載的拒絕服務攻擊。當對資源的重復請求大大超過資源的支付能力時就會造成拒絕服務攻擊(例如,對已經滿載的Web伺服器進行過多的請求使其過載)。
要避免系統免受DoS攻擊,從前兩點來看,網路管理員要積極謹慎地維護系統,確保無安全隱患和漏洞;而針對第三點的惡意攻擊方式則需要安裝防火牆等安全設備過濾DoS攻擊,同時強烈建議網路管理員應當定期查看安全設備的日誌,及時發現對系統的安全威脅行為。
❸ SYN Flooding的攻擊原理和防範措施
說起安全,不得不說一下當前最為流行的一種 DDOS 的攻擊方式,從目前看來,這種攻擊仍然是危害性相當大,並且沒有辦法徹底防範的一種攻擊方式。而且,凡是基於 TCP 的高層應用,都有可能受到這種致命的攻擊。
在「可靠的」傳輸層,在這里打上引號,是因為傳輸層並不是真正的可靠的,而只是相對的。為什麼這么說呢,因為在 2 端的通信中,如果由於通信鏈路的故障,或者是某一端的故障,造成了通信的異常,那麼另一端是不能主動地了解到的。打個比方說,這就好比是我匯錢給張三,用的是中國郵政的普通匯款,由於種種的原因,他們把錢在路上搞丟了,但是這個時候我並不知道錢丟了,我還在一直等張三給我打電話,告訴我錢是否到了,如果 2 個月之後,張三還是沒有來電話,說錢已經收到了,按照常理來說,一個半月之前就應該收到了,那沒辦法,我只得再給張三匯錢,如果這次又搞丟了,我還得再匯,直到張三打電話告訴我,錢已經到了,那麼可能對於張三來說,這個傳輸是可靠的,因為不管丟了多少次,終究他是收到了他想要的東西,但是對於我來說,我不能把丟的錢找回來,也不能自己去監視中國郵政到底是把我的錢搞丟了,還是被他們塞進自己的腰包了,我所知道的僅僅是「張三沒有收到錢」,我需要再給他寄一次。
由此可以看出,TCP 的傳輸並不是可靠的,它存在一個等待和重傳的機制,一旦數據在網路上發生丟失,它會依賴於 ACK / SYN 這些東西來進行一個重傳,而且,TCP 處理程序中存在一個計時器,如果計時器發生超時,那麼它就認為數據已經丟了(當然不會像上邊的例子中說的是 2 個月),再去重傳,那麼既然要去重傳,就要保證將來一旦發生超時,TCP 處理程序還能把丟失的東西找回來,那麼,TCP 處理程序在收到連接請求的時候,就會要在內存中開辟一片區域來,保存 SYN 以及數據著一系列的東西。
好,現在了解到了 TCP 的可靠與不可靠的方面,現在來說一下 TCP 的 3 次握手,這個在以前的文章中已經寫過了,在這里就不再多說了,在正常情況下,3 次握手的步驟如下:
ISN
A -------------------> B
SYN/ACK
A <------------------- B
ACK
A -------------------> B
在 A 向 B 發出 TCP 請求的時候,它發出一個隨機的 ISN (Initial Sequence Number),B 收到後給 A 回復一個 ACK = ISN + 1,同時再回復一個自己的 SYN 號,接著會保存 A 發來的這些信息,同時再內存中開辟緩沖區進行保存,然後 A 再給 B 回復一個 ACK。經歷過這三次之後,一個端到端的 TCP 連接已經建立起來了,這是正常的情況。但是,考慮這種情況,如果在 A 向 B 發出請求,B 給 A 回復並且開辟了資源之後,A 不再進行第三次的回復,會怎麼辦?這就好比說,張三收到錢了,也不給我打電話,我一等 2 個月,按照常理的話張三早該收到錢了,但是他還沒來電話,沒辦法,我只有再去匯錢了,那麼如果每一次都這樣,我這里的錢是不是很快就匯完了?TCP 中也是這樣,如果 A 一直在向B 發起 TCP 請求,B 也按照正常情況進行響應了,但是 A 不進行第三次的握手,造成半連接,那麼 B 分配出去的內存資源就一直這么耗著,直到資源耗盡。
對於這種攻擊,似乎是沒有辦法防範的,因為 TCP 的三次握手是協議規定死的,所有使用 TCP 協議的軟體都必須遵循其規定,否則無法通信。但是,有一種辦法,似乎可以防範,那就是限制通信源的 TCP 並發連接數,例如:如果 A 在 1 秒鍾之內連續產生 100 個 TCP 半連接,那麼 B 就丟棄 A 所有的 TCP 信息,並且在一定時間內不再響應攻擊者的釋放內存資源。這看起來似乎似乎一種行之有效的辦法,可是實際並非這么簡單,因為在第三層的 IP 協議是一個不可靠的協議,它的源地址可以被偽造,如果一個攻擊者製造大量的偽造源地址來對受害者進行攻擊,而每一個 IP 地址的 TCP 半連接只建立 3~5 次,這個時候如何防範?
基於此,一種新型的防禦方式產生了—— TCP Cookie,TCP Cookie 技術針對 TCP 協議的軟肋,做出了一些改進。仍以上面的通信過程為例,在 A 向 B 發出一個 TCP 請求之後,B 並不立即為 A 的 TCP 請求分配資源,而是利用 A 發來的連接信息計算出一個 Cookie 值——取 Client 端的 IP、埠,以及 Server 端的 IP、埠,再進行一種散列演算法,得到一個 Cookie,取該 Cookie 的前 24 位作為 SYN 值對對方進行回復。當對方對這個 SYN/ACK 再次進行 ACK (ACK=SYN+1)回復的時候,利用某種演算法和這個 ACK 來倒推回原來的 Cookie,如果在一定范圍內符合,即認為是合法的 TCP 請求,對它進行響應,如果不符合,則認為其是非法的 TCP 請求,丟棄。為什麼說是一定范圍內呢,因為 Cookie 的變化和時間有關,那麼在 TCP 超時之內的所有的 ACK 都應該是合法的,那麼在倒推回去的時候,只要得到的 Cookie 和原來的 Cookie 在一個合法的時間段內相符,就認為是合法的。
這種 TCP Cookie 技術並不是無懈可擊的,首先,如果攻擊者大量地偽造 IP 地址進行半連接攻擊,受害者會忙於計算原來的 Cookie 值而造成資源耗盡,另外,由於並發連接數太多,會造成受害者的帶寬耗盡,同樣也會造成拒絕服務攻擊(D.o.S 可不管是耗盡資源還是耗盡帶寬,它只要讓受害者的服務不能正常提供即可),帶寬總是有限的,所以不管怎麼防範,只要 D.o.S 攻擊威力足夠大,任何的防範方法都不能奏效。所以想要防範 D.o.S,還是厚道些做人,不要惹火黑客,否則在遭到攻擊的時候,除了拔網線,恐怕再沒有別的辦法了:-)
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/wuhuiran/archive/2008/03/16/2189694.aspx
❹ arp攻擊原理
恩作為一個小菜鳥我很榮幸回答樓主的問題
ARP協議是「Address Resolution Protocol」(地址解析協議)的縮寫。在區域網中,網路中實際傳輸的是「幀」,幀裡面是有目標主機的MAC地址的。在乙太網中,一個主機和另一個主機進行直接通信,必須要知道目標主機的MAC地址。但這個目標MAC地址是如何獲得的呢?它就是通過地址解析協議獲得的。所謂「地址解析」就是主機在發送幀前將目標IP地址轉換成目標MAC地址的過程。ARP協議的基本功能就是通過目標設備的IP地址,查詢目標設備的MAC地址,以保證通信的順利進行。
ARP病毒其實就是偽裝成伺服器的原始MAC地址,將計算機導入到一個錯誤的MAC地址,ARP其實改的是你電腦緩存中的MAC地址
註:在每台安裝有TCP/IP協議的電腦里都有一個ARP緩存表,表裡的IP地址與MAC地址是一一對應的
他的原理:小菜鳥的總結經驗:1發送主機發送一個本地的RARP廣播,在此廣播包中,聲明自己的MAC地址並且請求任何收到此請求的RARP伺服器分配一個IP地址;
2. 本地網段上的RARP伺服器收到此請求後,檢查其RARP列表,查找該MAC地址對應的IP地址;
3. 如果存在,RARP伺服器就給源主機發送一個響應數據包並將此IP地址提供給對方主機使用;
4. 如果不存在,RARP伺服器對此不做任何的響應;
5. 源主機收到從RARP伺服器的響應信息,就利用得到的IP地址進行通訊;如果一直沒有收到RARP伺服器的響應信息,表示初始化失敗。
以上觀點純屬鄙人之見解,如有錯誤還望諒解!
❺ 利用P2P進行攻擊或傳播病毒的原理是什麼
主要其實就是ARP欺騙加釣魚或者嗅探有利信息,中了病毒的那台電腦會影響和這台電腦在同一區域網的電腦,中了病毒的電腦會自動向路由發送其他電腦的MAC地址,(解釋一下山么叫MAC地址:其實在區域網里計算機的通信不是通過IP,IP主要起識別作用真正的通信是通過物理網卡MAC地址來進行的,所以必須將MAC和IP綁定才能防止ARP欺騙才能突破P2P限制)這樣另外的電腦上網的所有信息就必須經過這台電腦,也就是說另外的電腦把中了病毒的電腦當成路由器了。只要在中了病毒的機器上面裝上SNIFFER就能嗅探銀行卡,QQ,MSN等等的密碼信息。P2P攻擊可以使用P2P終結者,或者小榕的P2Psniffer。。等等。。。傳播病毒也只能影響區域網的機器,不會影響外網。
❻ arp工作原理及怎樣進行arp攻擊
arp 工作原理 將ip地址翻譯成mac地址
比如 a機 要與 b機通訊 在區域網中 處在 數據鏈路層
這個層 之間的 主機互相通訊是 通過 mac地址 互相區分的
所以 主機a 與主機b通訊 主機a 知道主機b的 ip地址是 不能 通訊的
那麼 主機a就要 用 arp 協議 通過 廣播的 方式 去 尋找主機 b的 mac地址 當主機b 接收到 arp的 廣播後 就會主動 與 主機a聯系 並 告知 主機a
主機b的 mac地址 是 什麼 這樣 主機a知道了 主機b的 mac地址後 就可以 順利的 與 主機b通訊了
進行 arp攻擊 最 直接的 方法 就是 使用 區域網中的 一台機器 去 欺騙 這個 區域網里的 其他 機器 讓 他們 相信 你 使用 的 這台機器 就是 其他機器想要保持 通訊的 網關
❼ UDP、TCP、ICMP攻擊原理
ICMP攻擊就是Ping就是利用ICMP協議走的。大量的ping 就是ICMP碎片攻擊。
TCP攻擊,TCP連接的三次握手特性來進行,一般有SYN ACK FIN NULL FIN+URG+PUSH 由於TCP協議很多。所以攻擊的方式也很多。有開放性的,有半開放的。都是利用三次握手,中途突然終斷。造成拒絕服務。
UDP攻擊,多是了利用和ICMP進行的組合進行,比如SQL SERVER,對其1434埠發送『x02』或者『x03』就能夠探測得到其連接埠。我想你聽說過阿拉丁UDP洪水吧。就是這個道理,UDP是最難防禦的。只可意會不可言傳。