TCP半連線對端不斷開,試試用RST

2022-08-28 13:09:18 字數 527 閱讀 7719

我們都知道tcp斷開需要兩次互動,雙方都需要傳送fin/ack,也可以說是4次握手。

有如下ip12.38.14.9,可能是肉機,大部分埠都開發可以建立tcp連線,但是斷開的fin/ack不響應。

根據tcp協議狀態我們知道,此時本地處於fin_wait_1狀態,定時器超時才退出,這段時間tcp連線未斷掉,會占用頻寬。

極端情況下,可能出現當量fin_wait1的未斷開連線。因此嘗試不再用fin,ack斷開連線,直接使用rst斷開連線。

發現埠和鏈結能夠立即釋放,針對對端非協議處理場景,可以考慮直接rst tcp連線,不用正常的斷開連線方式。

TCP半連線佇列和全連線佇列

半連線佇列 syn queue 全連線佇列 accept queue ss lnt recv q send q local address port peer address port 0 100 8080 當連線處於時listen狀態,send q表示accept queue的最大值,recv q...

Linux快速統計TCP半連線的數量

如果你想知道當前系統 執行linux核心 中處在syn recv狀態的tcp半連線數量的大小,最樸素的方法莫過如下 netstat antp grep syn recv wc l ss ant grep syn recv wc l有什麼問題嗎?方法樸素歸樸素,但只能應對日常需求,如果遇到syn fl...

TCP連線三次握手對端無響應處理

最近遇到問題,裝置作為客戶端向服務端發起tcp連線三次握手,結果服務端埠不通,導致客戶端傳送的syn報文無響應,此時會發生什麼事情呢?首先根據上面這個圖來看,客戶端傳送syn報文無響應,會停在syn sent狀態,使用netstat an命令就可以看到。接下來就是重傳syn報文,等待三次握手超時釋放...