Linux

如何使用 tcpkill 實用程序終止 TCP 連接

  • February 5, 2017

我正在嘗試使用tcpkill. 該連接是一個開放的 HTTPS 連接。它在 netstat 上顯示為:

tcp        0      0 X.X.X.X:55601         X.X.X.X:https    ESTABLISHED

因此,根據手冊頁,我輸入:

$ tcpkill -i eth1 -9 port 443

tcpkill 實用程序輸出:

tcpkill: listening on eth1 [port 443]

…然後就掛了。等了大約 15 分鐘後,我不確定這裡發生了什麼。

難道我做錯了什麼?

要使 tcpkill 工作(即製作具有正確序列號和源埠的重置數據包),必須有流量。如果沒有列印更多內容,則沒有流量。要驗證您可以執行tcpdump -i eth1 port 443.

我不得不終止一個沒有流量的已建立連接(JVM 上的調試會話)。

tcpkill正如@Mark Wagner 回答中所解釋的那樣,答案無法做到,但是killcx1.0.3(連結)做到了(Ubuntu 10.04)。

它是一個依賴於幾個庫的 perl 腳本。

編輯

在無法通過killcx兩者結合殺死的連接上tcpkillkillcx做到了:

如果從LOCAL:PORTL 到說連接REMOTE:PORTR

  • 在終端啟動 tcpkill: tcpkill port PORTL。Tcpkill 將開始監聽流量
  • 在第二個終端啟動 killcx: killcx REMOTE:PORTR

引用自:https://serverfault.com/questions/315640