- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在我的应用程序中,我使用 NFQUEU 从 netfilter 获取数据包到用户空间,然后我将它与我的标准进行比较,并通过 nfq_set_verdict2 函数中的 NF_DROP 或 NF_ACCEPT 丢弃或接受数据包。我想在常规 iptables 日志中记录丢弃的数据包格式。我怎样才能做到这一点?
最佳答案
为了记录丢弃的数据包,创建一个新链,它将丢弃它收到的每个数据包。将所有要丢弃的数据包重定向到新链,并在声明新链时使用日志语法
iptables -N LOGGING
iptables -A INPUT -j LOGGING
iptables -A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables-Dropped: " --log-level 4
iptables -A LOGGING -j DROP
第 3 行:-m 限制:这使用限制匹配模块。使用此功能,您可以使用 –limit 选项限制日志记录。
–limit 2/min
:表示日志记录的最大平均匹配率。在此示例中,对于类似的数据包,它将日志记录限制为每分钟 2 个。您还可以指定 2/秒、2/分钟、2/小时、2/天
。当您不想让相同丢弃数据包的重复消息弄乱您的日志消息时,这会很有帮助。
-j LOG
:这表示此数据包的目标是 LOG。即写入日志文件。
–log-prefix “IPTables-Dropped
:”您可以指定任何日志前缀,该前缀将附加到将写入/var/log/messages 文件的日志消息中
–log-level 4
这是标准的系统日志级别。四是警告。您可以使用 0 到 7 范围内的数字。0 表示紧急,7 表示调试。
iptables -A LOGGING -j DROP
:最后,丢弃所有到达 LOGGING 链的数据包。即现在它真的丢弃了传入的数据包。
关于linux - 记录使用 nfq_set_verdict2(NF_DROP) 丢弃的数据包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11046901/
我是一名优秀的程序员,十分优秀!