Nftables

nftables 支持字元串匹配支持

  • March 23, 2020

iptables 可以按字元串匹配數據包。

dns 範例:

iptables -A INPUT -i eth0 -p udp --dport 53 -m string --hex-string "|09|proxypipe|03|net" --algo bm -j DROP

如何在 nftables 中執行這樣的匹配?

使用 nftables,您可以使用原始有效負載表達式語法(在此處記錄)來匹配基於位塊內容的數據包。

因此,阻止查詢的規則proxypipe.net如下所示:

meta l4proto udp udp dport 53 @th,160,120 0x0970726f787970697065036e657400 counter drop comment "block queries for proxypipe.net"

以上將從傳輸標頭 ( ) 的第 160 位開始獲取 120 位的數據,@th並將它們與十六進制等效|09|proxypipe|03|net

請注意,與 iptables 版本不同,上面的內容只會匹配proxypipe.net數據包中的固定位置。這意味著它不會阻塞foobar.proxypipe.net或任何其他子域。

引用自:https://serverfault.com/questions/998962