ESTABLISHED TCP tcpkill
を使用した接続を強制終了しようとしています。接続はオープンHTTPS接続です。netstatに次のように表示されます:
tcp 0 0 X.X.X.X:55601 X.X.X.X:https ESTABLISHED
したがって、 man page のように、次のように入力します。
$ tcpkill -i eth1 -9 port 443
Tcpkillユーティリティの出力:
tcpkill: listening on eth1 [port 443]
...そしてハングアップします。約15分待った後、何が起こっているのかわかりません。
私は何か間違ったことをしていますか?
Tcpkillが機能する(つまり、正しいシーケンス番号と送信元ポートを持つリセットパケットを作成する)には、トラフィックが必要です。何も印刷されない場合、トラフィックはありません。確認するには、tcpdump -i eth1 port 443
。
トラフィックのない確立された接続(JVMのデバッグセッション)を強制終了する必要がありました。
@Mark Wagnerの回答で説明されているtcpkill
はそれを実行できませんでしたが、killcx
1.0.3( link )は実行しました(Ubuntu 10.04)。
いくつかのライブラリに依存するPerlスクリプトです。
編集
killcx
で強制終了できなかった接続で、tcpkill
とkillcx
の両方を組み合わせて実行しました:
LOCAL:PORTL
からREMOTE:PORTR
の場合に接続を発声します
tcpkill port PORTL
。 Tcpkillはトラフィックのリッスンを開始しますkillcx REMOTE:PORTR