DDoS攻擊原理的目標(biāo)導(dǎo)向TCP協(xié)議方面的探討:
我們知道,TCP(transmission control protocol,傳輸控制協(xié)議),是用來在不可靠的因特網(wǎng)上提供可靠的、端到端的字節(jié)流通訊協(xié)議,在RFC793中有正式定義,還有一些解決錯誤的東西在RFC 1122中有記錄,RFC 1323則有TCP的功能擴(kuò)展。
我們常見到的TCP/IP協(xié)議中,IP層不保證將數(shù)據(jù)報正確傳送到目的地,TCP則從本地機(jī)器接受用戶的數(shù)據(jù)流,將其分成不超過64K字節(jié)的數(shù)據(jù)片段,將每個數(shù)據(jù)片段作為單獨的IP數(shù)據(jù)包發(fā)送出去,最后在目的地機(jī)器中再組合成完整的字節(jié)流,TCP協(xié)議必須保證可靠性。
發(fā)送和接收方的TCP傳輸以數(shù)據(jù)段的形式交換數(shù)據(jù),一個數(shù)據(jù)段包括一個固定的20字節(jié)頭,加上可選部分,后面再跟上數(shù)據(jù),TCP協(xié)議從發(fā)送方傳送一個數(shù)據(jù)段的時候,還要啟動計時器,當(dāng)數(shù)據(jù)段到達(dá)目的地后,接收方還要發(fā)送回一個數(shù)據(jù)段,其中有一個確認(rèn)序號,它等于希望收到的下一個數(shù)據(jù)段的順序號,如果計時器在確認(rèn)信息到達(dá)前超時了,發(fā)送方會重新發(fā)送這個數(shù)據(jù)段。
上面,我們總體上了解一點TCP協(xié)議,重要的是要熟悉TCP的數(shù)據(jù)頭(header)。因為數(shù)據(jù)流的傳輸最重要的就是header里面的東西,至于發(fā)送的數(shù)據(jù),只是header附帶上的。客戶端和服務(wù)端的服務(wù)響應(yīng)就是同header里面的數(shù)據(jù)相關(guān),兩端的信息交流和交換是根據(jù)header中的內(nèi)容實施的,因此,要實現(xiàn)DOS,就必須對header中的內(nèi)容非常熟悉。