轻量级Liunx防火墙研究与设计(流量控制、数据包更改)-毕业设计论文_第1页
轻量级Liunx防火墙研究与设计(流量控制、数据包更改)-毕业设计论文_第2页
轻量级Liunx防火墙研究与设计(流量控制、数据包更改)-毕业设计论文_第3页
轻量级Liunx防火墙研究与设计(流量控制、数据包更改)-毕业设计论文_第4页
轻量级Liunx防火墙研究与设计(流量控制、数据包更改)-毕业设计论文_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、轻量级liunx防火墙研究与设计(流量控制、数据包更改卜毕业设计论文本科毕业设计题 目:轻量级linux防火墙研究与设计一一流量控制、数据包更改i轻量级linux防火墙研究与设计流量控制、数据包更改摘要:随着计算机和互联网技术的快速发展以及在各种各样的应用 领域屮的迅速普及,而人类对计算机和互联网的依赖程度也越来越高,因 此增强计算机系统以及互联网络的安全性能也就变得越来越重要。防火墙作为当今互联网络中使用的最多,也是最广泛的安全措施之一, 伴随着互联网的快速发展而得到了广泛的应用,同时也被实践证明是至今 为数不多的成功的网络安全应用实例。另一方面,linux作为目前唯一在全 球范i韦i内得到

2、广泛接受和应用的开源操作系统,所提供的灵活性和可操作 性为开发和配置防火墙以及按照特定网络环境的要求构建防火墙提供了 一个价格低廉、性能优良的平台,益获得了众多企业和个人用户的广泛 接受。本防火墙在linux操作系统中使用nelfiter和qt编程软件而构建成的 软件。旨在实现完善的网络安全功能并对其进行有效管理的方法,如数据 包转发、数据包过滤、网络监控等。关键词:网络安全;linux;防火墙;nelfilter; qtthe lightweight linux firewall research and designflow control> data package changea

3、bstract: with the rapid development of computer and internet technology, and a wide variety of applications in the rapidly growing popularity of the human relianee on computers and the internet more and more, thus en hanci ng the safety perform a nee of the computer system and the inter net will bec

4、ome increasingly im porta nt.most firewall as today's in ter net, one of the most exte nsive security measures, along with the rapid developme nt of the in ter net has bee n widely used, also been proved to be one of the few so far successful network security applications instance. on the ot

5、her hand, linux on a global scale as currently the only widely accepted open source operating system and applications, provide flexibility and maneuverability for the development and deployment of firewalls and firewall constructed in accordance with the requirements of the specific network environm

6、ent with an affordable , the excellent performanee of the platform, gaining wide acceptance of many enterprises and in dividual users 1.the firewall in the linux operating system using the nelfiter and qt programming software built into the software. and its effective management methods aimed at ach

7、ieving a comprehensive network security features, such as packet forward!ng, packet filtering, network monitoring, and so on.iikeywords: network security; linux; firewall; nelfilter; qtiii目录一、系统分.1(一)、可行性分1、技术可行性分析12、操作可行性分析13、经济可行性分析1(二)、系统处理流1(三)、系统数据流2二、需求分(一)、系统需求规8程程析.8定1、对功能的规定82、对性能的规定113、其他的

8、专门耍求12(二)、系统运行环境的规定131、硬件及其他设备132、支持软件133、语言版木134、显示参数13三、概要设计14(一)、系统数据结构设计141数据的逻辑描述14四、详细设计18(一)、程序系统的结构181、系统模块层次结构18(二)、程序模块设计说明191、流量控制模块192、帮助模块213、系统信息模块224、流量监测模块245、用户设置模块25五、系统测试 28(一)、测试计划28(二)、测试结果及发现28总结32参考文献错误!未定义书签。致谢错误!未定义书签。iv一、系统分析(一)、可行性分析1、技术可行性分析本防火墙是在linuxl操作系统上进行开发完成的软件,全部分

9、为用户交互程序、后台进程、服务器进程、内核4模块4大模块。对于 用户交互程序的开发主要是使用qt程序编程软件,qt程序编程软件中 的界面设计己经可以很好的完成用户交互程序的大部分功能;服务器进程 实现了网页跳转功能;而其他的三个模块使用nelfilter以及linux操作系统 自带的iptables两者进行就可以进行编写和实现了。因此,本防火墙在技 术方血是可行的。2、操作可行性分析本防火墙对于用户而言,最重要的一个部分就是用户交互程序了,其 他的几个模块都是对用户透明的。而本防火墙的用户交互界面非常的简洁 明了,而且还有用户帮助功能,里面有帮助文档,根据帮助文档用户就可 以很快的熟悉本软件了

10、。3、经济可行性分析成本:本防火墙是使用qt程序编程软件结合nelfilter在linux操作系 统上进行开发的,linux操作系统是开源的操作系统,而qt程序编程软件 是免费的软件,使用的服务器是自己的电脑,所以木防火墙的开发成木较 低。效益:本防火墙是属于轻量级的,技术和功能还只是初级的,而且还 不够完善,因此冃前还未考虑效益问题。(二)、系统处理流程本linux防火墙软件可以分为:用户交互程序、后台进程、服务器进 程、内核模块等4大模块,而网卡是主机设备中的已有接口,是内核进程 自主调用以及运行的设备。其他工具分为了防护、断网、日志、更新等4 种,具体的系统基本流程如下图:1图1.1防火

11、墙系统基本流程图fig 1.1 figure of firewall system flow char(三)、系统数据流程顶层的数据流图主要是描述了所经过防火墙的主要数据流,展示了主 机硬件设备对防火墙的操作和与其他的外部硬件设备进行交流时的数据 流动,如下图1.2所示。2图 1.2 防火墙的顶层 dfd 图 fig 1.2 figure of firewall top layer dfd接下來的就是第二层数据流图了,它展示了用户在防火墙中所做的相 关操作,具体如下图13所示。图 1.3 防火墙第二层 dfd 图 fig 1.3 figure of firewall second layer

12、dfd3第二层的数据流图描述了用户通过防火墙的用户交互界面來进行对防火墙的操作。用户通过用户交互界面可以进行防护和网络连接操作,前 者可以决定是开启防护还是关闭防护,后者可以决定是断开还是不断开网 络;在用户交互界面可以直接看到当前设备的安全状态、活动进程、系统 信息,也可以查看日志和关于防火墙操作方法的用户帮助文档;另外在操 作功能屮的规则策略z屮,用户可以自主的添加或删除自己想耍或不想耍 的规则;最后在安全咨询那里可以链接到服务器主页。第三层的数据流图是防火墙的子数据流图,有多个。下面的是用户主 机设备跟外部设备进行通信时的数据流图,如下图1.4所示。图1.4第三层dfd图流量控制fig

13、1.4 figure of third layer dfd- flow control4帮助文档信息数据流图描述了用户通过用户交互界面查看以往日志 记录和防火墙使用帮助文档,具体数据流图如下图1.5所示。图1.5第三层dfd图一一帮助文档信息fig 1.5 figure of third layer dfd help documentation系统基本信息显示数据流图描述了防火墙在运行后,主动获取当前系 统的一些基本信息然后显示在用户交互界面当中,以方便用户进行查看, 如当前系统所有运行的进程信息和进程数、通过网络接口的总流量以及当 前系统的安全状态设置等,具体的数据流图如下图1.6所示。5图

14、1.6第三层dfd图系统基本信息显示fig 1.6 figure of third layer dfd- basic information display system流量监测是将通过网卡的数据包进行检测分类,全部分为两类:流入 的数据包和传岀的数据包,根据流入的数据包的数量可以体现为接收速度;而传送出去的数据包的数量可以体现为发送速度。这两者合起来就是总流 量了。具体的请看下图1.7所示。6图1.7第三层dfd图流量监测fig 1.7 figure of third layer dfd- flow monitor数据包更改就是将应用层发送出去的数据包修改其里面的信息。如下 图1.8图。图1

15、.8第三层dfd图数据包更改fig 1.8 figure of third layer dfd- data package change7二、需求分析(一)、系统需求规定1、对功能的规定通过对本防火墙的分析,本防火墙主要的功能分为4大模块:用户交 互程序、后台进程、服务器进程和内核模块。(1)用户交互程序用户交互程序主要是为了让用户有一个清晰、简洁的界面来操作防火 墙,木模块只要有防护设置、断网设置、规则操作、用户帮助、安全咨询、 系统信息显示、安全状态设置、日志、设置等功能;(2)后台进程后台进程主耍的功能是将防火墙检测到的一些非法的ip信息保存到 系统缓存中,防火墙会读取该缓存中信息来拦截

16、所有包含有这些非法信息 的ip数据包,会直接将这些数据丢弄掉;(3)服务器进程服务器进程的功能显示服务器主页,用户可以通过用户交互界面中的 安全咨询进行链接,服务器会将主页发送并显示在用户交互界面;(4)内核模块内核模块对用户来说透明的,它的功能有流量控制、数据包过滤、数 据包拦截、通信、产牛proc文件。本系统的最顶层的矩形框代表防火墙的主控模块,调用下层模块以完 成全部的基本功能;第二层的每个模块控制完成防火墙的一个主要功能, 如此实现自顶向下逐步求精,本防火墙的功能总图如图2.1所示:8图2.1防火墙功能总图fig 2.1 figure of firewall features gene

17、ral plan防火墙的功能总图说明了防火墙的模块组成及其功能层次结构,下面 使用ipo表来说明模块间的信息传递及模块内部的处理。表 2.1 用户帮助的 ipo 表 tab 2.1 ipo of user help系统名称:轻量级linux防火墙流量控制、数据包更改模块名:用户帮助模块编号:3.4上层调用模块:用户交互程序 输入数据:无日期:2013-5-1下层被调用的模块:无 输出数据:用戸帮助文档处理:将用户帮助文档显示到用户交互界面表 2.2 数据包更改的 iop 表 tab 2.2 ipo of safety advisory系统名称:轻量级linux防火墙一一流量控制、数据包更改模块

18、名:数据包更改模块编号:2.3上层调用模块:内核模块输入数据:应用层发出的数据包 日期:2013-5-1下层被调用的模块:无输出数据:数据包处理:将应用层发出的数据包进行更改后再发送出去表 2.3 用户设置的 ip0 表 tab 2.3 ipo of user setting系统名称:轻量级linux防火墙一一流量控制、数据包更改模块名:设置模块编号:3.9上层调用模块:用户交互程序输入数据:无处理:将用户设置的信息保存到内核规则链中表 2.4 流量监测的 ip0 表 tab 2.4 ipo of add rule 日期:2013-5-1下层被调用的模块:无 输出数据:写进规则链系统名称:轻量

19、级linux防火墙流量控制、数据包更改模块名:流量监测模块编号:3.7上层调用模块:用户交互程序 输入数据:通过网卡的数据包 日期:2013-5-1下层被调用的模块:无输出数据:接收速度、发送速度、总流量处理:将通过网卡的数据包整合成输出信息需要的数据10表 2.5 修改规则的 ipo 表 tab 2.5 ipo of modify the rule系统名称:轻量级linux防火墙流量控制、数据包更改 模块名:修改规则模块编号:3.8.2上层调用模块:规则操作输入数据:无处理:将用户帮助文档显示到用户交互界面表 2.6 删除规则的 ip0 表 tab 2.6 ipo of delete rul

20、e日期:2113-5-1下层被调用的模块:无 输岀数据:用户帮助文档系统名称:轻量级linux防火墙一一流量控制、数据包更改模块名:删除规则模块编号:3.8.2上层调用模块:规则操作输入数据:无日期:2113-5-1下层被调用的模块:无输出数据:无处理:将用户选择删除的规则从内核的规则链中删除表 2.7 系统信息的 ip0 表 tab 2.7 ipo of total flow系统名称:轻量级linux防火墙一一流量控制、数据包更改模块名:总流量模块编号:3.7上层调用模块:用户交互程序 输入数据:无日期:2113-5-1下层被调用的模块:无输出数据:数据包总数处理:把通过网卡的数据包整合成流

21、量显示到用户交互界面2、对性能的规定(1)灵活性11本防火墙是在linux操作系统下开发出来的软件,所以本软件能在任 何版本的linux操作系统中运行,不会因为系统的环境发牛改变而无法运 行。唯一跟防火墙比较密切相关的接口就是网卡了,但是不会因为网卡的 改变而使得防火墙崩溃或者是出现错误。【你可以有求必硬吗】隔壁老王都是怎么来的如果你真的雄风依旧她又怎会另谋高就做真正男人就要有求必硬老中医魏彳言:msdf003,让你有求必硬3、其他的专门要求(1)软件并行处理能力本防火墙软件能够支持多模块同时运行,而且一般情况下就有两个模 块或者两个以上处于同时运行中,比如内核模块和后台进程是防火墙开始 运行

22、时就己经同时运行了,只有在防火墙停止运行时而停止运行。(2)软件可靠性防火墙的可靠性体现在了过滤规则上,本防火墙的规则链可以过滤或 者拦截通过tcp协议、udp协议或icmp协议发送过来的数据包。(3)对使用方便的耍求本防火墙拥有一个清晰、简洁的用户交互界面,可以大大方便用户进行操作,而且还包含了使用帮助文档。(4)软件适应性本软件兼容各种版本的linux操作系统。(5)软件安全性本软件拥有可靠的安全措施,对系统的防护性高。12(二)、系统运行环境的规定1、硬件及其他设备为了保证防火墙运行的高效性和可靠性,客户端应具有一定的软硬件 配置,而服务器只提供主页链接,因此对服务器的要求不是很高。服务

23、器端配置耍求:a.有上网功能的计算机就行,提供一个连接主页的链接。客户端配置要求:a. 2.0ghz以上双核cpu, 1gb以上物理内存,40gb sata接口硬盘;b. 集成的千兆以太网卡;c.操作系统:最好是内核在3.5.2以上版本的linux操作系统就可以了。2、支持软件操作系统:linux (最好是内核在3.5.2以上的版木)开发语言:c语言3和c+编程软件:版本是4.7.2或以上的qt3、语言版本简体屮文版4、显示参数13分辨率:1024x768;色彩:256色以上三、概要设计(一)、系统数据结构设计1、数据的逻辑描述71415图3.1总的数据元素fig 3.1 figure of

24、total data element16图3.2静态数据fig 3.1 figure of static data element图 3.3 动态输入数据 fig 3.1 figure of trends input data(3)、动态输出数据动态输出的数据有两种:一是发送出去的数据包;二是产生proc文件、 规则链文件、用户设置文件、日志文件和配置文件。(4)、内部生成 数据内部生成的数据就是产生proc文件、规则链文件、用户设置文件、口 志文件和配置文件。(5)、数据约定必须进行数据约定的数据元素有以下这些:端口号,数据类型为int,值域为0-65535,超过范围发出错误信息;进程pid

25、,数据类型为int,值域为0-32768,超过范围发出错误信息;ip地址,数据类型为char蔦值域为0.0.0.0255.255.255.255,超过范围发出 错误信息;连接的socket数,数据类型为int,值域为0-1024,超过范围连接无 效并发出错误信息;四、详细设计(一)、程序系统的结构1、系统模块层次结构根据前面软件需求的分析,将本防火墙分成4大模块:内核模块、用 户交互程序、后台进程和服务器,每个模块名称及其程序层次结构如下表 4.1所示。表4.1程序层次结构表tab 4.1 table of process hierarchy structure(1)内核模块图4丄内核模块层次

26、结构图fig 4.1 figure of kernel module hierarchical structure18(2)、用户交互程序模块图4.2用户交互程序模块层次结构图fig 4.2 figure of user interaction program modules hierarchical structure(二j、程序模块设计说明1、流量控制模块(1)、模块描述主机在与外部设置进行通信时,防火墙需耍对双方通信中传递的数据 进行控制和检测,只有合法正确的数据才会接收以及发送,而不合法的数 据会直接丢弃掉。(2)、模块功能图4.3流量控制模块ipo图fig 4.3 ipo of fl

27、ow control module(3)、模块输入项19表4.2模块输入项tab 4.2 table of module input(4)、模块输出项表4.3模块输出项tab 4.3 table of module output(5)、模块流程逻辑图4.4流量控制流程图fig 4.4 figure of flow control flowchart(6)、模块接口 20表4.4模块接口tab 4.4 table of module interface2、帮助模块(1)、模块描述用户在运行防火墙后,如果是对防火墙的操作感到有些不了解的话,就可以查看用户帮助文档了,帮助文档里的内容就是对防火墙操作

28、方法的 说明。(2)、模块功能图4.5帮助模块ipo图fig 4.5 ipo of help module(3)、模块输入项表4.5帮助模块输入项tab 4.5 table of help module in put(4)、模块输出项表4.6帮助模块输出项tab 4.6 table of help module output21(5)、模块流程逻辑图4.6帮助模块流程图fig 4.6 figure of help module flowchart(6)模块接口表4.7帮助模块接口tab 4.7 table of help module interface3、系统信息模块(1)、模块描述系统信息

29、显示的是当前系统处于活动状态的进程信息。(2)、模块功能图4.7系统信息模块ipo图22fig 4.7 ipo of system information module(3)模块输出项表4.8规则操作模块输出项tab 4.8 table of rule operation module output(4)、模块流程逻辑图4.8系统信息流程图23fig 4.8 figure of system information(5)、模块接口表4.9系统信息模块接口tab 4.9 table of rule operation module interface4、流量监测模块(1)、模块描述在用户交互界面

30、的最下面有一个面板显示通过网卡时的流量速度,以 及总量,这可以方便用户知道自己使用的流量是多少。(2)、模块功能图 4.9 流量监测模块的 ipo 图 fig 4.9 ipo of flow monitor module(3)、模块输出项表4.10流量监测模块输出项tab 4.10 table of flow monitor module output(4)、模块流程逻辑24图4.10流量监测模块流程图fig 4.10 figure of flow monitor flowchart(5)模块接口表4.m流量监测模块接口tab 4.11 table of flow monitor module

31、 interface5、用户设置模块(1)、模块描述本模块是给用户设置防火墙所用,里面有多种设置项,这里就不多说 了。(2)、模块功能25图 4.11 用户设置模块 ipo 图 fig 4.11 ipo of user setting module(3)模块流程逻辑图4.12用户设置流程图fig 4.12 figure of user setting flowchart26(4)、模块接口表4.12用户设置模块接口tab 4.12 table of user setti ng module in terface五、系统测试系统测试的原因:系统测试是为了尽可能彻底的检测出系统或软件屮 存在的错误,专业名词叫做bug。系统测试的目的:提高软件系统的可靠性,完善软件系统的功能,让 软件系统可以

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论