繁体   English   中英

匹配IPTables规则时运行系统命令

[英]Run a system command when an IPTables rule is matched

:)

我希望能够在命中IPTable规则时运行系统命令,并将远程设备的IP地址传递给它。

我环顾四周但却一无所获。 我想过贪图日志,但我期待很多流量..

任何帮助都会很棒!

谢谢

(如果有帮助,Ubuntu Linux是我的首选平台)

这是你如何做到的:

iptables -I FORWARD -p tcp --dport 80 -d abcd -j LOG --log-prefix="TRIGGER ME NOW !!!"

tail -f some-logfile | awk '/some-pattern/ {system("run-some-command")}'

应该足够直接并且应该能够处理大量流量,tail命令应该足够快......只要确保文件不会增长太多。

用敲击来做。 您只需配置一个端口的端口敲门序列,然后告诉您要运行的命令。 通常它用于添加/删除iptables规则 - 在某个敲门序列之后打开服务(例如ssh访问),但是我不明白为什么你不能只用它来运行一个非常简单的命令之后一个预期端口规则上的数据包。

你的Ubuntu系统上有'apt-get install knockd',手册页有你可以轻松适应的例子。

它实际上很容易。 我们有2种方法可以做到这一点。 如果使用尾部日志,那么iptables将不依赖于日志结果。

  1. 你可以使用NFQUEUE。 如果你有时间,请阅读我的文章。 https://medium.com/@farizmuradov/useful-notes-about-nfqueue-80a2c271db1a同一篇文章我添加了我的linkedin页面。

  2. 您可以在应用程序级别编写简单的路由器,并将数据从iptables发送到监听端口。 在编程级别,您可以执行脚本并再次发送数据到某个端口。 然后你可以通过iptables继续。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM