Я пытаюсь убить УСТАНОВЛЕННОЕ 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 port PORTL
. Tcpkill начнет прослушивать трафикkillcx REMOTE:PORTR