linux - 在 Linux 上关闭已建立的 TCP 连接

标签 linux sockets tcp

我无法找到我将尝试实现的简单目标的答案: 一旦与我的 Linux 服务器建立了 tcp 连接,假设是 ssh/tcp 22 或 x11/tcp 6000 显示 -> 如何关闭此连接而不 终止进程(sshd/x11 显示服务器)。 我还看到了一些使用 iptables 的建议,但它对我不起作用,连接在 netstat -an 中仍然可见。 如果有人能指出我正确的方向,那就太好了。

到目前为止我尝试了什么

tcpkill: kills the process, not good for me
iptables: does not close the established connection, but prevent further connections. 

提前致谢 打碟机

最佳答案

好的,我找到了至少一种有效的解决方案 (killcx)。也许我们能够找到更简单的解决方案。 另外,我看到了来自“zb”的评论 - 谢谢 - 这可能也有效,但我找不到有效的语法,因为这个工具似乎非常有用但很复杂。 所以这是一个如何使用 1. 对我有用的解决方案的示例:

netstat -anp  | grep 22   
output: tcp  0  0 192.168.0.82:22         192.168.0.77:33597      VERBUNDEN   25258/0
iptables -A INPUT -j DROP -s 192.168.0.77 (to prevent reconnect)
perl killcx.pl 192.168.0.77:33597 (to kill the tcp connection)

killcx 可以在这里找到:http://killcx.sourceforge.net/ 它“窃取”来自外部主机 (192.168.0.77) 的连接并关闭它。因此,该解决方案运行良好,但如果您处于压力之下,则很难快速设置。以下是所需的软件包:

apt-get install libnetpacket-perl  libnet-pcap-perl libnet-rawip-perl
wget http://killcx.sourceforge.net/killcx.txt -O killcx.pl

但是,最好有一个更简单的解决方案。

关于linux - 在 Linux 上关闭已建立的 TCP 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33198881/

相关文章:

linux - 找不到 editorconfig-core-c 的 Makefile

ios - 如何在 Swift 语言中使用 XMPPStream XMPP 框架发送图像?

c - 如何用C语言在Unix Socket上禁用Nagle算法?

php - 如何在现有 CMS 旁边安装 Wordpress?

linux - bash 中存在哪些注入(inject)漏洞(如果有的话),我该如何防范它们?

Python 套接字连接在 Ubuntu 16.04 上每 9 个连接延迟一秒

http - 如何在没有 HTTP 库的情况下发送 404 HTTP 响应?

amazon-ec2 - AWS 上的 GridGain 集群在 VPC 中使用 TcpDiscoverySpi,而不是集群

linux - 在 Linux 上沙盒 Apache 的最佳方式

c - 使用 popen() 通过套接字执行命令