Como matar uma conexão TCP usando o utilitário tcpkill

11

Estou tentando matar uma conexão TCP ESTABELECIDA usando tcpkill. A conexão é uma conexão HTTPS aberta. Aparece no netstat como:

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

Então, de acordo com a página de manual , insiro:

$ tcpkill -i eth1 -9 port 443

O utilitário tcpkill gera:

tcpkill: listening on eth1 [port 443]

... e depois trava. Depois de esperar cerca de 15 minutos, não tenho certeza do que está acontecendo aqui.

Estou fazendo algo errado?

Charles Salvia
fonte

Respostas:

10

Para que o tcpkill funcione (ou seja, crie um pacote de redefinição que tenha o número de sequência e a porta de origem corretos), deve haver tráfego. Se nada mais for impresso, não haverá tráfego. Para verificar se você pode executar tcpdump -i eth1 port 443.

Mark Wagner
fonte
3

Eu tive que matar uma conexão estabelecida na qual não havia tráfego (uma sessão de depuração em uma JVM).

tcpkillcomo explicado na resposta de @Mark Wagner, não foi possível, no entanto killcx1.0.3 ( link ) o fez (Ubuntu 10.04).

É um script perl que depende de algumas bibliotecas.

Editar

Em uma conexão que não pôde ser eliminada com killcxa combinação de ambos tcpkille o killcxfez:

Diga a conexão se de LOCAL:PORTL aREMOTE:PORTR

  • Em um tcpkill início terminal: tcpkill port PORTL. Tcpkill começará a ouvir o tráfego
  • Em um segundo terminal, execute o killcx: killcx REMOTE:PORTR
Bruno Grieder
fonte