Назад | Перейти на главную страницу

Как убить TCP-соединение с помощью утилиты 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