libnetfilter_queue快速入门

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




你可能感兴趣的:(libnetfilter_queue快速入门)