So beenden Sie eine TCP-Verbindung mit dem Dienstprogramm tcpkill

11

Ich versuche, eine ESTABLISHED TCP-Verbindung mit zu beenden tcpkill. Die Verbindung ist eine offene HTTPS-Verbindung. Es erscheint auf netstat als:

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

Also, gemäß der Manpage , gebe ich ein:

$ tcpkill -i eth1 -9 port 443

Das Dienstprogramm tcpkill gibt Folgendes aus:

tcpkill: listening on eth1 [port 443]

... und hängt dann einfach. Nachdem ich ungefähr 15 Minuten gewartet habe, bin ich mir nicht sicher, was hier los ist.

Mache ich etwas falsch?

Charles Salvia
quelle

Antworten:

10

Damit tcpkill funktioniert (dh ein Reset-Paket mit der richtigen Sequenznummer und dem richtigen Quellport erstellen), muss Datenverkehr vorhanden sein. Wenn nichts mehr gedruckt wird, gibt es keinen Verkehr. Um zu überprüfen, ob Sie ausgeführt werden können tcpdump -i eth1 port 443.

Mark Wagner
quelle
3

Ich musste eine hergestellte Verbindung beenden, auf der kein Datenverkehr bestand (eine Debug-Sitzung auf einer JVM).

tcpkillWie in @Mark Wagner erklärt, konnte die Antwort dies nicht tun, jedoch killcx1.0.3 ( Link ) (Ubuntu 10.04).

Es ist ein Perl-Skript, das von einigen Bibliotheken abhängig ist.

Bearbeiten

Auf einer Verbindung, die mit killcxder Kombination von beiden nicht getötet werden konnte tcpkillund es killcxtat:

Sagen Sie die Verbindung, wenn von LOCAL:PORTL bisREMOTE:PORTR

  • Starten Sie in einem Terminal tcpkill : tcpkill port PORTL. Tcpkill wartet auf den Datenverkehr
  • In einem zweiten Terminal starten Sie killcx: killcx REMOTE:PORTR
Bruno Grieder
quelle