| 网站首页 | 新闻中心 | 系统安全 | 网络安全 | 安全技术 | 下载中心 | 安全365社区 |
安全365
收藏本站
设为首页
会员登录:
安全365
站内搜索: 新闻中心 系统安全 网络安全 安全技术 下载中心
| 网络安全首页 | 信道安全 | 设备安全 | 协议安全 | Web安全 |
Linux系统中防火墙的框架及简单分析
Linux系统中防火墙的框架及简单分析
作者:不详 文章来源:赛迪网 点击数: 更新时间:2007-6-10 13:41:21
 
        我们的工作便是生成一个struct nf_hook_ops结构的实例,并用nf_register_hook将其HOOK上。其中list项我们总要初始化为{NULL,NULL};由于一般在IP层工作,pf总是PF_INET;hooknum就是我们选择的HOOK点;一个HOOK点可能挂多个处理函数,谁先谁后,便要看优先级,即priority的指定了。Netfilter_IPv4.h中用一个枚举类型指定了内置的处理函数的优先级:

enum nf_IP_hook_priorities {  
NF_IP_PRI_FIRST = INT_MIN,  
NF_IP_PRI_CONNTRACK = -200,  
NF_IP_PRI_MANGLE = -150,  
NF_IP_PRI_NAT_DST = -100,  
NF_IP_PRI_FILTER = 0,  
NF_IP_PRI_NAT_SRC = 100,  
NF_IP_PRI_LAST = INT_MAX,  
};

Hook是提供的处理函数,也就是我们的主要工作,其原型为:

unsigned int nf_hookfn(unsigned int hooknum,  
struct sk_buff **skb,  
const struct net_device *in,  
const struct net_device *out,  
int (*okfn)(struct sk_buff *));

它的五个参数将由NFHOOK宏传进去。nf_register_hook根据reg中注册的协议簇类型和优先级在nf_hooks中找到相应的位置并插入到此表中。_hooks[NPROTO][NF_MAX_HOOKS]在Netfilter初始化时(Netfilter_init/Netfilter.c,而它在sock_init时调用)已经初始为一个空表。

例如IPtable在初始化时(init/IPtable_filter.c)调用nf_register_hook注册他的hook函数。

static struct nf_hook_ops IPt_ops[]  
= { { { NULL, NULL }, IPt_hook, PF_INET, NF_IP_LOCAL_IN, NF_IP_PRI_FILTER },  
{ { NULL, NULL }, IPt_hook, PF_INET, NF_IP_FORWARD, NF_IP_PRI_FILTER },  
{ { NULL, NULL }, IPt_local_out_hook, PF_INET, NF_IP_LOCAL_OUT,  
NF_IP_PRI_FILTER }  
};  
mangle在init/IPtable_mangle.c中注册它自己的hook函数。  
static struct nf_hook_ops IPt_ops[]  
= { { { NULL, NULL }, IPt_hook, PF_INET, NF_IP_PRE_ROUTING, NF_IP_PRI_MANGLE },  
{ { NULL, NULL }, IPt_local_out_hook, PF_INET, NF_IP_LOCAL_OUT,  
{NF_IP_PRI_MANGLE }  
};

NAT在init/IP_nat_standalone.c中注册它自己的hook函数

/*包过滤前,更改目的地址*/

 static struct nf_hook_ops IP_nat_in_ops

上一页  [1] [2] 

文章录入:洋葱头    责任编辑:洋葱头 
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
     
     
     
    如何使 TCP包和 UDP包穿
    抵御黑客的入侵 进一步
    用防火墙路由器构建高度
    巧妙设置 让天网防火墙
    SecPath系列防火墙之两个
    SecPath系列防火墙之软件
    创建NGFW4000防火墙地址
    防火墙的策略设计 定义
    三代防火墙体系结构演变
    专家教你如何鉴别防火墙
    站长邮箱:webmaster@anquan365.com
    联系电话:86-10-67634029
    Copyright © 2006-2008 www.anquan365.com 北京华安普特网络科技有限公司 版权所有