Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1041779
  • 博文数量: 836
  • 博客积分: 43880
  • 博客等级: 大将
  • 技术积分: 5485
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-20 17:36
文章分类

全部博文(836)

文章存档

2011年(1)

2008年(835)

我的朋友

分类: LINUX

2008-08-20 18:29:21


一般而言,防火墙都是嵌入在Linux内核协议栈的处理过程中,运行在内核地址空间。这就要求开发者深入理解和掌握内核,以及内核协议栈的代码。对于普通开发者来说,此要求显然过于苛刻。为此,Linux内核在Netfilter框架的基础上提供了IPQueue机制,使得基于用户态(UserMode)的防火墙开发成为可能。

下面详细阐述IPQueue的原理及其编程接口。

内核报文处理流程

首先,大致了解一下内核处理数据报文的流程。正确理解这个流程,对于编写完善的防火墙非常有帮助。

如图1所示,在内核的IP报文处理过程中,散布了一些HOOK点(图中椭圆形的节点),在这些点上,可以挂载外部处理函数,进行定制的报文处理。



图1Linux内核报文处理流程简图


1 2 3 4 5 下一页>>


下载本文示例代码
阅读(296) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~