como fechar uma conexão de rede estabelecida no linux e osx

como fechar uma conexão de rede estabelecida no linux e osx

Eu costumava fazer isso no mundo Windows com uma ferramenta chamada TCPView: basta selecionar uma conexão estabelecida (ESTABELECIDA) e selecionar "Fechar Conexão". Não consigo encontrar uma maneira de fazer isso no Mac OSX ou Linux (preciso de ambos). A única maneira que conheço é encerrar o processo que está com a porta aberta.

Meu principal caso de uso é simular interrupções na conectividade para testar o failover, como desconectar um cabo ou perder um roteador ou situações de middleware.

Responder1

Você pode anexar ao seu processo usando gdb e close()o descritor de arquivo correspondente à conexão. Você pode descobrir o número do descritor de arquivo usando lsof -a -i4 -p $PID.

Responder2

  • tcpkill -i eth0 { expression }
    (comando/opções básicas)

  • tcpkill -i eth0 port 21
    (Elimine todas as conexões FTP de saída (porta 21))

  • tcpkill host 192.168.1.2
    ou
    tcpkill host hostname.domainname.com
    (Elimina todos os pacotes que chegam ou partem do host 192.168.1.2)

  • tcpkill ip host 192.168.1.2 and not 192.168.1.111
    (Para eliminar todos os pacotes IP entre 192.168.1.2 e qualquer host, exceto 192.168.1.111)

informação relacionada