Jak zabić połączenie TCP za pomocą narzędzia tcpkill

11

Próbuję zabić ustanowione połączenie TCP za pomocą tcpkill. Połączenie jest otwartym połączeniem HTTPS. Pojawia się na netstat jako:

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

Tak więc, zgodnie ze stroną podręcznika , wpisuję:

$ tcpkill -i eth1 -9 port 443

Narzędzie tcpkill generuje:

tcpkill: listening on eth1 [port 443]

... a potem po prostu się zawiesza. Po odczekaniu około 15 minut nie jestem pewien, co się tutaj dzieje.

czy robię coś źle?

Charles Salvia
źródło

Odpowiedzi:

10

Aby tcpkill działał (tj. Stworzyć pakiet resetowania, który ma poprawny numer sekwencji i port źródłowy), musi istnieć ruch. Jeśli nic więcej nie jest drukowane, to nie ma ruchu. Aby zweryfikować, możesz uruchomić tcpdump -i eth1 port 443.

Mark Wagner
źródło
3

Musiałem zabić ustanowione połączenie, na którym nie było ruchu (sesja debugowania na maszynie JVM).

tcpkilljak wyjaśniono w @Mark Wagner odpowiedź nie mogła tego zrobić, jednak zrobiła to wersja killcx1.0.3 ( link ) (Ubuntu 10.04).

Jest to skrypt perla, który jest zależny od kilku bibliotek.

Edytować

W przypadku połączenia, którego nie można zabić za killcxpomocą kombinacji obu tych elementów, tcpkilli killcxzrobiono to:

Powiedz połączenie, jeśli od LOCAL:PORTL doREMOTE:PORTR

  • W początkowym terminala tcpkill: tcpkill port PORTL. Tcpkill zacznie nasłuchiwać ruchu
  • W drugim terminalu uruchom killcx: killcx REMOTE:PORTR
Bruno Grieder
źródło