網路攻擊器的原理是什麼?是怎麼向固定的ip位址發起進攻的

2021-03-27 20:27:32 字數 5586 閱讀 4612

1樓:匿名使用者

常見網路攻擊原理

1.1 tcp syn拒絕服務攻擊

一般情況下,乙個tcp連線的建立需要經過三次握手的過程,即:

1、 建立發起者向目標計算機傳送乙個tcp syn報文;

2、 目標計算機收到這個syn報文後,在記憶體中建立tcp連線控制塊(tcb),然後向發起者回送乙個tcp ack報文,等待發起者的回應;

3、 發起者收到tcp ack報文後,再回應乙個ack報文,這樣tcp連線就建立起來了。

利用這個過程,一些惡意的攻擊者可以進行所謂的tcp syn拒絕服務攻擊:

1、 攻擊者向目標計算機傳送乙個tcp syn報文;

2、 目標計算機收到這個報文後,建立tcp連線控制結構(tcb),並回應乙個ack,等待發起者的回應;

3、 而發起者則不向目標計算機回應ack報文,這樣導致目標計算機一致處於等待狀態。

可以看出,目標計算機如果接收到大量的tcp syn報文,而沒有收到發起者的第三次ack回應,會一直等待,處於這樣尷尬狀態的半連線如果很多,則會把目標計算機的資源(tcb控制結構,tcb,一般情況下是有限的)耗盡,而不能響應正常的tcp連線請求。

1.2 icmp洪水

正常情況下,為了對網路進行診斷,一些診斷程式,比如ping等,會發出icmp響應請求報文(icmp echo),接收計算機接收到icmp echo後,會回應乙個icmp echo reply報文。而這個過程是需要cpu處理的,有的情況下還可能消耗掉大量的資源,比如處理分片的時候。這樣如果攻擊者向目標計算機傳送大量的icmp echo報文(產生icmp洪水),則目標計算機會忙於處理這些echo報文,而無法繼續處理其它的網路資料報文,這也是一種拒絕服務攻擊(dos)。

1.3 udp洪水

原理與icmp洪水類似,攻擊者通過傳送大量的udp報文給目標計算機,導致目標計算機忙於處理這些udp報文而無法繼續處理正常的報文。

1.4 埠掃瞄

根據tcp協議規範,當一台計算機收到乙個tcp連線建立請求報文(tcp syn)的時候,做這樣的處理:

1、 如果請求的tcp埠是開放的,則回應乙個tcp ack報文,並建立tcp連線控制結構(tcb);

2、 如果請求的tcp埠沒有開放,則回應乙個tcp rst(tcp頭部中的rst標誌設為1)報文,告訴發起計算機,該埠沒有開放。

相應地,如果ip協議棧收到乙個udp報文,做如下處理:

1、 如果該報文的目標埠開放,則把該udp報文送上層協議(udp)處理,不回應任何報文(上層協議根據處理結果而回應的報文例外);

2、 如果該報文的目標埠沒有開放,則向發起者回應乙個icmp不可達報文,告訴發起者計算機該udp報文的埠不可達。

利用這個原理,攻擊者計算機便可以通過傳送合適的報文,判斷目標計算機哪些tcp或udp埠是開放的,過程如下:

1、 發出埠號從0開始依次遞增的tcp syn或udp報文(埠號是乙個16位元的數字,這樣最大為65535,數量很有限);

2、 如果收到了針對這個tcp報文的rst報文,或針對這個udp報文的icmp不可達報文,則說明這個埠沒有開放;

3、 相反,如果收到了針對這個tcp syn報文的ack報文,或者沒有接收到任何針對該udp報文的icmp報文,則說明該tcp埠是開放的,udp埠可能開放(因為有的實現中可能不回應icmp不可達報文,即使該udp埠沒有開放)。

這樣繼續下去,便可以很容易的判斷出目標計算機開放了哪些tcp或udp埠,然後針對埠的具體數字,進行下一步攻擊,這就是所謂的埠掃瞄攻擊。

1.5 分片ip報文攻擊

為了傳送乙個大的ip報文,ip協議棧需要根據鏈路介面的mtu對該ip報文進行分片,通過填充適當的ip頭中的分片指示字段,接收計算機可以很容易的把這些ip分片報文組裝起來。

目標計算機在處理這些分片報文的時候,會把先到的分片報文快取起來,然後一直等待後續的分片報文,這個過程會消耗掉一部分記憶體,以及一些ip協議棧的資料結構。如果攻擊者給目標計算機只傳送一片分片報文,而不傳送所有的分片報文,這樣攻擊者計算機便會一直等待(直到乙個內部計時器到時),如果攻擊者傳送了大量的分片報文,就會消耗掉目標計算機的資源,而導致不能相應正常的ip報文,這也是一種dos攻擊。

1.6 syn位元和fin位元同時設定

在tcp報文的報頭中,有幾個標誌字段:

1、 syn:連線建立標誌,tcp syn報文就是把這個標誌設定為1,來請求建立連線;

2、 ack:回應標誌,在乙個tcp連線中,除了第乙個報文(tcp syn)外,所有報文都設定該欄位,作為對上乙個報文的相應;

3、 fin:結束標誌,當一台計算機接收到乙個設定了fin標誌的tcp報文後,會拆除這個tcp連線;

4、 rst:復位標誌,當ip協議棧接收到乙個目標埠不存在的tcp報文的時候,會回應乙個rst標誌設定的報文;

5、 psh:通知協議棧盡快把tcp資料提交給上層程式處理。

正常情況下,syn標誌(連線請求標誌)和fin標誌(連線拆除標誌)是不能同時出現在乙個tcp報文中的。而且rfc也沒有規定ip協議棧如何處理這樣的畸形報文,因此,各個作業系統的協議棧在收到這樣的報文後的處理方式也不同,攻擊者就可以利用這個特徵,通過傳送syn和fin同時設定的報文,來判斷作業系統的型別,然後針對該作業系統,進行進一步的攻擊。

1.7 沒有設定任何標誌的tcp報文攻擊

正常情況下,任何tcp報文都會設定syn,fin,ack,rst,psh五個標誌中的至少乙個標誌,第乙個tcp報文(tcp連線請求報文)設定syn標誌,後續報文都設定ack標誌。有的協議棧基於這樣的假設,沒有針對不設定任何標誌的tcp報文的處理過程,因此,這樣的協議棧如果收到了這樣的報文,可能會崩潰。攻擊者利用了這個特點,對目標計算機進行攻擊。

1.8 設定了fin標誌卻沒有設定ack標誌的tcp報文攻擊

正常情況下,ack標誌在除了第乙個報文(syn報文)外,所有的報文都設定,包括tcp連線拆除報文(fin標誌設定的報文)。但有的攻擊者卻可能向目標計算機傳送設定了fin標誌卻沒有設定ack標誌的tcp報文,這樣可能導致目標計算機崩潰。

1.9 死亡之ping

tcp/ip規範要求ip報文的長度在一定範圍內(比如,0-64k),但有的攻擊計算機可能向目標計算機發出大於64k長度的ping報文,導致目標計算機ip協議棧崩潰。

1.10 位址猜測攻擊

跟埠掃瞄攻擊類似,攻擊者通過傳送目標位址變化的大量的icmp echo報文,來判斷目標計算機是否存在。如果收到了對應的ecmp echo reply報文,則說明目標計算機是存在的,便可以針對該計算機進行下一步的攻擊。

1.11 淚滴攻擊

對於一些大的ip包,需要對其進行分片傳送,這是為了迎合鏈路層的mtu(最大傳輸單元)的要求。比如,乙個4500位元組的ip包,在mtu為1500的鏈路上傳輸的時候,就需要分成三個ip包。

在ip報頭中有乙個偏移欄位和乙個分片標誌(mf),如果mf標誌設定為1,則表面這個ip包是乙個大ip包的片斷,其中偏移字段指出了這個片斷在整個ip包中的位置。例如,對乙個4500位元組的ip包進行分片(mtu為1500),則三個片斷中偏移欄位的值依次為:0,1500,3000。

這樣接收端就可以根據這些資訊成功的組裝該ip包。

如果乙個攻擊者打破這種正常情況,把偏移字段設定成不正確的值,即可能出現重合或斷開的情況,就可能導致目標作業系統崩潰。比如,把上述偏移設定為0,1300,3000。這就是所謂的淚滴攻擊。

1.12 帶源路由選項的ip報文

為了實現一些附加功能,ip協議規範在ip報頭中增加了選項字段,這個字段可以有選擇的攜帶一些資料,以指明中間裝置(路由器)或最終目標計算機對這些ip報文進行額外的處理。

源路由選項便是其中乙個,從名字中就可以看出,源路由選項的目的,是指導中間裝置(路由器)如何**該資料報文的,即明確指明了報文的傳輸路徑。比如,讓乙個ip報文明確的經過三颱路由器r1,r2,r3,則可以在源路由選項中明確指明這三個路由器的介面位址,這樣不論三颱路由器上的路由表如何,這個ip報文就會依次經過r1,r2,r3。而且這些帶源路由選項的ip報文在傳輸的過程中,其源位址不斷改變,目標位址也不斷改變,因此,通過合適的設定源路由選項,攻擊者便可以偽造一些合法的ip位址,而蒙混進入網路。

1.13 帶記錄路由選項的ip報文

記錄路由選項也是乙個ip選項,攜帶了該選項的ip報文,每經過一台路由器,該路由器便把自己的介面位址填在選項字段裡面。這樣這些報文在到達目的地的時候,選項資料裡面便記錄了該報文經過的整個路徑。

通過這樣的報文可以很容易的判斷該報文經過的路徑,從而使攻擊者可以很容易的尋找其中的攻擊弱點。

1.14 未知協議欄位的ip報文

在ip報文頭中,有乙個協議字段,這個字段指明了該ip報文承載了何種協議 ,比如,如果該字段值為1,則表明該ip報文承載了icmp報文,如果為6,則是tcp,等等。目前情況下,已經分配的該字段的值都是小於100的,因此,乙個帶大於100的協議欄位的ip報文,可能就是不合法的,這樣的報文可能對一些計算機作業系統的協議棧進行破壞。

1.15 ip位址欺騙

一般情況下,路由器在**報文的時候,只根據報文的目的位址查路由表,而不管報文的源位址是什麼,因此,這樣就 可能面臨一種危險:如果乙個攻擊者向一台目標計算機發出乙個報文,而把報文的源位址填寫為第三方的乙個ip位址,這樣這個報文在到達目標計算機後,目標計算機便可能向毫無知覺的第三方計算機回應。這便是所謂的ip位址欺騙攻擊。

比較著名的sql server蠕蟲病毒,就是採用了這種原理。該病毒(可以理解為乙個攻擊者)向一台執行sql server解析服務的伺服器傳送乙個解析服務的udp報文,該報文的源位址填寫為另外一台執行sql server解析程式(sql server 2000以後版本)的伺服器,這樣由於sql server 解析服務的乙個漏洞,就可能使得該udp報文在這兩台伺服器之間往復,最終導致伺服器或網路癱瘓。

1.16 winnuke攻擊

***bios作為一種基本的網路資源訪問介面,廣泛的應用於檔案共享,列印共享,程序間通訊(ipc),以及不同作業系統之間的資料交換。一般情況下,***bios是執行在llc2鏈路協議之上的,是一種基於組播的網路訪問介面。為了在tcp/ip協議棧上實現***bios,rfc規定了一系列互動標準,以及幾個常用的tcp/udp埠:

139:***bios會話服務的tcp埠;

137:***bios名字服務的udp埠;

136:***bios資料報服務的udp埠。

windows作業系統的早期版本(win95/98/nt)的網路服務(檔案共享等)都是建立在***bios之上的,因此,這些作業系統都開放了139埠(最新版本的windows 2000/xp/2003等,為了相容,也實現了***bios over tcp/ip功能,開放了139埠)。

winnuke攻擊就是利用了windows作業系統的乙個漏洞,向這個139埠傳送一些攜帶tcp帶外(oob)資料報文,但這些攻擊報文與正常攜帶oob資料報文不同的是,其指標欄位與資料的實際位置不符,即存在重合,這樣windows作業系統在處理這些資料的時候,就會崩潰。

1.17 land攻擊

land攻擊利用了tcp連線建立的三次握手過程,通過向乙個目標計算機傳送乙個tcp syn報文(連線建立請求報文)而完成對目標計算機的攻擊。與正常的tcp syn報文不同的是,land攻擊報文的源ip位址和目的ip位址是相同的,都是目標計算機的ip位址。這樣目標計算機接收到這個syn報文後,就會向該報文的源位址傳送乙個ack報文,並建立乙個tcp連線控制結構(tcb),而該報文的源位址就是自己,因此,這個ack報文就發給了自己。

這樣如果攻擊者傳送了足夠多的syn報文,則目標計算機的tcb可能會耗盡,最終不能正常服務。這也是一種dos攻擊。

變壓器的原理是什麼變壓器的工作原理是什麼

變壓器的原理bai主要是電磁感應現du象。變壓器的主要作用是zhi 通過提公升電壓,以dao減小電流在傳輸版過程中的熱損耗,權並且通過降壓使得使用者可以用到電壓合適的電。在電流通過線路進行遠距離傳輸時,電線的電阻中會有電流的熱效應,即電流產生的熱量與電流強度的平方和電阻值分別成正比 安培定則 這樣一...

消音器的原理是什麼,消音器的工作原理是什麼

裝在槍口用以減少槍聲的管狀裝置。槍聲的 主要是裝藥燃燒後的氣體以高速噴出槍口,以及彈頭以超 消音器結構原理音速在空氣中飛行產生的震波而來。滅音器中有以隔板分隔成多個腔室,中間有洞可以讓彈頭穿過。當廢氣進入滅音器後,會在逐個腔室內膨脹冷卻降壓減速,從而降低廢氣噴出的聲響。彈頭超音速的震波則可以用低裝藥...

變壓器工作原理,變壓器的工作原理是什麼

1.原線圈的感應電動勢是由於自感引起的還是副線圈引起的 二者都有。如果變壓器是空載的,那麼二次線圈中沒有電流,它不產生磁場,它就不對一次線圈產生影響,於是,原線圈的感應電動勢是由於自感引起的 主磁通由i0w1產生。如果二次接有負載,二次中有電流,它也要產生磁場,就會對一次線圈產生互感電勢。此時,一次...