Matar conexão Tcp

3

Saudação,

Estou testando aplicativo no linux, e temos um bug relacionado a conexão do banco de dados, já que a conexão com o banco de dados não pode ser reiniciada e está em uma máquina remota, gostaria de matar a conexão tcp para interromper a conexão e veja o comportamento.

Desconectar o cabo de rede também não é uma opção! Eu não tenho acesso físico em ambas as máquinas.

Eu pensei em usar o iptables, mas eu não tenho iptables no meu sistema, então meu gerente de projeto me disse para usar o tcpkill para conseguir isso.

Alguém pode me dizer onde eu posso obter o tcpkill rpm e me dar algumas dicas sobre como usá-lo?

    
por Killercode 06.12.2011 / 02:50

1 resposta

10

Adicione uma rota nula com ip route blackhole , supondo que você tenha raiz:

[root@centos6 ~]# nc -zv 192.168.15.100 80
Connection to 192.168.15.100 80 port [tcp/http] succeeded!
[root@centos6 ~]# ip route add blackhole 192.168.15.100
[root@centos6 ~]# nc -zv 192.168.15.100 80
nc: connect to 192.168.15.100 port 80 (tcp) failed: Network is unreachable
[root@centos6 ~]# ip route delete blackhole 192.168.15.100
[root@centos6 ~]# nc -zv 192.168.15.100 80
Connection to 192.168.15.100 80 port [tcp/http] succeeded!

EDIT: Se você tiver na máquina e o aplicativo se conectar ao banco de dados por meio de um FQDN, adicione um FQDN e aponte o FQDN para um endereço fictício. Pode demorar um pouco para a conexão tcp cair, no entanto.

EDITAR novamente: Ok, eu perdi a parte sobre tcpkill. :)

Disponível na EPEL, que, se você estiver rodando o CentOS ou o Scientific Linux, você habilita o repo EPEL para que você possa encontrá-lo:

[root@kerberos rsync-dist]# yum whatprovides "*/tcpkill" --enablerepo=epel
Loaded plugins: refresh-packagekit
epel/metalink                                                                                                                                                              | 9.0 kB     00:00     
epel                                                                                                                                                                       | 4.3 kB     00:00     
epel/primary_db                                                                                                                                                            | 4.3 MB     00:05     
epel/filelists_db                                                                                                                                                          | 5.5 MB     00:07     
dsniff-2.4-0.9.b1.el6.x86_64 : Tools for network auditing and penetration testing
Repo        : epel
Matched from:
Filename    : /usr/sbin/tcpkill

Certifique-se de usar o --enablerepo para poder instalar a partir daí, assim:

yum -y install dsniff --enablerepo=epel

Você pode ler as instruções aqui:

link

Exemplo:

tcpkill ip host 192.168.1.2 and not 192.168.1.111
    
por 06.12.2011 / 03:07