基于数据包过滤技术的防火墙模型设计

计算机光盘软件与应用

2010年第5期 Computer CD Software and Applications 软件设计开发

基于数据包过滤技术的防火墙模型设计

肖 瑜,吕定辉

(濮阳职业技术学院,河南濮阳 457000)

摘 要:本文分三部分介绍了个人防火墙系统模型的设计。第一部分介绍了数据包过滤模块的设计;第二部分进程管理模块实现了与Windows操作系统的任务管理器的“任务管理”部分的功能;第三部分端口扫描模块在Windows平台下使用套接口(SOCKET)技术实现了把本机作为客户端,把需要扫描的IP地址所在的机器作为服务器端端口扫描。

关键词:防火墙;套接口;内核;NDIS;过滤器

中图分类号:TP393.08 文献标识码:A 文章编号:1007-9599 (2010) 05-0145-01

Firewall Model Design against Data Package Filtering Technology

Xiao Yu,Lv Dinghui

(Puyang Vocational&Technical Institute,Puyang 457000,China)

Abstract:This three-part model describes the design of a personal firewall.The first part describes the design of packet filtering module;second part of the process management module with the Windows operating system Task Manager"Task Manager"section of the function;third part of the port scan module in the Windows platform using the socket(SOCKET)technology has put the machine as the client,need to scan the IP address of the host machine as the server-side port scan.

Keywords:Firewall;Socket;Kernel;NDIS;Filter

一、系统模块的划分 系统由数据包过滤模块、进程管理模块及IP地址扫描功能三大部分组成。过滤模块是本系统工作的基础,在设计阶段充分考虑了系统在实际应用中的实际应用情况,设计了过滤规则的添加、修改,过滤数据包的实时性等,并详细描述了过滤钩子驱动的实现。进程管理模块可以在本系统查看并结束相应非法进程。客户端使用套接口技术实现了端口扫描功能。三部分结合在一起组成了个人防火墙系统的完整功能。

二、过滤模块

(一)过滤模块的功能

内核中将操作系统的网络传输所有出入包,都流入到虚拟设备中,按照一定的规则进行处理数据包,即可完成数据包过滤功能。

程序的过滤模块主要应实现的功能包括:

添加过滤规则;删除过滤规则;保存过滤规则;加载过滤规则;卸载过滤规则;安装过滤规则;启动过滤;停止过滤。

本文采用过滤钩子技术获取数据包,因此应当首先加载过滤钩子驱动。

(二)过滤钩子驱动

NDIS(网络驱动程序接口)提供了一种通过建立过滤器钩子驱动过滤IP包的方法。具体步骤是:在过滤器钩子驱动中建立一个普通的设备,通过IOCTL_PF_SET_TENSION_POINTER操作

从而将其内核模式过滤钩子挂接到系统默认的IP过滤器驱动上,

在其过滤钩子中实现完整的基于数据包的各种分析和过滤处理。

其他的协议不会经过该过滤钩子进行该法仅能对IP包进行过滤,

处理。下面对该步骤予以详细说明。

1.过滤钩子驱动的创建

首先由过滤器钩子驱动程序设置过滤器钩子回调函数,它是这类驱动程序的主体,通过系统提供的IP过滤器驱动注册这些过滤器钩子回调函数。接着,IP过滤器驱动就可以使用过滤器钩子决定如何处理传入或传出的数据包。

当过滤器钩子驱动通过系统提供的IP过滤器驱动注册其过滤钩子(的入口点时,它给出了过滤器钩子的符号(可变)地址。由于过滤器驱动程序并不提供过滤器钩子入口点的名称,因此,开发人员可以自由选择过滤器钩子名称。一般地,应根据过滤器钩子函数的基本功能来命名[51]。

过滤器钩子对传入和传出的数据包做一些特殊处理。首先是把数据包的特定信息和IP过滤器驱动提供给过滤器钩子的信息加以比较,以此决定下一步如何处理数据包。其次,在过滤器钩

通知IP子检测完数据包后,向IP过滤器驱动回复三种响应代码,

过滤器驱动如何对数据包进行处理数据包。

2.初始化和卸载过滤器钩子驱动

像所有的内核模式驱动程序一样,过滤器钩子驱动程序为驱动对象创建和初始化一个设备对象例程是某个系统对外提供的功

能接口或服务的集合。通过IP过滤器驱动注册驱动的过滤器钩子。如果用户模式应用程序(非核心态工作模式)或高层驱动程序通过向下层过滤钩子驱动程序发送一个I/O控制请求设置过滤钩,则必须设置和输出一个控制设备的入口点。当操作系统卸载过滤器钩子驱动程序时,卸载例程将函数中已创建的设备对象移走,而不是清除先前已注册的过滤器钩子。

3.设置和清除过滤器钩子

过滤器钩子驱动程序设置了过滤器钩子回调函数,并通知IP过滤器驱动为每个传入或者传出的IP数据包调用这个钩子回调函数。过滤器钩子有可能清除先前注册的钩子回调。

4.过滤器钩子的I/O控制

当应用程序或者上层驱动程序通过向过滤器钩子驱动程序发送I/O控制请求建立过滤器钩子时,驱动程序自动会响应例程,例程处理发来的I/O控制请求。

三、进程管理模块

(一)进程管理模块的功能

程序的进程管理模块主要应实现的功能包括:

1.获取本机正在运行的系统进程的名称、ID号等,并显示在列表框中。

2.删除某个进程:指定需要删除的进程的唯一标志号进行删除。

(二)进程管理的实现 1.获取和显示系统进程

首先使用函数给当前系统内执行的进程拍快照(Snapshot),也就是获得一个进程列表,该列表中记录着进程的ID、进程对应的可执行文件的名称等数据。然后遍历快照中记录的列表。可显示每个进程的可执行文件名和进程ID号等。

2.删除系统进程

在对一个进程操作前,必须首先取得该进程的进程句柄。函数创建进程后会返回一个进程句柄,而对于一个已经存在的进程,只能使用固定函数来取得这个进程的访问权限,该函数打开一个存在的进程并返回其句柄。

四、基于套接口技术端口扫描模块的设计

端口扫描模块通过创建套接口、请求连接、套接口I/O状态查等一系列动作与其他IP地址建立连接。主要实现的功能为:对

单个IP地址的端口进行扫描;对IP段地址的特定端口进行扫描。

五、小结

本章描述了个人防火墙系统的设计模型。用户可以根据基于钩子过滤技术的数据包过滤模块获得的数据和IP过滤器驱动提供给过滤器钩子的信息加以比较,以此决定数据包被如何被处理。进程管理模块可以让用户更便捷的判断当前的进程是否合法,并决定是否继续或者中断当前进程。使用套接口技术来扫描当前与用户主机进行通信的IP地址,设计了端口扫功能,描在一定程度上起到了更加全面的保护作用。

— 145 —

计算机光盘软件与应用

2010年第5期 Computer CD Software and Applications 软件设计开发

基于数据包过滤技术的防火墙模型设计

肖 瑜,吕定辉

(濮阳职业技术学院,河南濮阳 457000)

摘 要:本文分三部分介绍了个人防火墙系统模型的设计。第一部分介绍了数据包过滤模块的设计;第二部分进程管理模块实现了与Windows操作系统的任务管理器的“任务管理”部分的功能;第三部分端口扫描模块在Windows平台下使用套接口(SOCKET)技术实现了把本机作为客户端,把需要扫描的IP地址所在的机器作为服务器端端口扫描。

关键词:防火墙;套接口;内核;NDIS;过滤器

中图分类号:TP393.08 文献标识码:A 文章编号:1007-9599 (2010) 05-0145-01

Firewall Model Design against Data Package Filtering Technology

Xiao Yu,Lv Dinghui

(Puyang Vocational&Technical Institute,Puyang 457000,China)

Abstract:This three-part model describes the design of a personal firewall.The first part describes the design of packet filtering module;second part of the process management module with the Windows operating system Task Manager"Task Manager"section of the function;third part of the port scan module in the Windows platform using the socket(SOCKET)technology has put the machine as the client,need to scan the IP address of the host machine as the server-side port scan.

Keywords:Firewall;Socket;Kernel;NDIS;Filter

一、系统模块的划分 系统由数据包过滤模块、进程管理模块及IP地址扫描功能三大部分组成。过滤模块是本系统工作的基础,在设计阶段充分考虑了系统在实际应用中的实际应用情况,设计了过滤规则的添加、修改,过滤数据包的实时性等,并详细描述了过滤钩子驱动的实现。进程管理模块可以在本系统查看并结束相应非法进程。客户端使用套接口技术实现了端口扫描功能。三部分结合在一起组成了个人防火墙系统的完整功能。

二、过滤模块

(一)过滤模块的功能

内核中将操作系统的网络传输所有出入包,都流入到虚拟设备中,按照一定的规则进行处理数据包,即可完成数据包过滤功能。

程序的过滤模块主要应实现的功能包括:

添加过滤规则;删除过滤规则;保存过滤规则;加载过滤规则;卸载过滤规则;安装过滤规则;启动过滤;停止过滤。

本文采用过滤钩子技术获取数据包,因此应当首先加载过滤钩子驱动。

(二)过滤钩子驱动

NDIS(网络驱动程序接口)提供了一种通过建立过滤器钩子驱动过滤IP包的方法。具体步骤是:在过滤器钩子驱动中建立一个普通的设备,通过IOCTL_PF_SET_TENSION_POINTER操作

从而将其内核模式过滤钩子挂接到系统默认的IP过滤器驱动上,

在其过滤钩子中实现完整的基于数据包的各种分析和过滤处理。

其他的协议不会经过该过滤钩子进行该法仅能对IP包进行过滤,

处理。下面对该步骤予以详细说明。

1.过滤钩子驱动的创建

首先由过滤器钩子驱动程序设置过滤器钩子回调函数,它是这类驱动程序的主体,通过系统提供的IP过滤器驱动注册这些过滤器钩子回调函数。接着,IP过滤器驱动就可以使用过滤器钩子决定如何处理传入或传出的数据包。

当过滤器钩子驱动通过系统提供的IP过滤器驱动注册其过滤钩子(的入口点时,它给出了过滤器钩子的符号(可变)地址。由于过滤器驱动程序并不提供过滤器钩子入口点的名称,因此,开发人员可以自由选择过滤器钩子名称。一般地,应根据过滤器钩子函数的基本功能来命名[51]。

过滤器钩子对传入和传出的数据包做一些特殊处理。首先是把数据包的特定信息和IP过滤器驱动提供给过滤器钩子的信息加以比较,以此决定下一步如何处理数据包。其次,在过滤器钩

通知IP子检测完数据包后,向IP过滤器驱动回复三种响应代码,

过滤器驱动如何对数据包进行处理数据包。

2.初始化和卸载过滤器钩子驱动

像所有的内核模式驱动程序一样,过滤器钩子驱动程序为驱动对象创建和初始化一个设备对象例程是某个系统对外提供的功

能接口或服务的集合。通过IP过滤器驱动注册驱动的过滤器钩子。如果用户模式应用程序(非核心态工作模式)或高层驱动程序通过向下层过滤钩子驱动程序发送一个I/O控制请求设置过滤钩,则必须设置和输出一个控制设备的入口点。当操作系统卸载过滤器钩子驱动程序时,卸载例程将函数中已创建的设备对象移走,而不是清除先前已注册的过滤器钩子。

3.设置和清除过滤器钩子

过滤器钩子驱动程序设置了过滤器钩子回调函数,并通知IP过滤器驱动为每个传入或者传出的IP数据包调用这个钩子回调函数。过滤器钩子有可能清除先前注册的钩子回调。

4.过滤器钩子的I/O控制

当应用程序或者上层驱动程序通过向过滤器钩子驱动程序发送I/O控制请求建立过滤器钩子时,驱动程序自动会响应例程,例程处理发来的I/O控制请求。

三、进程管理模块

(一)进程管理模块的功能

程序的进程管理模块主要应实现的功能包括:

1.获取本机正在运行的系统进程的名称、ID号等,并显示在列表框中。

2.删除某个进程:指定需要删除的进程的唯一标志号进行删除。

(二)进程管理的实现 1.获取和显示系统进程

首先使用函数给当前系统内执行的进程拍快照(Snapshot),也就是获得一个进程列表,该列表中记录着进程的ID、进程对应的可执行文件的名称等数据。然后遍历快照中记录的列表。可显示每个进程的可执行文件名和进程ID号等。

2.删除系统进程

在对一个进程操作前,必须首先取得该进程的进程句柄。函数创建进程后会返回一个进程句柄,而对于一个已经存在的进程,只能使用固定函数来取得这个进程的访问权限,该函数打开一个存在的进程并返回其句柄。

四、基于套接口技术端口扫描模块的设计

端口扫描模块通过创建套接口、请求连接、套接口I/O状态查等一系列动作与其他IP地址建立连接。主要实现的功能为:对

单个IP地址的端口进行扫描;对IP段地址的特定端口进行扫描。

五、小结

本章描述了个人防火墙系统的设计模型。用户可以根据基于钩子过滤技术的数据包过滤模块获得的数据和IP过滤器驱动提供给过滤器钩子的信息加以比较,以此决定数据包被如何被处理。进程管理模块可以让用户更便捷的判断当前的进程是否合法,并决定是否继续或者中断当前进程。使用套接口技术来扫描当前与用户主机进行通信的IP地址,设计了端口扫功能,描在一定程度上起到了更加全面的保护作用。

— 145 —


相关文章

  • 信息安全体系结构课后答案
  • 第一章 概述 1.比较体系结构的各种定义,并说明这些定义之间的异同点,指出其共性要素. 一个体系结构应该包括一组组件以及组件之间的联系. ANSI/IEEE STD 1471-2000使用的体系结构的定义是:一个系统的基本组织,通过组件.组 ...查看


  • 信息安全技术试题答案A
  • 信息安全技术教程习题及答案 第一章概述 一.判断题 1.信息网络的物理安全要从环境安全和设备安全两个角度来考虑.√ 2.计算机场地可以选择在公共区域人流量比较大的地方.× 3.计算机场地可以选择在化工厂生产车间附近.× 4.计算机场地在正常 ...查看


  • 网络安全基础教程-试题答案
  • 网络基础教程安全试题 一.单选 1. 在以下人为的恶意攻击行为中,属于主动攻击的是( ) A. 数据篡改及破坏 B. 数据窃听 C. 数据流分析 D. 非法访问 2. 数据完整性指的是( ) A. 保护网络中各系统之间交换的数据,防止因数据 ...查看


  • 网络安全笔记 1
  • 网络安全笔记 清华1+6网络工程师培训 2005年1月10日 第一章 网络安全研究背景 ·计算机网络及通信的发展·社会对网络的依赖 ·网络开放性与信息资源共享·网络商业化及商业化网络·Inetrnet 面临的挑战 网络安全概述 什么是安全 ...查看


  • linux防火墙设计
  • 第一章 绪论 1.1. 防火墙技术发展概述 传统的防火墙通常是基于访问控制列表(ACL)进行包过滤的,位于在内部专用网的入口处,所以也俗称"边界防火墙".随着防火墙技术的发展,防火墙技术也得到了发展,出现了一些新的防火墙 ...查看


  • 信息安全三级知识点
  • 第一章:信息安全保障基础 1:信息安全大致发展经历3个主要阶段:通信保密阶段,计算机安全阶段和信息安全保障阶段 2:现代信息安全主要包含两层含义(1)运行系统的安全 (2)完整性,机密性,可用性,可控制性,不可否认性. 3:信息安全产生的根 ...查看


  • 项目经理教育在线练习题(1203上传)
  • 课后练习 2010-信息系统工程监理 一.单选题(共5题) 第一章 单选 1.信息化工程监理实施的前提是(B ) A. 工程建设文件 B. 建设单位的委托和授权 C. 有关的建设工程合同 D. 工程监理企业的专业化 2.根据信息化工程进度控 ...查看


  • Web主题网页内容安全监管研究
  • 摘要网络安全审计以其实时性.动态性和主动防御的特点备受青睐.目前网络安全审计系统虽然成为网络安全领域的研究热点,但许多概念有待于进一步明确,许多关键技术尚处于研究探讨之中. 关键词Web;内容安全;内容过滤;信息审计 中图分类号TP31文献 ...查看


  • 防火墙包过滤技术分析_赵辉期刊
  • 2010年第11期福建电脑 49 防火墙包过滤技术分析 赵 辉,冯东栋 (河南大学计算中心河南开封475004) [摘要]:在网络边界设置防火墙是进行网络防护的有效手段.本文首先介绍了防火墙及其功能,然后分析了防火墙所使用的最基本的技术手段 ...查看


热门内容