DDoS的攻擊例項
SYN攻擊是DDoS攻擊的一種,它利用TCP協議缺陷,通過傳送大量的半連線請求,耗費CPU和記憶體資源。TCP協議建立連線的時候需要雙方相互確認資訊,來防止連線被偽造和精確控制整個資料傳輸過程資料完整有效。所以TCP協議採用三次握手建立一個連線,下面簡單講解一下。
操作方法
(01)SYN-Flood是目前最流行的DDoS攻擊手段,早先的DoS的手段在向分散式這一階段發展的時候也經歷了浪裡淘沙的過程。SYN-Flood的攻擊效果最好,應該是眾黑客不約而同選擇它的原因吧。
(02)Syn Flood利用了TCP/IP協議的固有漏洞。面向連線的TCP三次握手是Syn Flood存在的基礎。如圖,客戶端向服務端提出連線請求。這時TCP SYN標誌置位。客戶端告訴服務端序列號區域合法,需要檢查。客戶端在TCP報頭的序列號區中插入自己的ISN。服務端收到該TCP分段後,在第二步以自己的ISN迴應(SYN標誌置位),同時確認收到客戶端的第一個TCP分段(ACK標誌置位)。在第三步中,客戶端確認收到服務端的ISN(ACK標誌置位)。到此為止建立完整的TCP連線,開始全雙工模式的資料傳輸過程。
(03)假設一個使用者向伺服器傳送了SYN報文後突然宕機或掉線,那麼伺服器在發出SYN+ACK應答報文後是無法收到客戶端的ACK報文的(第三次握手無法完成),這種情況下伺服器端一般會重試(再次傳送SYN+ACK給客戶端)並等待一段時間後丟棄這個未完成的連線,這段時間的長度我們稱為SYN Timeout,一般來說這個時間是分鐘的數量級(大約為30秒-2分鐘);一個使用者出現異常導致伺服器的一個執行緒等待1分鐘並不是什麼很大的問題,但如果有一個惡意的攻擊者大量模擬這種情況,伺服器端將為了維護一個非常大的半連線列表而消耗非常多的資源----數以萬計的半連線,即使是簡單的儲存並遍歷也會消耗非常多的CPU時間和記憶體,何況還要不斷對這個列表中的IP進行SYN+ACK的重試。實際上如果伺服器的TCP/IP棧不夠強大,最後的結果往往是堆疊溢位崩潰---即使伺服器端的系統足夠強大,伺服器端也將忙於處理攻擊者偽造的TCP連線請求而無暇理睬客戶的正常請求(畢竟客戶端的正常請求比率非常之小),此時從正常客戶的角度看來,伺服器失去響應,這種情況我們稱做:伺服器端受到了SYN Flood攻擊。
-
怎麼樣校驗Win10 ISO的SHA1 如何驗證MD5值
如果你想了解自己下載的Windows10ISO檔案是否為原版,這時該怎麼樣操作呢?我們可以通過驗證ISO檔案的SHA1與MD5值,下面就來看看如何驗證SHA1與MD5的方法吧。操作方法(01)首先我們在下載Windows10ISO檔案的頁面,可以看到MD5與SHA1的數值,把這些數值複製儲存起來。(02)接下...
-
如何編寫第一個python程式
對於想要學學習python的同學來說,如何編寫第一個python程式。本篇介紹。編寫python程式方法1(01)開啟系統終端。(02)在命令列輸入python3 ,輸入python3表示用的python3版本,如果只輸入python的話表示用的是python的第2個版本(03)然後輸入print('helloworld')...
-
升級Win10卡在正在檢查更新怎麼辦
微軟在2015年7月29日釋出在1年以內所有Win7或Win7以上的系統可以免費升級到win10系統,升級到win10系統可以通過微軟官網下載更新程式或者其他方式,這裡說的就是選擇從下載官網更新軟體但是許多朋友在升級時總是會卡在正在檢查更新。操作方法(01)經過裝置相容性檢查...
-
MATLAB使用importdata讀取字元資料檔案並繪圖
本文首先使用importdata()讀取(匯入)含有字元和資料的文字格式資料檔案,然後介紹通過“.”+資料名的方式讀取結構陣列中的資料,最後使用plot()繪製折線圖。操作方法(01)第一,首先準備資料,下圖txt資料檔案是某年12個月的月收入情況,既包含數字又包含字元。(02)第二,將該數...