
iptables 可以透過字串來匹配封包。
dns 範例:
iptables -A INPUT -i eth0 -p udp --dport 53 -m string --hex-string "|09|proxypipe|03|net" --algo bm -j DROP
如何在 nftables 中執行這樣的匹配?
答案1
使用 nftables,您可以使用原始有效負載表達式語法(已記錄這裡)根據位元塊的內容來匹配資料包。
因此,阻止查詢的規則proxypipe.net
如下所示:
meta l4proto udp udp dport 53 @th,160,120 0x0970726f787970697065036e657400 counter drop comment "block queries for proxypipe.net"
上面的程式碼將從傳輸頭 ( @th
) 的第 160 位開始抓取 120 位的數據,並將它們與以下內容的十六進位等效值進行比較|09|proxypipe|03|net
請注意,與 iptables 版本不同,上面的內容僅proxypipe.net
在資料包中的固定位置進行匹配。這意味著它不會阻止foobar.proxypipe.net
或任何其他子網域。