Kill Tcp Connection
Приветствие,
Я тестирую приложение на linux, и у нас есть ошибка, связанная с соединением с базой данных, поскольку соединение с базой данных не может быть перезапущено, и оно находится на удаленной машине, я хотел бы разорвать соединение tcp, чтобы прервать соединение и увидеть поведение,
Отключение сетевого кабеля тоже не вариант! У меня нет физического доступа на обеих машинах.
Я думал об использовании iptables, но у меня нет iptables в моей системе, поэтому мой менеджер проекта сказал мне использовать tcpkill для этого.
Может кто-нибудь сказать мне, где я могу получить RPM tcpkill и дать мне несколько советов о том, как его использовать?
1 ответ
Добавьте нулевой маршрут с помощью черной дыры ip route, предполагая, что у вас есть root:
[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!
РЕДАКТИРОВАТЬ: Если у вас есть на компьютере, и приложение подключается к базе данных через полное доменное имя, добавьте полное доменное имя и укажите полное доменное имя на фиктивный адрес. Однако для разрыва соединения tcp может потребоваться некоторое время.
РЕДАКТИРОВАТЬ снова: Хорошо, я пропустил часть о tcpkill.:)
Он доступен в EPEL, который, если вы используете CentOS или Scientific Linux, вы включаете репозиторий EPEL, чтобы найти его:
[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
Убедитесь, что вы используете --enablerepo, чтобы вы могли установить его оттуда, например так:
yum -y install dsniff --enablerepo=epel
Вы можете прочитать инструкции здесь:
http://www.cyberciti.biz/howto/question/linux/kill-tcp-connection-using-linux-netstat.php
Пример:
tcpkill ip host 192.168.1.2 and not 192.168.1.111