- 论坛徽章:
- 0
|
回复 7# Godbach
- #include <linux/module.h>
- #include <linux/kernel.h>
- #include <linux/netfilter.h>
- #include <linux/netfilter_ipv4.h>
- #include <linux/skbuff.h>
- #include <net/tcp.h>
- MODULE_LICENSE("Dual BSD/GPL");
- static struct nf_hook_ops nfho;
- static unsigned int nf_hook_in(
- unsigned int hooknum,
- struct sk_buff *skb,
- const struct net_device *in,
- const struct net_device *out,
- int (*okfn)(struct sk_buff*))
- {
- struct sk_buff *sb = skb;
- struct iphdr *iph = ip_hdr(sb);
- if(iph->protocol==IPPROTO_ICMP)
- {
- return NF_DROP;
- }
-
- return NF_ACCEPT;
- }
- int init_module()
- {
- nfho.hook=nf_hook_in;
- nfho.hooknum=1;//NF_IP_LOCAL_IN
- nfho.pf=PF_INET;
- nfho.priority=NF_IP_PRI_FIRST;
- nf_register_hook(&nfho);
- return 0;
- }
- void clean_module()
- {
- nf_unregister_hook(&nfho);
- }
- MODULE_AUTHOR("LINJIANYING");
- MODULE_DESCRIPTION("HELLO WORLD DEMO");
- MODULE_VERSION("0.0.1");
- MODULE_ALIAS("NETFILTER TEST");
复制代码 麻烦你看一下,还有一个问题就是NF_IP_LOCAL_IN
明明定义在linux/netfilter_ipv4.h头文件中我也包含了该头文件为什么编译还是说NF_IP_LOCAL_IN没定义???
谢谢! |
|