對於阻斷式攻擊的防禦理論以及瞭解,讀者們必須把握住IP,TCP,UDP,HTTP,SMTP等常用的通訊協定,也就是說,對於上述的通訊協定的瞭解必須要有一定的深度,例如:TCP連線建立的三向交握(Three Way Handshake),IP定址的計算(例如:10.1.3.24/14的網路及廣播位址為何?),TCP表頭中每個旗標(Flag)所代表的意義為何等,都是Ben老師認為瞭解通訊協定的開始,如果讀者們目前並不是很瞭解Ben老師剛剛所提的問題,那麼建議往後再來看看這篇文章。
SYN Round Trip Time (RTT)定義當機器送出SYN+ACK封包後的第一時間,到收到另一端所發出的ACK封包所需的時間;當伺服器收到用戶端的第一個TCP SYN封包時,該TCP連線就會進入SYN_RCVD的狀態,也就是SYN的封包被RECEIVED的意思,RCVD也就是RECEIVED的縮寫,SYN_RCVD的狀態在收到相關的ACK封包的之後,就會轉成ESTABLISHED的狀態,因而TCP的連線就建立完成,開始傳送資料。
SYN Flood基本上有兩種類型:Non-Spoofed(不偽裝IP位址)以及Spoofed(偽裝的IP位址);Non-Spoofed的攻擊方式並不偽裝其發出攻擊的的IP位址,所以會收到伺服器端所發出的SYN+ACK封包,這種方式會暴露攻擊者的位址;Spoofed的攻擊方式使用了假的IP位址,所以伺服器端所送出的SYN+ACK封包會送到那個假的IP位址去,因此很難發現攻擊機器的位址,但是,這種攻擊方式會送出大量的封包到擁有那個假IP的機器,這也是另一種的攻擊方式,如下圖所示。