Total Articles 494
netfilter
[download]
http://netfilter.org 사이트에 가서 아래 항목을 다운받는다.
libmnl
libnfnetlink
libnetfilter_queue
[build]
각각의 모듈을 다음과 같은 명령어를 통하여 빌드 및 설치를 한다.
cd <directory>
./configure
make
make install
관련된 so file은 기본적으로 /usr/local/lib에 복사(설치된다). /usr/local/lib에 가서 다음 파일들이 설치되었는지 확인한다.
libmnl.*
libnetfilter_queue.*
libnfnetlink.*
[test]
다음과 같은 명령어로 특정 packet에 대해서 0번 queue로 보낸다.
iptables -A OUTPUT -p icmp -j NFQUEUE --queue-num 0
첨부하는 소스 파일( nfqnl_test.c )을 이용해서 queue로 들어온 packet을 nfq_set_verdict(NF_ACCEPT)시키고, packet을 잡아 본다. "-lnetfilter_queue" 링크 옵션을 주도록 한다.
nfq_set_verdict 함수를 호출할 때 다른 옵션(NF_DROP)을 주어서 packet을 drop시켜 본다.
nfq_set_verdict 함수의 마지막 2개의 인자에 별도의 ip header로 시작하는 packet의 정보를 담아서 verdict시켜 본다.