TCP異常終止(reset報文)

轉載網址:http://www.vants.org/?post=22


TCP異常終止(reset報文)

TCP的異常終止是相對於正常釋放TCP連接的過程而言的,我們都知道,TCP連接的建立是通過三次握手完成的,而TCP正常釋放連接是通過四次揮手來完成,但是有些情況下,TCP在交互的過程中會出現一些意想不到的情況,導致TCP無法按照正常的四次揮手來釋放連接,如果此時不通過其他的方式來釋放TCP連接的話,這個TCP連接將會一直存在,佔用系統的部分資源。在這種情況下,我們就需要有一種能夠釋放TCP連接的機制,這種機制就是TCP的reset報文。reset報文是指TCP報頭的標誌字段中的reset位置一的報文,如下圖所示:

點擊查看原圖

TCP異常終止的常見情形

我們在實際的工作環境中,導致某一方發送reset報文的情形主要有以下幾種:

1,客戶端嘗試與服務器未對外提供服務的端口建立TCP連接,服務器將會直接向客戶端發送reset報文。

點擊查看原圖

2,客戶端和服務器的某一方在交互的過程中發生異常(如程序崩潰等),該方系統將向對端發送TCP reset報文,告之對方釋放相關的TCP連接,如下圖所示:

點擊查看原圖

3,接收端收到TCP報文,但是發現該TCP的報文,並不在其已建立的TCP連接列表內,則其直接向對端發送reset報文,如下圖所示:

點擊查看原圖

4,在交互的雙方中的某一方長期未收到來自對方的確認報文,則其在超出一定的重傳次數或時間後,會主動向對端發送reset報文釋放該TCP連接,如下圖所示:

點擊查看原圖

5,有些應用開發者在設計應用系統時,會利用reset報文快速釋放已經完成數據交互的TCP連接,以提高業務交互的效率,如下圖所示:

點擊查看原圖

 Reset報文的利用

安全設備利用reset報文阻斷異常連接

安全設備(如防火牆、入侵檢測系統等)在發現某些可疑的TCP連接時,會構造交互雙方的reset報文發給對端,讓對端釋放該TCP連接。比如入侵檢測檢測到黑客攻擊的TCP連接,其構造成被攻擊端給黑客主機發送reset報文,讓黑客主機釋放攻擊連接。

利用reset報文實施攻擊

安全設備可以利用reset報文達到安全防護的效果,黑客和攻擊者也可以利用reset報文實現對某些主機的入侵和攻擊,最常見的就是TCP會話劫持攻擊。關於TCP會話劫持的相關知識請參考第三章《TCP會話劫持》一文。


 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章