Nftables
nftables 支持字元串匹配支持
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
或任何其他子域。