当前位置:  技术问答>linux和unix

netfilter程序编译

    来源: 互联网  发布时间:2016-02-28

    本文导语:  我在 网上下了一个 简单的 netfilter程序 如下:  define __KERNEL__ #define MODULE #include  #include  #include  #include  #include  static struct nf_hook_ops nfho; unsigned int hook_func(unsigned int hooknum,        struct sk_buff **skb; ...

我在 网上下了一个 简单的 netfilter程序
如下: 
define __KERNEL__
#define MODULE

#include 
#include 
#include 
#include 
#include 
static struct nf_hook_ops nfho;
unsigned int hook_func(unsigned int hooknum,
       struct sk_buff **skb;
       const struct net_device *in,
       const struct net_device *out,
       int (*okfn)(struct sk_buff *))
{
printf("a packet go throughn");
return NF_ACCEPT; 
}
int init_module()
{
nfho.hook = hook_func;
//hook function name
nfho.hooknum = NF_IP_PRE_ROUTING;
//position
nfho.pf = PF_INET;
nfho.priority = NF_IP_PRI_FIRST;
nf_register_hook(&nfho);
return 0;

}
void cleanup_module()
{
nf_unregister_hook(&nfho);
}
,但是总是编译不通过 
错误如下
gcc -c  -L/usr/src/linux-'uname -r'/include -I/usr/include filtertest.c
In file included from filtertest.c:9:
/usr/include/linux/netfilter_ipv4.h:53: `INT_MIN' undeclared here (not in a function)
/usr/include/linux/netfilter_ipv4.h:53: enumerator value for `NF_IP_PRI_FIRST' not integer constant
/usr/include/linux/netfilter_ipv4.h:59: `INT_MAX' undeclared here (not in a function)
/usr/include/linux/netfilter_ipv4.h:59: enumerator value for `NF_IP_PRI_LAST' not integer constant
filtertest.c:12: parameter `skb' has just a forward declaration
filtertest.c:11: parameter `hooknum' has just a forward declaration
filtertest.c:15: warning: `struct net_device' declared inside parameter list
filtertest.c:15: warning: its scope is only this definition or declaration, which is probably not what you want
filtertest.c:15: warning: `struct sk_buff' declared inside parameter list
filtertest.c: In function `init_module':
filtertest.c:22: invalid use of undefined type `struct nf_hook_ops'
filtertest.c:24: invalid use of undefined type `struct nf_hook_ops'
filtertest.c:26: invalid use of undefined type `struct nf_hook_ops'
filtertest.c:26: `PF_INET' undeclared (first use in this function)
filtertest.c:26: (Each undeclared identifier is reported only once
filtertest.c:26: for each function it appears in.)
filtertest.c:27: invalid use of undefined type `struct nf_hook_ops'
filtertest.c: At top level:
filtertest.c:10: storage size of `nfho' isn't known
make: *** [filtertest] Error 1
请高手指点下,多谢

|
哈哈!
兄弟算你运气好,正好碰到我也在做防火墙!应该使用这条编译命令
gcc -Wall -O2 -I/usr/src/linux-2.4.20-8/include -DMODULE -D__KERNEL__ -DLINUX -c name.c
linux-2.4.20-8是你的内核的版本替换就可以了!

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • netfilter 和 IPTABLES 是一回事吗?
  • linux内核桥这一块有一个Netfilter文件夹,是做什么用的?
  • 请问哪里能找到netfilter的connection tracking的实现或源吗分析的相关文章。
  • 请教前辈们关于netfilter/iptables的问题
  • 关于netfilter开发,急
  • netfilter的怪问题
  • 关于使用netfilter,如何把数据送到用户空间?
  • netfilter中可以使用什么同步机制?
  • netfilter里如何获得TCP包的数据?
  • 关于netfilter开发的问题
  • netfilter处理的数据包是什么样的
  • 从netfilter里注册的函数获得的sk_buff的数据包如何重组?
  • 用netfilter钩子函数统计输出包的个数,出错了!
  • 请问连接镜像端口后数据包经过netfilter中hook点NF_IP_PRE_ROUTING时如何操作
  • 技术文章 iis7站长之家
  • 在netfilter中可以用copy_to_user和copy_from_user吗
  • 在netfilter中使用NF_QUEEN把数据交由用户进程处理,碰到倒霉事,郁闷啊。。
  • 菜人netfilter问题,急急急,请高手帮忙 急急急急急急急急急急急急
  • 请问在netfilter的forward点上怎么将原来从eth0发送的数据包转向由eth1发送啊?
  • 请教关于netfilter中UDP包的问题!!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3