毕业论文
计算机论文
经济论文
生物论文
数学论文
物理论文
机械论文
新闻传播论文
音乐舞蹈论文
法学论文
文学论文
材料科学
英语论文
日语论文
化学论文
自动化
管理论文
艺术论文
会计论文
土木工程
电子通信
食品科学
教学论文
医学论文
体育论文
论文下载
研究现状
任务书
开题报告
外文文献翻译
文献综述
范文
包过滤防火墙的编程实现(2)
1.2 相关技术
1.2.1 TCP/IP分层模型
所谓TCP/IP模型,其实就是一系列网络协议的总称,也就是一个协议簇。其中TCP和IP是这个模型的两个主要协议。
TCP/IP参考模型通常分为四层:网络接口层,网络层,传输层和应用层。其中上一层的协议以下一层的协议为基础,下一层的协议为上一层协议提供服务。这四层的大致作用如下:
(1) TCP/IP模型中网络接口层其实就对应于OSI模型中的最下面的两层:
物理
层和数据链路层。它的作用主要是为上层的协议提供访问接口。
(2) 网络层作为整个协议栈的核心,其主要作用就是分配地址及把分组发给目标网络或主机。在这一层,定义了IP协议和分组格式。
(3) 传输层用来为上面的应用层提供端到端的通信。在传输层中,主要定义了两个协议:传输控制协议TCP以及用户数据报协议UDP。
(4) 应用层引入了不同的应用层协议,提供给用户各种服务。
1.2.2 Windows网络体系结构
图1.1 Window网络体系结构
Windows网络体系结构主要分为两大层:用户层和内核层。其中在用户层中主要是用各种库编写的网络应用程序及包含在DLL文件中的API接口函数。而在内核层中,主要是各种API的内核实现,TDI和NDIS。
(1) 最上层是网络应用程序。用户态的程序调用Windows系统提供的API,即应用程序编程接口来进行编程。
(2) 接下来是网络API,这些API通常包含在一系列的DLL中。所有的用户接口必须在用户层定义,但接口函数的具体实现,可以在用户态中实现,也可以在内核态中实现。
(3) 下面是网络API的内核实现。其以内核模式的设备驱动程序体现,将网络API的请求转为中断请求包(IRP),并格式化为TDI格式,发送至NDIS协议驱动。
(4) 再下面就是NDIS(网络驱动程序接口规范)接口的部分。首先是NDIS协议驱动。该驱动执行具体的网络协议,为上层客户程序提供服务,接受来自下层的信息。
(5) 然后就是NDIS中间层驱动。该层驱动主要用于协议转换。
(6) 最后就是NDIS小端口驱动。该层驱动直接驱动物理网卡,并和高级驱动程序进行通信。
1.2.3 网络封包截获技术
网络封包截获是网络防火墙的核心功能。在Windows下,数据包的拦截方式总体上分为两大类:用户级和内核级。
用户模式下数据包拦截的方法有如下三种:
(1) Windows分层服务提供者(Layered Service Provider, LSP),这种方法也被称为SPI(Service Provider Interface)技术。该方法比较简单,编程方便,可以截获基于Socket的数据包。但是对于绕过Winsock的一些木马病毒则没法拦截。
(2) Windows 2000/XP包过滤接口。该接口简单,实现容易。但只能够提供IP和端口的过滤,病毒也较容易绕过。。
(3) 替换系统的Winsock动态链接库。该方法替换系统自带的DLL的一些导出函数,实现数据包的拦截。但这种方法缺点较多,病毒容易绕过。
内核模式下数据包拦截的方法有如下四种:
(1) 传输数据接口过滤驱动(TDI-Filter Driver)。该方法通过创建设备对象截获用户程序和驱动程序交互的接口,从而实现数据的拦截。在该方法中,能够获取操作网络数据的进程的详细信息。但该驱动位于TCP/IP驱动之上,因此无法获得像ICMP这样由TCP/IP驱动直接处理的数据包。
共4页:
上一页
1
2
3
4
下一页
上一篇:
ASP.net房产管理与销售系统设计
下一篇:
学生宿舍分配管理系统的设计与实现
java海量数据处理利器Hash在线邮件地址过滤
php+mysql太仓东伟包装材料公司网站设计
信息系统外包绩效影响因素及提升策略分析
VC++简易包过滤防火墙的编程实现
几种相位解包算法的研究
众包标注模拟器的设计与实现
vxworks操作系统网络协议栈过滤功能MPC837X
AT89C52单片机的超声波测距...
志愿者活动的调查问卷表
中国学术生态细节考察《...
承德市事业单位档案管理...
医院财务风险因素分析及管理措施【2367字】
神经外科重症监护病房患...
10万元能开儿童乐园吗,我...
C#学校科研管理系统的设计
公寓空调设计任务书
国内外图像分割技术研究现状