如何使用linux netfilteriptables在某种条件下立即在两端重置TCP连接?

如何使用linux netfilteriptables在某种条件下立即在两端重置TCP连接?,第1张

概述亲爱的Serverfault社区, 我有以下问题:如果在数据包数据中遇到某个字符串,我需要立即在两个网络端重置(断开)tcp连接.我无法控制双方的应用程序,只能使用linux iptables(或类似的工具)来进行连接中止. 我的第一个想法是使用以下iptables规则来实现我想要的: /usr/sbin/iptables -A INPUT -p tcp --dport 1234 -m strin 亲爱的Serverfault社区,

我有以下问题:如果在数据包数据中遇到某个字符串,我需要立即在两个网络端重置(断开)tcp连接.我无法控制双方的应用程序,只能使用linux iptables(或类似的工具)来进行连接中止.

我的第一个想法是使用以下iptables规则来实现我想要的:

/usr/sbin/iptables -A input -p tcp --dport 1234 -m string --algo bm --string 'BAD STRING' -j REJECT --reject-with tcp-reset

这通过向客户端发送TCP RST数据包在远程端完美地工作,因此将立即断开连接.不幸的是,当强制断开连接时,本地方将不会收到通知,并且服务器进程(连接)将永久挂起.

我认为在某种情况下(在这种情况下,IP数据包中的字符串匹配)立即断开已建立的连接的要求并不是很常见.所以我做了谷歌搜索,但令我惊讶的是,在合理的时间内找不到任何可用的东西.

有没有办法使用iptables在两个网络端实现tcp断开连接?如果没有,我可以使用哪些其他工具(请记住,我无法控制客户端/服务器应用程序)?

非常感谢您提供宝贵的答案!

最好的祝福,

解决方法 您可以使用 xt_RESET,例如-j reset 总结

以上是内存溢出为你收集整理的如何使用linux netfilter / iptables在某种条件下立即在两端重置TCP连接?全部内容,希望文章能够帮你解决如何使用linux netfilter / iptables在某种条件下立即在两端重置TCP连接?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1040066.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存