Tuez les connexions TCP sur un Mac dans le terminal

9

Je veux juste tuer une connexion tcp spécifique sur mon mac (similaire à tcpkill sur linux). Par port ou ip, de préférence par port mais je vais régler. Je ne veux pas payer pour un service ou télécharger un autre logiciel, je veux la simple commande de terminal qui me permettra de faire cela comme tcpkill.

J'ai essayé de corriger les règles sur mon pare-feu et j'ai essayé de créer un script bash pour qu'il s'exécute mais sans succès car le tutoriel que j'ai trouvé était très ancien.

Pourquoi cela semble-t-il être une tâche si difficile à trouver ou à faire?

Aj Blank
la source

Réponses:

5

Option 1

Vous pouvez installer tcpkill. Il fait partie du package dsniff qui est dans MacPorts . Vous avez dit que vous ne vouliez pas installer d'autres logiciels. Néanmoins MacPorts est vraiment utile si vous travaillez à partir de la ligne de commande. Je vous suggère de le vérifier.

Option 2

Sur StackOverflow, il existe un article connexe: rechercher (et tuer) le processus de verrouillage du port 3000 sur Mac . La solution suggérée consiste à créer une fonction qui tue toutes les connexions sur un port spécifique:

function killport() { lsof -i TCP:$1 | awk '/LISTEN/ {print $2}' | xargs kill -9 }

Si vous modifiez la fonction en supprimant l'argument, la fonction doit tuer toutes les applications qui ont une connexion TCP ouverte.

function killport() { lsof -i TCP | awk '/LISTEN/ {print $2}' | xargs kill -9 }

Avertissement: je n'ai pas testé cela.

Disclaimer 2: C'est une méthode de force brute et peut avoir de graves effets secondaires. Je déconseille cette approche.

Volsk
la source
J'ai trouvé quelques binaires OS X pour dsniff ici (au cas où vous n'êtes pas un utilisateur MacPorts) ici: FWIW packages.macports.org/dsniff (apparemment, homebrew n'a plus de recette à ce jour)
rogerdpack
Il y a une recette homebrew pour cela dans le homebrew/boneyardrobinet.
D_4_ni
Il existe une fourchette dsniff qui contient une tcpkillversion de travail : github.com/ggreer/dsniff
Michael Böckling