我想使用 iptables 阻止从我的机器发出的特定 UDP 数据包。数据包中有一个“RAW 中的十六进制”字符串(?),我想通过它检查数据包。
例如:如果 UDP 数据包十六进制 RAW 匹配“test_text” - 则阻止它。
//编辑:我有类似的东西
iptables -A OUTPUT -p udp -m multiport --sports 8000 -m string --algo bm --string "test" -j DROP
但它给出了错误
iptables:没有该名称的链/目标/匹配。
答案1
有一个“字符串”匹配 netfilter 扩展,它可能被编译到系统中或作为模块使用,也可能不被编译到系统中。
不要忘记,这些事情本质上会对性能产生严重影响,特别是如果有比必要更多的数据包受到匹配。