Как убить TCP соединение с помощью утилиты tcpkill

11

Я пытаюсь убить установленное TCP-соединение с помощью tcpkill. Соединение является открытым HTTPS-соединением. На netstat это выглядит так:

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

Итак, согласно man-странице , я ввожу:

$ tcpkill -i eth1 -9 port 443

Утилита tcpkill выводит:

tcpkill: listening on eth1 [port 443]

... а потом просто зависает. Подождав минут 15, я не уверен, что здесь происходит.

Я делаю что-то неправильно?

Чарльз Сальвия
источник

Ответы:

10

Для работы tcpkill (т.е. создания пакета сброса, который имеет правильный порядковый номер и порт источника), должен быть трафик. Если больше ничего не напечатано, то нет трафика. Чтобы убедиться, что вы могли бежать tcpdump -i eth1 port 443.

Марк Вагнер
источник
3

Мне пришлось убить установленное соединение, по которому не было трафика (сеанс отладки на JVM).

tcpkillкак объяснено в @Mark Wagner, ответ не мог сделать это, однако killcx1.0.3 ( ссылка ) сделал (Ubuntu 10.04).

Это Perl-скрипт, который зависит от нескольких библиотек.

редактировать

На соединение, которое не может быть уничтожено с killcxпомощью комбинации обоих tcpkillи killcxсделало это:

Скажите соединение, если от LOCAL:PORTL кREMOTE:PORTR

  • В терминале запуска tcpkill: tcpkill port PORTL. Tcpkill начнет слушать трафик
  • Во втором терминале запускаем killcx: killcx REMOTE:PORTR
Бруно Гридер
источник