免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1384 | 回复: 1
打印 上一主题 下一主题

[内核模块] libnetfilter_queue安装和测试问题? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-08-31 21:28 |只看该作者 |倒序浏览
本帖最后由 hl626818 于 2015-08-31 21:29 编辑

系统:
         ubuntu 14.04
问题描述:
         1)在ubuntu软件中心无脑安装的libnetfilter_queue。
         2)直接比照别人的的测试代码:
*******************测试程序:a.c*************************************
#include <stdio.h>  
#include <stdlib.h>  
#include <unistd.h>  
#include <string.h>  
#include <time.h>  
#include <arpa/inet.h>  
  
#include <linux/netfilter.h>  
#include <linux/netfilter/nfnetlink.h>  
  
#include <linux/types.h>  
#include <linux/netfilter/nfnetlink_queue.h>  
  
#include <libnetfilter_queue/libnetfilter_queue.h>  
  
int main(void)  
{  
    struct nfq_handle *h;  
    h = nfq_open();  
    if (!h) {  
        fprintf(stderr, "error during nfq_open()\n");  
        exit(1);  
    }  
  
    printf("unbinding existing nf_queue handler for AF_INET (if any)\n");  
    if (nfq_unbind_pf(h, AF_INET) < 0) {  
        fprintf(stderr, "error during nfq_unbind_pf()\n");  
        exit(1);  
    }  
  
    printf("binding nfnetlink_queue as nf_queue handler for AF_INET\n");  
    if (nfq_bind_pf(h, AF_INET) < 0) {  
        fprintf(stderr, "error during nfq_bind_pf()\n");  
        exit(1);  
    }  
  
    printf("close nft queue handle.\n");  
    if (nfq_close(h) < 0) {  
        fprintf(stderr, "error during nfq_close()\n");  
        exit(1);  
    }  
  
    return 0;  
}
*********************end******************************************
  #gcc -o a a.c -lnetfilter_queue
报错:
   无法找到#include <libnetfilter_queue/libnetfilter_queue.h>

将#include <libnetfilter_queue/libnetfilter_queue.h> 注释掉后,再次编译
报错:
   无法找到到-lnetfilter_queue库

去掉-lnetfilter_queue,再次编译 #gcc -o a a.c
报错:
   nfq_open()..........nfq_xxxx() 以nfq_开头的函数均未定义


请教各位,如何解决?  水平太low。。。。。见笑了~

论坛徽章:
0
2 [报告]
发表于 2015-09-01 10:50 |只看该作者
终于编译成功了,自己来回答一下,仅供参考
由于我现在等级不够,不能发链接,所以只打出参考文献名称:netfilter官网---(好)、在ubuntu上做netfilter_queue开发----(好)、libnetfilter_queue setup(安装向导) ----(有错误,但结合上一篇可以避免...)。---重点看第二篇!PS:非常感谢他们的分享。
补充:安装完毕后,先不要高兴。。要在/etc/ld.so.conf文件加入/usr/local/lib目录


评分

参与人数 1可用积分 +2 收起 理由
Godbach + 2 感谢分享!

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP