Назад | Перейти на главную страницу

Убить соединение TCP

Приветствие,

Я тестирую приложение на 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