LINUX.ORG.RU
решено ФорумAdmin

tcp kill session

 ,


1

4

Коллеги, добрый день. Есть вот вопрос.

Мне нужно кильнуть tcp сессию.

Пробовал использовать tcpkill, но эту утилита висит и ждет когда прилетит пакет от клиента к серверу, а он может не прилететь.

При использовании утилиты ss ошибка:

ss -n4 | grep 8989

tcp ESTAB 0 0 10.168.202.13:8989 192.168.11.40:57396

ss -K '( dport = :57396 )'

SOCK_DESTROY answers: Invalid argument

Подскажите как правильно завершить сессию?

когда-то я тоже заводил подобную тему, но тут всё сильно зависит от задачи
что вообще хочешь решить этим убийством?

zolden ★★★★★
()
Ответ на: комментарий от zolden

Есть приложение написаное на java. Иногда разработчик подключается к нему по debug порту, и забывает выйти. Из за этого приложение может зависнуть и что бы оживить приходится его перезапускать.

Я пишу скрипт, который бы через определенное время просто убивал сессию, без перезапуска самого приложения.

lucidlynx
() автор топика
Ответ на: комментарий от lucidlynx

Если программа достигла совершенства, зачем ещё коммитить?

turtle_bazon ★★★★★
()
Ответ на: комментарий от Pinkbyte

Судя по описанию, там нужен пакет внутри коннекта, а ТС напирает на то, пакетов может долго не быть.
Если они есть, то по идее должен сработать и метод с iptables+RST из обсуждения по ссылке выше.
Я же обычно не парюсь и добавляю blackhole маршрут для нужного IP, коннект отваливается достаточно быстро.

zolden ★★★★★
()
Ответ на: комментарий от lucidlynx

Я бы попробовал костыль в виде redirect из xinetd c настроенным keepalive.

Пусть разраб подключается на порт xinetd, а тот редиректит его на порт программы.

vel ★★★★★
()
Ответ на: комментарий от Bers666

У меня на генте CONFIG_INET_DIAG_DESTROY в ядре нет, поэтому ss при попытке сбросить коннект говорит окей, но ничего не происходит :-)

Pinkbyte ★★★★★
()
Ответ на: комментарий от zolden

нужен пакет внутри коннекта
Killcx is a Perl script to close a TCP connection under Linux, whatever its state is (half-open, established, waiting or closing state).

ЕМНИП 2 последних состояния уже никаких пакетов не требуют, но возможно я неправ

Pinkbyte ★★★★★
()
Ответ на: комментарий от Bers666

Потому что у меня CentOS 7.7 И там оно не работает)

lucidlynx
() автор топика
Ответ на: комментарий от lucidlynx

пока идея не шевельнется,она не узнает,что ее соединение на другом конце закрыто

anonymous
()

Сделал вот так.

Поднял haproxy и завернул через него.

Все заработало. Всем спасибо

lucidlynx
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.