免费注册 查看新帖 |

Chinaunix

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

编译出错?? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-04-13 09:35 |只看该作者 |倒序浏览
#include<linux/config.h>;
#include<linux/module.h>;
#include<linux/ip.h>;
#include<linux/netfilter_ipv4.h>;
static unsigned int my_hook(unsigned int hook,
                                              struct sk_buff **skb,
                                              const struct net_device *in,
                                              const struct net_device *out,
                                              int (*okfn)(struct sk_buff*))
{
   unsigned char *data=(void *)(*skb)->;nh.iph+(*skb)->;nh.iph->;ihl*4;
   (*skb)->;nfcache=NFC_UNKNOWN;
   IF((*skb)->;len==100)
     {
        printk("my_hook:dropping packet!\n";   
        return NF_DROP;
     }
   return NF_ACCEPT;
}
static struct nf_hook_ops my_ops=
{
  {NULL,NULL},
  my_hook,
  PF_INET,
  NF_IP_LOCAL_OUT,
  NF_IP_PRI_FILTER-1
}
int init_module(void)
{
  return nf_register_hook(&my_ops);
}
void cleanup_module(void)
{
nf_unregister_hook(&my_ops);
}

论坛徽章:
0
2 [报告]
发表于 2003-04-13 09:47 |只看该作者

编译出错??

这是一个可动态插入的内核模块,其功能是丢弃所有由本机发出的长度为100的数据包.,使用netfilter的第五个钩子NF_IP_LOCAL_OUT,钩子函数是自己定义的my_hook(),我是在根目录下(/)编写的这段程序

奇怪的是用gcc编译的时候,出现很多错误,好像找不到头文件
连NULL都说找不到,skb也出错,就是找不到
是不是在使用netfilter的钩子函数时,应该将自己的程序编写在某个目录下,例如/usr/src/linux-2.4.18/include或者别的什么路径之下?也就是说,是不是要在某种环境下编译这段程序?

论坛徽章:
0
3 [报告]
发表于 2003-04-13 09:49 |只看该作者

编译出错??

这个程序并没有用到#include<skbuff.h>;
但是使用了skb这个结构,
当我加上这个头文件值后,出现了更多错误
到底是什么原因呢?

论坛徽章:
0
4 [报告]
发表于 2003-05-18 09:56 |只看该作者

编译出错??

同情。我现在也在写这种东东。写出的MAKEFILE总是有问题。哪位高手来说说吧。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP