Linux
如何使用 tcpkill 實用程序終止 TCP 連接
我正在嘗試使用
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 回答中所解釋的那樣,答案無法做到,但是killcx
1.0.3(連結)做到了(Ubuntu 10.04)。它是一個依賴於幾個庫的 perl 腳本。
編輯
在無法通過
killcx
兩者結合殺死的連接上tcpkill
並killcx
做到了:如果從
LOCAL:PORTL
到說連接REMOTE:PORTR
- 在終端啟動 tcpkill:
tcpkill port PORTL
。Tcpkill 將開始監聽流量- 在第二個終端啟動 killcx:
killcx REMOTE:PORTR