如果/当某些类型的数据包通过自定义(bash)脚本到达时,我想立即处理它们。
由于 NetFilter 是内核空间,我知道我需要寻找一个用户空间日志记录工具,所以我将目光投向了 ulogd (v.2)。不幸的是,我找不到可以让我处理传入数据包的功能。
我可以让 ulogd 输出到一个文件中,并设置一个单独的进程来监视该文件,但在我看来这太过复杂。
nft
是否存在我错过的选项ulogd
,可以让我在遇到某个数据包时触发脚本?
答案1
这取决于你想做什么。我有两个选择:
- 编写您自己的应用程序来完全在用户空间中处理感兴趣的数据包。Netfilter 只会将匹配的数据包转发给您的应用程序进行处理。这为您提供了完全的控制权来检查数据包,然后决定要做什么。
- 使用众所周知的 netfilter
LOG
目标并使用工具失败2ban捕获日志条目并根据需要处理它们。