Comment tuer une connexion TCP à l'aide de l'utilitaire tcpkill

11

J'essaie de tuer une connexion TCP ÉTABLIE avec tcpkill. La connexion est une connexion HTTPS ouverte. Il apparaît sur netstat comme:

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

Donc, selon la page de manuel , j'entre:

$ tcpkill -i eth1 -9 port 443

L'utilitaire tcpkill génère:

tcpkill: listening on eth1 [port 443]

... puis se bloque. Après avoir attendu environ 15 minutes, je ne sais pas ce qui se passe ici.

Est-ce que je fais quelque chose de mal?

Charles Salvia
la source

Réponses:

10

Pour que tcpkill fonctionne (c'est-à-dire qu'il crée un paquet de réinitialisation qui a le numéro de séquence et le port source corrects), il doit y avoir du trafic. Si rien de plus n'est imprimé, il n'y a pas de trafic. Pour vérifier, vous pouvez exécuter tcpdump -i eth1 port 443.

Mark Wagner
la source
3

J'ai dû tuer une connexion établie sur laquelle il n'y avait pas de trafic (une session de débogage sur une machine virtuelle Java).

tcpkillcomme expliqué dans @Mark Wagner, la réponse n'a pas pu le faire, contrairement à killcx1.0.3 ( lien ) (Ubuntu 10.04).

Il s'agit d'un script perl qui dépend de quelques bibliothèques.

Éditer

Sur une connexion qui n'a pas pu être tuée avec killcxla combinaison des deux tcpkillet l'a killcxfait:

Dites la connexion si de LOCAL:PORTL laREMOTE:PORTR

  • Dans un terminal démarrage tcpkill: tcpkill port PORTL. Tcpkill commencera à écouter le trafic
  • Dans un deuxième terminal, lancez killcx: killcx REMOTE:PORTR
Bruno Grieder
la source