秋水伊人ying
软件设计毕业论文致谢
致 谢
经过四个多月的构思与设计,在指导老师的精心指导和安排下,本系统已经设计完毕。其使用功能基本符合公司在实际工作的需要,具有一定的实用性。但是由于时间比较仓促,加上本人软件设计经验的`不足。因此,在分析问题、解决问题时显得不够严密、完善,还需要在以后的工作中不断地改进和完善。
在这次的毕业设计中,让我深深地体现到进行软件开发不是一件简单的事情,它需要设计者具有全面的专业知识、缜密的思维、严谨的工作态度以及较高的分析问题、解决问题的能力,而我在很多方面还有欠缺。最后,我要衷心感谢老师在我的设计过程中给予我的极大帮助,使我能够及时、顺利地完成此次的毕业设计。同时,也要感谢我的老师和同学们及实习企业在本系统的设计过程中给予我的支持和帮助。
小快手337
【摘要 】 本文论述了网络通信监测的实现原理与实现过程,遵照国际标准化开放系统互联(OSI)七层体系结构,利用网络驱动接口规范WinDis32 技术,实现了在应用层对数据链路层的控制,完成了对网上流动数据帧的实时截获、解封与分析。
关键词】 网络分层 WinDis32技术 网络信息截获 数据帧 NDIS网络适配器
1.前言
随着计算机网络技术的发展,各类网络规模的扩大,远程访问的增加,虚拟专用网(VPN)的出现和Internet的普及,网络安全性已成为计算机网络领域一门重要的研究学科。
网络监控是保障网络安全性的基本措施之一。网络监控,用于监测网上流动信息,并对网络信息给予适当控制。网络监控,可用于调试网络应用程序,判断应用程序是否正确地发送或接收了数据包。网络监控,还可用于监视网络信息,杜绝不健康站点的不健康内容,维护网络环境。应用于安全防范,可监视我方信息内容、保障网络安全,截获情报、分析怀有敌意方的网站。在计算机网络上实施有效的攻击与保护,是网络监控技术在军事上的重要发展方向之一。
本文论述的网络通信实时监测的实现,是用于特殊目的数据通信程序设计的突破口,是网络监控技术的'基础部分,其实现基于网络体系结构与WinDis32技术。
2.网络体系结构
现代计算机网络设计是按高度的结构化方式进行的,国际标准化组织(ISO)为更广泛的计算机互联制定了标准化的开放系统互联(OSI)网络体系结构,如图1所示。
OSI参考模型用结构描述方法,即分层描述的方法,将整个网络的通信功能划分为七个部分(也叫七个层次),每层各自完成一定的功能。由低层至高层分别称为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。两台网络主机之间进行通信时,发送方将数据从应用层向下传递到物理层,每一层协议模块为下一层进行数据封装,数据流经网络,到达接收方,接着再由下而上通过协议栈传递,并与接收方应用程序进行通信。
在通用网络中,数据链路层由网络适配器实现,本文中网络通信监测的立足点在于数据链路层,基于电缆是固有的广播性介质,通过对网络适配器的控制,实时截获与分析经过网络适配器的所有网上流动信息。
技术
WinDis32全称为Win32 NDIS(Network Driver Interface Specification)网络驱动接口规范,用于开发Windows产品,可在Windows 9X和Windows NT上直接访问NDIS媒体访问控制(MAC)驱动接口。图2显示了Windows网络驱动组件与Win32 NDIS结构组件:
图网络驱动组件与Win32 NDIS结构组件
WinDis32网络组件由四部分组成:NDIS适配器、PCANDIS5 NDIS协议驱动、W32N50 WinDis32 API DLL、WinDis32应用程序。WinDis32应用程序调用动态链接库提供的API应用程序接口,通过NDIS协议驱动模块,实现对NDIS适配器进行的存取操作。网络驱动接口规范NDIS的主要特征是所有适配器相关驱动均由NDIS接口打包,例如,最底层NDIS NIC驱动不能对网卡直接执行I/O,它通过NDIS打包服务来访问硬件;高层Windows NDIS网络组件使用NDIS打包界面与适配器相关驱动通信。只有NDIS协议驱动可以调用NDIS打包,访问NDIS适配器。
WinDis32应用程序接口函数包括:W32N_OpenAdapter(),打开一个已被命名NDIS适配驱动器,若操作成功,则生成一个面向适配器对象WinDis32适配器句柄,这一句柄被随后多个在该适配器上操作的W32N_XXX函数所用; W32N_CloseAdapter(),关闭已打开的适配器句柄;W32N_PacketRead(),数据帧读操作;W32N_PacketReadEx(),数据帧异步读操作;W32N_PacketSend(),发送数据帧操作;W32N_PacketSendEx()、W32N_MakeNdisRequest()等等。
WinDis32技术使得从Win32应用层进行NDIS请求如同在一个内核模式的驱动器内部进行请求一样简单,并支持多个网络适配器同时打开,完成各自的信息发送与接收。
4.网络信息监测的实现
网络信息监测程序分为信息截获与信息分析两大部分,其中信息截获程序流程如图3所示,采用多进程与多线程技术,完成数据的实时截获。
其中网络适配器列表通过读取系统注册表生成;网络适配器详细信息包括适配器型号、网络适配器物理地址、传输最大帧、传输速率以及机内标识符,通过函数W32N_MakeNdisRequest()获得。
协议过滤部分是包括PCAUSA端口的PCANDIS5协议驱动,BPF过滤器是由UNIX环境到Windows的模拟机制,为Win32应用程序提供了一种普通而又便利的机制,可过滤指定协议,由协议驱动执行,拒绝不想要的数据帧。支持协议包括:传输控制协议TCP、互连网协议IP、地址解析协议ARP、反向地址解析协议RARP、互连网控制报文协议ICMP、互连网组管理协议IGMP、Novell SPX/IPX协议IPX、用户数据报协议UDP、NetBEUI协议、AppleTalk协议。
信息分析部分利用已获知的媒体访问控制协议,提取出数据帧中的有效域值,如源主机物理地址、目的主机物理地址、帧长度等。并同时为每一被截获的数据包打上时标,注上序列号,为下一步数据重组提供可靠依据。
接收数据帧显示与信息统计结果范例如下:
包序列号:0000000032 时间:0005860470 msec 长度:54/54
Ethernet 目的: 源: 类型:0x0800
000000: 00 40 05 39 A2 B0 00 00 : B4 86 74 FA 08 00 45 00 .@.9......t...E.
000010: 00 28 26 03 40 00 20 06 : A3 25 64 64 64 7A 64 64 .(&.@. ..%dddzdd
000020: 64 65 04 06 00 8B 00 40 : BF 14 00 6C 24 B9 50 10 de.....@...l$.P.
000030: 22 38 12 EA 00 00 : "8..............
包序列号:0000000033 时间:0005860764 msec 长度:109/109
Ethernet 目的: 源: 类型:0x0800
000000: 00 40 05 39 A2 B0 00 00 : B4 86 74 FA 08 00 45 00 .@.9......t...E.
000010: 00 5F 27 03 40 00 20 06 : A1 EE 64 64 64 7A 64 64 ._'.@. ...dddzdd
000020: 64 65 04 06 00 8B 00 40 : BF 14 00 6C 24 B9 50 18 de.....@...l$.P.
000030: 22 38 DE C6 00 00 00 00 : 00 33 FF 53 4D 42 1A 00 "8.........
000040: 00 00 00 00 00 80 00 00 : 00 00 00 00 00 00 00 00 ................
000050: 00 00 03 08 25 2D 03 08 : 01 4C 08 01 08 00 80 10 ....%-...L......
000060: 00 00 10 00 00 00 00 00 : 00 00 00 00 00 ................
包序列号:0000000034 时间:0005860766 msec 长度:1514/1514
Ethernet 目的: 源: 类型0x0800
000000: 00 00 B4 86 74 FA 00 40 : 05 39 A2 B0 08 00 45 00 ....t..@.9....E.
000010: 05 DC 64 0B 40 00 80 06 : FF 68 64 64 64 65 64 64 ..d.@....hdddedd
000020: 64 7A 00 8B 04 06 00 6C : 24 B9 00 40 BF 4B 50 10 dz.....l$..@.KP.
000030: 20 B7 86 DA 00 00 00 00 : 10 00 7E 8B 77 DA D2 D0 .........~.w...
000040: D7 27 59 9A 8F 18 D3 77 : 15 D5 6C 86 0F 2C 62 3E...
停止数据帧接收应用统计:
已接收数据帧数目 :34
已发送数据帧数目 : 0
5.进一步研究与发展
本文所研究的网络信息监测属于计算机网络系统安全对策研究的一部分,属于网络信息监测的基础性研究。以此研究成果为基础,可进行进一步的软件开发,从而实现网络通信状况实时监测、情报获取、网上各站点地址分析、站点类型分析,为计算机网络的安全维护提供监测手段,因此,具有特别的意义。
参考文献:
32 文档
2.刘锦德等计算机网络大全电子工业出版社
Jamsa等INTERNET编程电子工业出版社
C++技术内幕清华大学出版社
5.廖湖声面向对象的Windows程序设计基础人民邮电出版社
6.张国峰C++语言及其程序设计教程电子工业出版社
7.汤子瀛等计算机操作系统西安电子科技大学出版社
8.刘彦明等实用网络编程技术西安电子科技大学出版社
9.何莉等计算机网络概论高等教育出版社
10.杜毅Unix系统组网技术电子工业出版社
肚皮吃饱了
计算机网络安全及防范技术摘 要 主要阐述计算机信息网络攻击和入侵的特点、方法以及其安全防范手段。关键词 计算机网络安全 防范技术1 计算机网络安全的含义计算机网络安全的具体含义会随着使用者的变化而变化,使用者不同,对网络安全的认识和要求也就不同。例如从普通使用者的角度来说,可能仅仅希望个人隐私或机密信息在网络上传输时受到保护,避免被窃听、篡改和伪造;而网络提供商除了关心这些网络信息安全外,还要考虑如何应付突发的自然灾害、军事打击等对网络硬件的破坏,以及在网络出现异常时如何恢复网络通信,保持网络通信的连续性。从本质上来讲,网络安全包括组成网络系统的硬件、软件及其在网络上传输信息的安全性,使其不致因偶然的或者恶意的攻击遭到破坏,网络安全既有技术方面的问题,也有管理方面的问题,两方面相互补充,缺一不可。人为的网络入侵和攻击行为使得网络安全面临新的挑战。2 计算机网络攻击的特点计算机网络攻击具有下述特点:①损失巨大。由于攻击和入侵的对象是网络上的计算机,所以一旦他们取得成功,就会使网络中成千上万台计算机处于瘫痪状态,从而给计算机用户造成巨大的经济损失。如美国每年因计算机犯罪而造成的经济损失就达几百亿美元。平均一起计算机犯罪案件所造成的经济损失是一般案件的几十到几百倍。②威胁社会和国家安全。一些计算机网络攻击者出于各种目的经常把政府要害部门和军事部门的计算机作为攻击目标,从而对社会和国家安全造成威胁。③手段多样,手法隐蔽。计算机攻击的手段可以说五花八门。网络攻击者既可以通过监视网上数据来获取别人的保密信息;也可以通过截取别人的帐号和口令堂而皇之地进入别人的计算机系统;还可以通过一些特殊的方法绕过人们精心设计好的防火墙等等。这些过程都可以在很短的时间内通过任何一台联网的计算机完成。因而犯罪不留痕迹,隐蔽性很强。④以软件攻击为主。几乎所有的网络入侵都是通过对软件的截取和攻击从而破坏整个计算机系统的。它完全不同于人们在生活中所见到的对某些机器设备进行物理上的摧毁。因此,这一方面导致了计算机犯罪的隐蔽性,另一方面又要求人们对计算机的各种软件(包括计算机通信过程中的信息流)进行严格的保护。3 计算机网络中的安全缺陷及产生的原因网络安全缺陷产生的原因主要有:第一,TCP/IP的脆弱性。因特网的基石是TCP/IP协议。但不幸的是该协议对于网络的安全性考虑得并不多。并且,由于TCP/IP协议是公布于众的,如果人们对TCP/IP很熟悉,就可以利用它的安全缺陷来实施网络攻击。第二,网络结构的不安全性。因特网是一种网间网技术。它是由无数个局域网所连成的一个巨大网络。当人们用一台主机和另一局域网的主机进行通信时,通常情况下它们之间互相传送的数据流要经过很多机器重重转发,如果攻击者利用一台处于用户的数据流传输路径上的主机,他就可以劫持用户的数据包。第三,易被窃听。由于因特网上大多数数据流都没有加密,因此人们利用网上免费提供的工具就很容易对网上的电子邮件、口令和传输的文件进行窃听。第四,缺乏安全意识。虽然网络中设置了许多安全保护屏障,但人们普遍缺乏安全意识,从而使这些保护措施形同虚设。如人们为了避开防火墙代理服务器的额外认证,进行直接的PPP连接从而避开了防火墙的保护。4 网络攻击和入侵的主要途径网络入侵是指网络攻击者通过非法的手段(如破译口令、电子欺等)获得非法的权限,并通过使用这些非法的权限使网络攻击者能对被攻击的主机进行非授权的操作。网络入侵的主要途径有:破译口令、IP欺和DNS欺。口令是计算机系统抵御入侵者的一种重要手段,所谓口令入侵是指使用某些合法用户的帐号和口令登录到目的主机,然后再实施攻击活动。这种方法的前提是必须先得到该主机上的某个合法用户的帐号,然后再进行合法用户口令的破译。获得普通用户帐号的方法很多,如: 利用目标主机的Finger功能:当用Finger命令查询时,主机系统会将保存的用户资料(如用户名、登录时间等)显示在终端或计算机上;利用目标主机的服务:有些主机没有关闭的目录查询服务,也给攻击者提供了获得信息的一条简易途径;从电子邮件地址中收集:有些用户电子邮件地址常会透露其在目标主机上的帐号;查看主机是否有习惯性的帐号:有经验的用户都知道,很多系统会使用一些习惯性的帐号,造成帐号的泄露。IP欺是指攻击者伪造别人的IP地址,让一台计算机假冒另一台计算机以达到蒙混过关的目的。它只能对某些特定的运行TCP/IP的计算机进行入侵。IP欺利用了TCP/IP网络协议的脆弱性。在TCP的三次握手过程中,入侵者假冒被入侵主机的信任主机与被入侵主机进行连接,并对被入侵主机所信任的主机发起淹没攻击,使被信任的主机处于瘫痪状态。当主机正在进行远程服务时,网络入侵者最容易获得目标网络的信任关系,从而进行IP欺。IP欺是建立在对目标网络的信任关系基础之上的。同一网络的计算机彼此都知道对方的地址,它们之间互相信任。由于这种信任关系,这些计算机彼此可以不进行地址的认证而执行远程操作。域名系统(DNS)是一种用于TCP/IP应用程序的分布式数据库,它提供主机名字和IP地址之间的转换信息。通常,网络用户通过UDP协议和DNS服务器进行通信,而服务器在特定的53端口监听,并返回用户所需的相关信息。DNS协议不对转换或信息性的更新进行身份认证,这使得该协议被人以一些不同的方式加以利用。当攻击者危害DNS服务器并明确地更改主机名—IP地址映射表时,DNS欺就会发生。这些改变被写入DNS服务器上的转换表。因而,当一个客户机请求查询时,用户只能得到这个伪造的地址,该地址是一个完全处于攻击者控制下的机器的IP地址。因为网络上的主机都信任DNS服务器,所以一个被破坏的DNS服务器可以将客户引导到非法的服务器,也可以欺服务器相信一个IP地址确实属于一个被信任客户。5 常见的网络攻击及其防范对策 特洛伊木马特洛伊木马程序技术是黑客常用的攻击手段。它通过在你的电脑系统隐藏一个会在Windows启动时运行的程序,采用服务器/客户机的运行方式,从而达到在上网时控制你电脑的目的。特洛伊木马是夹带在执行正常功能的程序中的一段额外操作代码。因为在特洛伊木马中存在这些用户不知道的额外操作代码,因此含有特洛伊木马的程序在执行时,表面上是执行正常的程序,而实际上是在执行用户不希望的程序。特洛伊木马程序包括两个部分,即实现攻击者目的的指令和在网络中传播的指令。特洛伊木马具有很强的生命力,在网络中当人们执行一个含有特洛伊木马的程序时,它能把自己插入一些未被感染的程序中,从而使它们受到感染。此类攻击对计算机的危害极大,通过特洛伊木马,网络攻击者可以读写未经授权的文件,甚至可以获得对被攻击的计算机的控制权。防止在正常程序中隐藏特洛伊木马的主要方法是人们在生成文件时,对每一个文件进行数字签名,而在运行文件时通过对数字签名的检查来判断文件是否被修改,从而确定文件中是否含有特洛伊木马。避免下载可疑程序并拒绝执行,运用网络扫描软件定期监视内部主机上的监听TCP服务。 邮件炸弹电子邮件炸弹是最古老的匿名攻击之一,通过设置一台机器不断的大量的向同一地址发送电子邮件,攻击者能够耗尽接受者网络的带宽,占据邮箱的空间,使用户的存储空间消耗殆尽,从而阻止用户对正常邮件的接收,防碍计算机的正常工作。此种攻击经常出现在网络黑客通过计算机网络对某一目标的报复活动中。防止邮件炸弹的方法主要有通过配置路由器,有选择地接收电子邮件,对邮件地址进行配置,自动删除来自同一主机的过量或重复的消息,也可使自己的SMTP连接只能达成指定的服务器,从而免受外界邮件的侵袭。 过载攻击过载攻击是攻击者通过服务器长时间发出大量无用的请求,使被攻击的服务器一直处于繁忙的状态,从而无法满足其他用户的请求。过载攻击中被攻击者用得最多的一种方法是进程攻击,它是通过大量地进行人为地增大CPU的工作量,耗费CPU的工作时间,使其它的用户一直处于等待状态。防止过载攻击的方法有:限制单个用户所拥有的最大进程数;杀死一些耗时的进程。然而,不幸的是这两种方法都存在一定的负面效应。通过对单个用户所拥有的最大进程数的限制和耗时进程的删除,会使用户某些正常的请求得不到系统的响应,从而出现类似拒绝服务的现象。通常,管理员可以使用网络监视工具来发现这种攻击,通过主机列表和网络地址列表来分析问题的所在,也可以登录防火墙或路由器来发现攻击究竟是来自于网络外部还是网络内部。另外,还可以让系统自动检查是否过载或者重新启动系统。 淹没攻击正常情况下,TCP连接建立要经历3次握手的过程,即客户机向主机发送SYN请求信号;目标主机收到请求信号后向客户机发送SYN/ACK消息;客户机收到SYN/ACK消息后再向主机发送RST信号并断开连接。TCP的这三次握手过程为人们提供了攻击网络的机会。攻击者可以使用一个不存在或当时没有被使用的主机的IP地址,向被攻击主机发出SYN请求信号,当被攻击主机收到SYN请求信号后,它向这台不存在IP地址的伪装主机发出SYN/消息。由于此时主机的IP不存在或当时没有被使用所以无法向主机发送RST,因此,造成被攻击的主机一直处于等待状态,直至超时。如果攻击者不断地向被攻击的主机发送SYN请求,被攻击主机就会一直处于等待状态,从而无法响应其他用户的请求。对付淹没攻击的最好方法是实时监控系统处于SYN-RECEIVED状态的连接数,当连接数超过某一给定的数值时,实时关闭这些连接。参考文献1 胡道元.计算机局域网〔M〕.北京:清华大学出版社,20012 朱理森,张守连.计算机网络应用技术〔M〕.北京:专利文献出版社,20013 刘占全.网络管理与防火墙〔M〕.北京:人民邮电出版社,1999
去看(计算机科学与应用)这样的论文~~~
毕业设计(论文)是学生毕业前最后一个重要学习环节,是学习深化与升华的重要过程。它既是学生学习、研究与实践成果的全面总结,又是对学生素质与能力的一次全面检验,而且
学术堂整理了十五个好写的计算机软件毕业论文题目,供大家进行参考:1、基于西门子S7-1200电梯控制系统设计与实现2、基于ArcGIS Engine工程施工自动
书写摘要的基本规范和原则(1)论文摘要分为中文摘要和外文(一般为英文)摘要。摘要在篇幅方面的限定,不同的学校和机构有不同的要求,通常中文摘要不超过300字,英文
学术堂整理了十五个好写的计算机软件毕业论文题目,供大家进行参考:1、基于西门子S7-1200电梯控制系统设计与实现2、基于ArcGIS Engine工程施工自动