http://chyeh.logdown.com/posts/91924-libnefilter-queueqi-bu-zou
以上为原博客网址。
根据[netfilter的官方網站(http://netfilter.org/libnetfilter_queue這個套件需要跑在linux), kernel 2.6.14之後的版本,且需要libnfnetlink此套件。
套件版本
- libnfnetlink-1.0.1
- libnetfilter_queue-1.0.2
安装
先安裝dependency: libnfnetlink
到官网下载 libnetlink-1.0.1.tar.bz2, 运行如下命令:
$ tar -jxvf libnfnetlink-1.0.0.tar.bz2
$ cd libnfnetlink-1.0.0/
$ ./configure
$ make
$ sudo make install
再安裝libnetfilter_queue
到官网下载libnetfilter_queue-1.0.2.tar.bz2,运行如下命令:
$ tar -jxvf libnetfilter_queue-1.0.0.tar.bz2
$ cd libnetfilter_queue-1.0.0
$ ./configure
$ make
$ sudo make install
编译测试程序:nfqnl_test.c
$ cd utils
$ gcc -Wall -o test nfqnl_test.c -lnfnetlink -lnetfilter_queue
测试
值得注意的是,测试需要有root权限,且需先设定环境变量,因此使用sudo su。另外,若是使用ssh的話,若先下达iptables的指令会造成ssh被阻挡。需要执行test程序之后才会恢复连接。
$ su
$ LD_LIBRARY_PATH=/usr/local/lib/
$ export LD_LIBRARY_PATH
$ iptables -A OUTPUT -p tcp -j NFQUEUE --queue-num 0
$ ./test