终止 TCP 连接

Kil*_*ode 3 tcp linux-networking sles10

问候,

我正在 linux 上测试应用程序,我们有一个与数据库连接相关的错误,因为数据库连接无法重新启动并且它在远程机器上,我想终止 tcp 连接以中断连接并查看行为.

拔掉网线也不是一种选择!我在两台机器上都没有物理访问权限。

我想使用 iptables,但我的系统上没有 iptables,所以我的项目经理告诉我使用 tcpkill 来完成这个。

有人可以告诉我在哪里可以获得 tcpkill rpm 并给我一些有关如何使用它的提示吗?

Ril*_*ndo 10

添加一个带有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!
Run Code Online (Sandbox Code Playgroud)

编辑:如果您在机器上并且应用程序通过 FQDN 连接到数据库,请添加 FQDN 并将 FQDN 指向一个虚拟地址。不过,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
Run Code Online (Sandbox Code Playgroud)

确保使用 --enablerepo 以便您可以从那里安装,如下所示:

yum -y install dsniff --enablerepo=epel
Run Code Online (Sandbox Code Playgroud)

您可以在此处阅读说明:

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
Run Code Online (Sandbox Code Playgroud)