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에서 이러한 매칭을 수행하는 방법은 무엇입니까?

답변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비트 상당의 데이터를 가져와 이를 다음과 같은 16진수와 비교합니다.|09|proxypipe|03|net

iptables 버전과 달리 위의 내용은 proxypipe.net패킷의 고정 위치에서만 일치합니다. 이는 foobar.proxypipe.net해당 도메인이나 다른 하위 도메인이 차단되지 않음을 의미합니다 .

관련 정보