nfq_open()期间出错

时间:2013-10-12 17:10:38

标签: iptables netfilter

我正在尝试根据这段代码设置一个nfq监听器:

main (int argc, char **argv)
{
  struct nfq_handle *h;
  struct nfq_q_handle *qh;
  struct nfnl_handle *nh;
  int fd;
  int rv;
  char buf[4096] __attribute__ ((aligned));

  printf ("opening library handle\n");
  h = nfq_open ();
  if (!h)
  {
      fprintf (stderr, "error during nfq_open()\n");
      exit (1);
  }
  ...

我有以下iptables规则集: NFQUEUE udp - 0.0.0.0/0 192.168.50.0/24 udp dpt:10000 NFQUEUE num 5061

但是运行该程序总是给出: nfq_open()期间的错误

我的IPtables规则有什么不对吗?我使用了以下命令:

/ sbin / iptables -A FORWARD --protocol udp --dport 10000 -j NFQUEUE --queue-num 5061 -d 192.168.50.0/24

感谢。

2 个答案:

答案 0 :(得分:0)

请添加" -t"使用表名" nat | filter | mangle"切换您要在其中添加规则。

答案 1 :(得分:0)

这根本不是iptables命令的问题。我猜你没有以root身份运行程序,这需要使用NFQUEUE。