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
.
Eu costumava fazer isso no mundo do Windows com uma ferramenta chamada TCPView: basta selecionar uma conexão estabelecida (ESTABLISHED) e, em seguida, selecionar "Fechar conexão". Não consigo encontrar uma maneira para isso no Mac OSX ou Linux (eu preciso de ambos). A única maneira que conheço é matar o processo que tem a porta aberta.
Meu principal caso de uso é simular interrupções na conectividade para testar o failover, como desconectar um cabo ou perder uma situação de roteador ou middleware.
tcpkill -i eth0 { expression }
(comando básico / opções)
tcpkill -i eth0 port 21
(Mate toda a conexão de ftp (porta 21) de saída)
tcpkill host 192.168.1.2
ou tcpkill host hostname.domainname.com
(Mate 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 matar todos os pacotes IP entre 192.168.1.2 e qualquer host exceto 192.168.1.111)
Tags networking linux macos