轻量级Linux防火墙研究与设计(扫描和反扫描、攻击代码)-毕业设计论文_第1页
轻量级Linux防火墙研究与设计(扫描和反扫描、攻击代码)-毕业设计论文_第2页
轻量级Linux防火墙研究与设计(扫描和反扫描、攻击代码)-毕业设计论文_第3页
轻量级Linux防火墙研究与设计(扫描和反扫描、攻击代码)-毕业设计论文_第4页
轻量级Linux防火墙研究与设计(扫描和反扫描、攻击代码)-毕业设计论文_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

1、轻量级linux防火墙研究与设计(扫描和反扫描、攻击代码卜毕业设计论文本科毕业设计题 目:轻量级linux防火墙研究与设计扫描和反扫描、攻击代码i轻量级linux防火墙研究与设计扫描和反扫描、攻击代码摘 要:21世纪是一个信息时代,网络时代。计算机网络技术的日渐 成熟,在日常生活屮的确带给了我们不少的便利,同时,计算机病毒、网 络攻击、垃圾邮件、系统漏洞、网络窃密、虚假有害信息和网络违法犯罪 等计算机网络安全问题也日益泛滥lo本轻量级linux防火墙软件建立在linux环境下的c+编程实现。 主要分为用户交互程序、后台进程、服务器进程、内核模块和测试命令。 本文实现了扫描模块和交互程序中的显示

2、防火墙的状态、网络接口和、安 全咨询以及服务器进程与攻击代码。关键词:c+ linux防火墙网络安全iithe lightweight linux firewall research and designfirewall display,server,otherabstract: the twenty-first century is an era of information, the networkera. computer n etwork tech no logy is becoming more and more mature, itviruses, network attacks,

3、 spam, loopholes in the system, network theft, false and harmful information and network illegal crime and computer network security issues are also in creasi ngly ram pa nt.the lightweight linux firewall software based on the linux environment c+ programming. it divided into user interface program,

4、 background process, server process, kernel module and test comma nd. this paper impleme nts the display firewall, n etwork in terface , security con sultati on, the server process z attack code sea nning module and in teractive applications.key words: c+ linux firewall network securityiii目 录一系统分析1(

5、一)可行性分析11技术可行性分析12操作可行性分析13经济可行性分析1(二)系统处理流(三)系统数据流程二需求分析(一)系统需求规定1对功能的规定62对性能的规定9(二)系统运行环境规定101硬件及英他设备102支持软件103语言版本104接1111三概要设计(一)数据的逻辑描1静态数据112动态输入数据143动态输出数据144内部生成数据145数据约定15四详细设计161系统模块层次结构16(二)程序模块设计说明181显示防火墙状态182安全咨询模块213服务器端模块234结束进程子模块245操作,设置模块265扫描代码模块275攻击代码模块29五系统测试31(-)测试计划32(二)测试结果

6、及发现 32 iv总结41参考文献错误!未定义书签。致谢错误!未定义书签。v一系统分析(一)可行性分析1技术可行性分析本防火墙软件采用fedora系统+qt creator+eclipse+gcc编译器进行开发,qtcreator3是一个linux下非常优秀具有可视化界面设计ui的o+ 开发工具。对于开发用户界面提供了很大的方便。而在内核模块编写上, eclopse的类提示功能也提供了不少便捷,最后用gcc编译后,把自行编 写可执行的钩子文件z间挂载到linux下,直接打开qt开发的防火墙用户 界面进行操作,最后可以顺利完成防火墙的过滤功能。综上所述,本软件 在技术方面是可行的。2操作可行性分

7、析本软件的使用对象是普通计算机用户。用户可根据自身需要或者默认 设置对防火墙进行配置,最终达到满足用户需要的网络安全设置。并且为 了让用户方便操作,在界面设计时做了很多人性化的提示设计;同时做到 界面美观简单,颜色线条搭配自然,提高软件的友好度。3经济可行性分析成本角度:软件开发仅仅使用计算机一台,采用虚拟机与宿主机交叉 交互开发,通过学校校园网提供的网络条件,使我们开发小组三人直接在 宿舍就能实现开发与测试工作。软件开发成本低。效益角度:由于本防火墙软件的开发目的是免费软件,效益主要源于 软件中有连接服务器并显示服务器页面的设计,可以考虑在此功能上投放 广告页面,增加广告收入。(二)系统处理

8、流程本软件系统主要可分为三大模块:内核交互模块,用户交互ui模块, 服务器模块。内核交互模块:主耍是在网络层实现,通过在网络层对ip包的捕捉, 分析,判断该ip包是否符合防火墙所配置的条件,如果符合,则接受。如 果不符合,则抛弄。实现原理是通过调用内核的所提供的接口。用户交互ui模块:主要提供其他工具,操作,设置,系统信息,安全 状态1帮助,工作状态,安全咨询等七小模块。分别用友好的界面提供给用 户使用本防火墙软件。让用户直接在界面操作便可以实现防火墙的配置并 及时查看相关信息。服务器模块:主要提供用户升级软件等数据交互功能。下图是防火墙的系统流程图:图1.1轻量级linux防火墙的系统流程图

9、fig.1.1 figure of light linux firewall由于linux操作系统的账户权限非常严格,该防火墙软件必须运行在 根权限(超级用户)下。否则,有部分功能会被系统屏蔽。这也是linux 本身的安全体系2结构上做得比较严格的部分。(三)系统数据流程顶层数据流图主要描述了外部数据包与内部数据包的接收与发送必 须通过防火墙检测,如图1.2所示。图1.2轻量级linux防火墙的顶层dfd图fig.1.2 figure of firewall top layer dfd第二层数据流图展示出了防火墙软件三大模块的交互信息,如下图所 示:图1.3轻量级linux防火墙第二层dfd图

10、fig.1.3 figure of second layer dfdlinux防火墙主要与用戸交互的模块就是ui子模块。该模块提供了大 量易懂的操作信息,包括系统信息工作状态,系统信息,安全状态,安全 咨询,其他工具,流量监控,操作、设置、帮助信息等等。如图1.4所示:图1.4第三层dfd图一轻量级linux防火墙用户交互子模块fig.1.4 figure of third layer dfd- user communicate block显示防火墙状态是从用户交互模块中总结出来的概括模块。主要把所 有从内核读取的状态信息显示在界面设计上。其主要包括基本信息,安全 状态信息。4图1.5第三层d

11、fd图二防火墙状态信息fig.1.5 figure of third layer dfd firewall state info服务器端及防火墙客户端连接服务器功能,主要利用到socket编程实 现进程之间通信。如图1.6所示:图1.6第三层dfd图三c/s实现fig.1.6 figure of third layer dfd- c/s5二需求分析(-)系统需求规定1对功能的规定通过对市面上的相关防火墙软件的调研和分析,木防火墙软件主要实 现的功能有:动态显示本机状态信息,即时连接/断开网络功能,服务器端 功能,日志文件,查看并操作相关正在上网进程功能,设置数据包过滤规 则量等等(1)动态显示

12、本机状态信息:当防火墙软件开启的时候,可以通过读取linux系统上的相关文件,动 态获収本机状态信息并且显示在界面相应地方。(2)即时连接/断开网络功能:能够直接通过防火墙软件上的此功能按钮进行对个人计算机网络的 连接与断开设置,保护用户选择使用网络的决定权;(3)服务器端功能:防火墙软件连接服务器端获取最新的安全咨询,广告页面等;(4)日志文件:每当接收到外部攻击或者在用户定义的上网规则以外的操作,防火墙 软件就会记录在日志文件里,用户也可以通过软件中日志文件的按钮查看 己经保存起来的信息;(5)查看并操作相关正在上网进程功能:防火墙软件在系统信息的页面能够显示出木机正在连接网络的进程, 使

13、用户知道自身哪些程序正在上网,同时也可以对上网进程执行结朿进程 操作;(6)设置数据包过滤规则量用户可以根据自身需要设置网络规则,体现个人防火墙的个性化特点; 同时也可以使用默认安全配置;本软件的最顶层的矩形框代表防火墙软件的主面板(主控模块),调 用下层模块去完成全部功能;第二层的每个模块分别完成软件系统的各自 主要功能,如此层层向下逐一完善,软件的h图如图2.1所示图2.1轻量级linux防火墙软件h图fig.2.1 figure of light linux firewall softwareh图说明了软件的模块组成及其层次结构,使用ipo表来说明模块间 的信息传递及模块内部的处理。表2

14、.1工作状态的ipo表tab 2.1 ipo of work state系统名称:轻量级linux防火墙模块名:工作状态模块编号:2.1日期:2013-05-17上层调用模块:用户交互模块下层被调用的模块:无输入数据:无 输出数据:内核工作状态信息处理:动态获得部分 进程的工作状态信息显示在用户界面的相应位置。表2.2安全状态的ip0表tab 2.2 ipo of safe state系统名称:轻量级linux防火墙 模块名:安全状态日期:2012-05-1模块编号:2.2 上层调用模块:用户交互模块下层被调用的模块:无输入数据:无输出数据:防火墙的安全等级状态信息处理:动态获 得防火墙的安全

15、状态信息并显示在用户界面的相应位置表2.3安全咨询的ipo表tab 2.3 ipo of safe asking系统名称:轻量级linux防火墙模块名:安全咨询日期:2013-05-1模块编号:2.7上层调用模块:用户交互模块,服务器模块下层被调用的模块:无输入数据:服务器端信息输出数据:从服务器端获取得到的信息处 理:把服务器端获取得到的信息显示在用户界面上。表2.4服务器端的ip0表tab 2.4 ipo of server系统名称:轻量级linux防火墙 模块名:服务器端模块日期:201305j模块编号:4.1上层调用模块:linux防火墙下层被调用的模块:无输入数据:无输出数据:服务器

16、端页面信息处理:向用户交互界面 下的安全咨询发送服务器端的页面信息。表2.5扫描模块的ip0表tab 2.5 ipo of scan model系统名称:扫描程序模块名:扫描模块模块编号:测试模块1上层调用模块:无 输入数据:无 处理:扫描目标机所开启的端口。8日期:2013-05-1下层被调用的模块:无 输出数据:扫描冃标机 开启的端口表2.6攻击代码的ipo表tab 2.6 ipo of attrack code系统名称:socket仿攻击代码 模块名:攻击代码日期:2013-05-1模块编号:测试模块上层调用模块:无下层被调用的模块:无输入数据:客户端输入输出数据:服务器端接收处理:用s

17、ocket连接模仿攻击代码,客户端模仿肉鸡,服务器端模仿 黑客。2对性能的规定轻量级hnux防火墙软件的具体性能目标如下:(d灵活性a, 本防火墙属于免安装类型软件,直接在linux终端以根权限打开便能 立即运行起来。b, 不需要过多繁琐设置,软件运行起来马上进入保护状态,软件自 带的默认设置能够减免用户的设置压力并且保护作用显著。c, 用户能够根据自身的浏览,安全需要,对防火墙等级进行自由灵活 的设置。(2)权限严格在linux操作系统下的权限有非常严格标准,防火墙软件必须执行在超 级用户权限下才能实现断网,及对内核发送命令等操作。(3)多线程并发防火墙主界面是一条主进程,期间有一些后台模块

18、功能线程并发进行, 让防火墙能够同时执行部分功能的操作,提高软件的效率及功能。(4)防火墙软件的可靠性和安全性a. 在计算机网络中,计算机通过物理层及链路层接受到网上的ip包, 防火墙软件在有部分与linux系统的内核交互是建立在网络层上,我们把一 些丢包规则设定在网络层中,如果发现在规则以外的数据包一概采取丢弃 不用策略,这样大大增加了安全性和可靠性。b. 软件工作在超级用户权限z下,可以执行一切在linux ±的操作,从 而使软件工作起来更加稳定,更加可靠。c防火墙软件如果发生错误导致崩溃,就好像普通软件崩溃一样,只 要重新启动即可,不会使操作系统也随之崩溃。9(5)防火墙软件的

19、适应性系统应该兼容linux 2.6以上版本的操作平台,如fordera及ubuntu等 知名linux操作系统。(6)防御性能够抵御日常的端口扫描,利用socket通信的木马程序以及icmp 攻击。(7)防火墙软件可升级性我们防火墙软件的本来采取的就是增量模型及快速原型法的开发方 法,为了软件日后的发展,我们会针对用户提出意见,逐步完善软件,修 复bug,增加更多的功能。(8)友好的人性化界面在linux qt creator下开发出來的界面具有简洁大方,让人舒服的可视 化界面(二)系统运行环境规定1硬件及其他设备本软件是一款个人防火墙软件,硬件要求以现今广大用户所使用的个 人计算机为标准。

20、配置耍求:(1)1.8ghz以上单/双核cpu, 1gmb以上物理内存,40gb sata接口硬盘;(2)集成双千兆以太网卡。(3)操作系统:内核版本2.6以上的linux操作系统2支持软件操作系统:内核版本2.6以上的linux操作系统开发语言:c/c+测试软件:各种能够联通网络的软件便可,如google浏览器开发工具:qx creator eclipse gcc编译器linux文件系统:ext3语言版本简体中文版10 4接口本防火墙软件用到接口包括:1. proc文件系统。在proc文件系统下面包含一些tcp及udp数据包 接口文件,相关的系统状态信息文件。根据这些接口能够读取获得当地计

21、算机的一些状态信息并作以显示。2. qtsocket接口。服务器端与客户机端进程之间的通信就是依靠 socket借口实现的。三概要设计(一)数据的逻辑描述本防火墙软件忧郁数据量不会很大没有涉及到数据库的操作,但是却 用上了大量的静态属性数据,链表及proc文件作为数据载体。1静态数据 重要的静态变量:表3.1静态变量table 3.1 figure of static data重要的结构体:11表3.2结构体table 3.2 figure of struct表3.3函数table 3.3 figure of functionqt界面下的所写的类文件:表3.4类table 3.4 figure

22、 of class132动态输入数据表 3.5 输入数据 table 3.5 figure of input date3动态输出数据表 3.6 输岀数据 table 3.6 figure of output date4内部生成数据表 3.7 内部生成数据 table 3.7 figure of private date145数据约定表3.8输入数据table 3.8 figure of date permision 15四详细设计根据前面系统需求的分析,将软防火墙件划分成3大模块,包括内核 交互模块,用户交互模块ui,服务器模块。这里主要写到本人完成的子模 块:用户交互模块ui中的显示防火墙的

23、状态、网络接口和、安全咨询以及 服务器进程,扫描代码以及攻击代码。1妻子的xing要求不能得到满足,影响夫妻感情造成家庭不和睦2爱爱中立刻she精,精子不能很好的进入女性体内,导致不育3心情苦闷、情绪压抑,丧失生活激情,产生心里疾病4早*泄容易导致精神恐惧焦虑,从而发生阳*痿等勃起功能障碍直至 性机能衰竭。咨询加老zhong医的v: msdf003愿您早日康复!(-)程序系统的结构1系统模块层次结构本系统每个模块名称及其程序层次结构如表4.1所示,对于特别简单 的程序模块,在此从略,仅给出较为复杂的程序层次结构。表4.1程序层次结构表tab 4.1 table of process hiera

24、rchy structure(2)显示防火墙状态16图 4.1 状态显示结构图 fig.4.1 state display structure(2)网络接口模块图 4.2 网络接 口模块结构图 fig.4.2 network interface structure(3)扫描功能图4.3扫描原理图17fig.4.3 sean theory(4)模拟攻击代码图4.4攻击原理fig.4.4 attrack theory(二)程序模块设计说明以下主要包括的子模块显示防火墙状态,安全咨询,服务器模块,结 束进程子模块,操作、设置模块以及扫描代码,攻击代码。1显示防火墙状态(1)模块描述在防火墙软件的用户

25、交互界面上动态显示出计算机屮内核的系统状 态信息以及本防火墙软件的执行信息。(2)模块功能图4.3状态显示模块ipo图fig.4.3 ipo of state display module18图4.4状态信息详细图fig.4.4 figure of state's detail infomation(3)模块输入项无(4)模块输出项把系统状态信息,防火墙状态信息显示到用户界面相应位置。(5)模块流程逻辑19图4.5系统信息显75流程图fig.4.5 flow chart of system information display图4.6状态信息显示流程图fig.4.6 flow cha

26、rt of state information display20(6)模块接口表4.2模块接口tab 4.2 table ofmodule interface所用到的文件:/etc/issue/proc/sys/kernel/ostype setting.config2安全咨询模块(1)模块描述安全咨询页面显示。(2)模块功能图 4.9 安全咨询 ip0 图 fig.4.9 ipo of safe information asking(3)模块输入项表4.3程序输入项tab 4.3 table of module inpute21(4)模块输出项把服务器端显示在界面上。(5)模块流程图4.1

27、0安全咨询模块流程图fig.4.10 flow chart of safe information asking module(6)模块接口表4.4模块接口tab 4.4 table of module interface 223服务器端模块(1)模块描述负责建立服务器端程序,接收防火墙软件客户端请求,发送数据到客 户端。(2)模块功能图4.11服务器端模块ipo图fig.4.11 ipo of server module(3)模块输入项表4.4程序输入项tab 4.4 table of module inpute(4)模块输岀项东莞理工学院超链接字符串。(5)模块流程逻辑:23图 4.11

28、服务器端模块流程图 fig.4.11 flow chart of server module4结朿进程子模块(1)模块描述24结束进程了模块是由系统显示模块中把正在进行互联网连接的应用程序列出来后,根据进程pid号把该进程结束的子功能模块。(2)模块功能图4.13结束进程子模块ipo图fig.4.13 ipo of kill process sub module(3)模块流程逻辑:图4.14结束进程子模块流程图fig.4.14 float of article upload module(4)模块接口表4.5模块接口tab 4.5 table ofmodule in terface25所用到的

29、命令函数kill ();5操作,设置模块(1)模块描述用户可以按照个人上网习惯,选择对防火墙相关配置的设置。本模块 用作显示选项及其功能,记录用户选择设置,发送给内核模块。(2)模块功能处理图4.16操作,设置模块ipo图fig.4.16 ipo of operation setting module(3)模块流程逻辑图4.17操作,设置模块模块流程图fig.4.17 flow chart of operation setting module(4)模块接口表4.6模块接口tab 4.6 table of module interface5扫描代码模块(1)模块描述27利用端口扫描技术,对目标

30、机(ip识别)打开的端口号扫描并显示出 来。(2)模块功能处理图 4.17 扫描代码模块 ipo 图 fig.4.17 ipo of scan code module(3)模块输入项表4.7程序输入项tab 4.7 table of module inpute(4)模块输出项把065534号打开的端口输岀。(5)模块流程逻辑28图4.18扫描程序流程图fig.4.18 flow chart of sean code反扫描功能已在icmp内核过滤中实现。具体参考同组成员刘晓润的报告。5攻击代码模块(1)模块描述本模块模仿灰鸽子等木马程序的工作原理,黑客软件通过让受感染用 户连接到自己的服务器上,

31、然后获得感染机的相关信息甚至控制。(2)模块功能293)模块流程逻辑处理图4.19攻击代码ipo图fig.4.19 ipo of attrack code30(图4.20操作,设置模块模块流程图fig.4.20 flow chart of operation setting module五系统测试软件测试是针对开发需求文档对需求提出的功能测试,对质量或可接 受性做岀判断,以及发现问题。我们进行测试,是因为知道我们很容易犯 错误,特别是在软件领域和软件控制的系统中6。系统测试是软件测试里面专门对功能的一种测试。我们通过对功能逐 步测试,了解软件对需求计划的实现程度,找出软件中的bug进行排错修 复,逐一完善软件。31(-)测试计划表 5.1 测试计划 tab 5.1 table oftest plan(二)测试结果及发现(1)显示防火墙状态测试32图5.1显示防火墙状态测试结果fig.5.1 display test result33图5.2显示防火墙状态测试结果fig.5.2 display test result图5.3显示防火墙状态测试结果fig.5.3 display test r

温馨提示

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

评论

0/150

提交评论