Mate conexões TCP em um Mac no Terminal


9

Eu só quero matar uma conexão TCP específica no meu mac (semelhante ao tcpkill no linux). Por porta ou ip, de preferência porta, mas eu vou resolver. Não quero pagar por um serviço ou baixar outro software, quero o comando terminal simples que me permita fazer isso como o tcpkill.

Eu tentei consertar as regras do meu firewall e tentei criar um script bash para que ele fosse executado, mas sem sucesso, porque o tutorial que encontrei era muito antigo.

Por que essa parece uma tarefa tão difícil de encontrar informações ou fazer?

Respostas:


5

Opção 1

Você pode instalar o tcpkill. Faz parte do pacote dsniff que está no MacPorts . Você disse que não deseja instalar outro software. No entanto, o MacPorts é realmente útil se você trabalha na linha de comando. Eu sugiro que você cheque isso.

opção 2

No StackOverflow, há um post relacionado: Encontre (e mate) a porta de bloqueio de processo 3000 no Mac . A solução sugerida é criar uma função que mate toda a conexão em uma porta específica:

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

Se você alterar a função removendo o argumento, a função deverá eliminar todos os aplicativos que possuem uma conexão TCP aberta.

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

Disclaimer: Eu não testei isso.

Isenção de responsabilidade 2: É um método de força bruta e pode ter alguns efeitos colaterais graves. Eu recomendaria contra essa abordagem.


Encontrei alguns binários do OS X para o dsniff aqui (caso você não seja um usuário do MacPorts) aqui: FWIW packages.macports.org/dsniff (aparentemente o homebrew não tem mais uma receita para ele, a partir de hoje)
rogerdpack

Há uma receita caseira para ele na homebrew/boneyardtorneira.
D_4_ni

Há um garfo dsniff que contém um trabalho tcpkillversão: github.com/ggreer/dsniff
Michael Böckling
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.