ChinaUnix.net
相关文章推荐:

netfilter编程

我在《深入linux网络核心堆栈》中得到一个例子程序,如下: #define _KERNEL_ #define MODULE #include #include #include #include #includenetfilter.h> #includenetfilter_ipv4.h> static struct nf_hook_ops nfho; static unsigned int my_hook(unsigned int hooknum , struct sk_buff **skb , const struct net_device *in , ...

by qpbn10 - Linux新手园地 - 2010-06-21 10:54:23 阅读(1333) 回复(1)

相关讨论

初学netfilter编程,下面是我写的一个代码。系统为redhat linux9,内核2.4.20-8,编译方法为gcc -c -DMODULE -D__KERNEL__ -D__USE_TO_IPV4__ -W -Wall -isystem /lib/modules/2.4.20-8/build/include testchk.c,如果不加两个"//----"之间关于计算校验和的部分,编译和加载模块都没问题。但如果加上这段代码,编译没问题,但加载时报错: testchk.o:unresloved symbol ntohs。 查了一下ntohs包含在net...

bluetznetfiter

by bluetz - 数据安全 - 2010-09-21 22:24:43 阅读(3731) 回复(1)

#define __KERNEL__ #define MODULE #include ; #include ; #include netfilter.h>; #include netfilter_ipv4.h>; /* 用于注册我们的函数的数据结构 */ static struct nf_hook_ops nfho; /* 注册的hook函数的实现 */ unsigned int hook_func(unsigned int hooknum, struct sk_buff **skb, const struct net_device *in, const struct net_device *out, int (*okfn)...

by henryspeed - 数据安全 - 2003-10-30 18:08:26 阅读(1147) 回复(0)

#define __KERNEL__ \r\n#define MODULE \r\n\r\n#include ; \r\n#include ; \r\n#include netfilter.h>; \r\n#include netfilter_ipv4.h>; \r\n\r\n/* 用于注册我们的函数的数据结构 */ \r\nstatic struct nf_hook_ops nfho; \r\n\r\n/* 注册的hook函数的实现 */ \r\nunsigned int hook_func(unsigned int hooknum, \r\nstruct sk_buff **skb, \r\nconst struct net_device *in, \...

by henryspeed - 攻防交流区 - 2003-10-30 18:08:26 阅读(2855) 回复(0)

我用这样的语句去获取TCP包的源、目的端口,但是获取到的端口号却有问题,比如http应是80,DNS应 是53,可这边输出的都不是这些应该端口号。是ntohs()函数的问题吗 ? tcph=(struct tcphdr*)pskb->transport_header; printk("TCP: [%u]-->[%u]",ntohs(tcph->source),ntohs(tcph->dest)); printk("\n"); [ 本帖最后由 木叶忍 于 2009-4-14 10:50 编辑 ]

by 木叶忍 - 内核源码 - 2009-04-14 13:08:43 阅读(3235) 回复(7)

基于netfilter实现过滤TCP端口的内核模块编程 在加载模块后 电脑出现死机 强制关机也无法相应 代码如下: #include #include #include netfilter.h> #include netfilter_ipv4.h> #include #include #include #include #include #define PERMIT_PORT 80 static struct nf_hook_ops nfho; //static un...

by wxj120bw - C/C++ - 2009-04-02 21:01:15 阅读(1507) 回复(1)

目前在做NAT,想增加流量统计这个功能,当在SNAT功能模块和DNAT功能模块里面加nat_add_discharge函数调用,然后上网,一会儿就死机了。部分代码如下, 会不会是我在增加流量的时候没有对我的变量进行互斥访问导致死机呢?谢谢! nat_add_discharge(ip_head->daddr,ntohs(ip_head->tot_len)); 142 /*给相应的ip地址增加统计流量*/ 143 int nat_add_discharge(unsigned int ip_address,unsigned short discharge) 144 { 145 ...

by capable - 内核源码 - 2008-04-29 23:44:29 阅读(2516) 回复(6)

如题,急用。对提供线索的兄弟不胜感激!

by s7c - 内核源码 - 2007-12-19 13:43:58 阅读(3233) 回复(2)

在下想学Linux基于netfilter框架防火墙技术 因为netfilter框架是运行在内核的 所以我需要学习Linux下的内核模块编程 我也有看过一些相关材料,但是不是很系统 所以想请有经验的前辈们推荐一下有关 Linux 内核编程netfilter 防火墙编程 方面的书籍,代码例子也行 如果有国外的原版教材就更好了 让我少走弯路,谢谢!

by Linux386 - 内核源码 - 2010-10-18 12:23:58 阅读(4204) 回复(5)

我的思路是在模块初始化时,将要一组IP地址从一个文件中读出,放到一个数组中 char * souip[20]; 然后在hook函数中进行比较,如下: ......... iph=(*skb)->nh.iph; if(iph->saddr==in_aton("130.24.0.13")){ return NF_DROP; } return NF_ACCEPT; 以上操作是没有问题的。下面说一下 调试时 三种情况遇到的问题: (1)如果做一下改动,比如把"130.24.0.13"从文件中读出,存入souip[0],,然后对 iph->saddr==in_aton(souip[0]) ...

by EnjoyTech - 程序开发 - 2006-11-19 23:45:17 阅读(1328) 回复(3)

我的思路是在模块初始化时,将要一组IP地址从一个文件中读出,放到一个数组中 char * souip[20]; 然后在hook函数中进行比较,如下: ......... iph=(*skb)->nh.iph; if(iph->saddr==in_aton("130.24.0.13")){ return NF_DROP; } return NF_ACCEPT; 以上操作是没有问题的。下面说一下 调试时 三种情况遇到的问题: (1)如果做一下改动,比如把"130.24.0.13"从文件中读出,存入souip[0],,然后对 iph->saddr==in_aton(souip[0]) ...

by EnjoyTech - Linux环境编程 - 2006-11-19 23:45:17 阅读(1885) 回复(3)