Приветствие,
Я тестирую приложение на linux, и у нас есть ошибка, связанная с подключением к базе данных, так как подключение к базе данных не может быть перезапущено, и оно находится на удаленном компьютере, я хотел бы убить tcp-соединение, чтобы прервать соединение и посмотреть поведение .
Отключение сетевого кабеля тоже не вариант! У меня нет физического доступа к обеим машинам.
Я пытался использовать iptables, но у меня нет iptables в моей системе, поэтому мой руководитель проекта сказал мне использовать tcpkill для этого.
Может ли кто-нибудь сказать мне, где я могу получить tcpkill rpm, и дать мне несколько советов о том, как его использовать?
Добавьте нулевой маршрут с помощью IP route blackhole, если у вас есть 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