局域网的数据包监听及数据分析论文—毕业设计论文

上传人:r****d 文档编号:155398616 上传时间:2022-09-23 格式:DOC 页数:51 大小:2.14MB
收藏 版权申诉 举报 下载
局域网的数据包监听及数据分析论文—毕业设计论文_第1页
第1页 / 共51页
局域网的数据包监听及数据分析论文—毕业设计论文_第2页
第2页 / 共51页
局域网的数据包监听及数据分析论文—毕业设计论文_第3页
第3页 / 共51页
资源描述:

《局域网的数据包监听及数据分析论文—毕业设计论文》由会员分享,可在线阅读,更多相关《局域网的数据包监听及数据分析论文—毕业设计论文(51页珍藏版)》请在装配图网上搜索。

1、毕 业 设 计论 文局域网的数据监听及数据分析 学院 信息工程学院 专业 计算机科学与技术 班级 姓名 摘 要本文主要阐述了目前网络平安的现状、缺陷、面临的威胁,提出了相应的防范措施,并介绍了网络的常用协议。然后又介绍了WINSOCK技术和监听原理,并对最广泛的监听工具sniffer做了简单的概述。基于当前网络很多威胁都是来自与自己电脑的漏洞与自己不能够清楚的发觉到自己电脑是否正在被侵犯,虽然防火墙可以提供帮助,但它不能对低层的东西显示给大家。本文主要研究的是对局域网的数据包监听并分析,采用WINSOCK技术实现的。在此工具中主要有监听和IP数据包分析2大主要功能,并能通过窗体清楚的显示出来。

2、它使人们可以每时每刻观察到进入自己电脑的数据包,并能够观察到进行数据交流时对方的IP地址和所开放的端口号,及时对信息明朗化,预防黑客端口的监听。关键词:网络平安 监听工具 winsock技术 IP数据包 Vc+AbstractThis text has explained the current situation , defect , threat faced of the online security at present mainly, have put forward the corresponding precautionary measures, has introduced t

3、he daily agreement of the network. Recommend winsock technology and monitor principle , monitor to a most extensive one tool sniffer make the simple summary。On the basis of network a lot of threat to come from with ones own loophole and oneself of computer can not clear perceiving whether ones own c

4、omputer is being infringed at present, though the fire wall can offer help , it cant show to the thing of the lower to everybody . Main research of this text is wrapping up and monitoring and analysing about the data of the lan, adopt wincock technology to realize.Monitor and wrap up and analyse 2 g

5、reat main functions with ip data mainly in tool once, and can come out through the display that the window body is clear . Its people can observe all the time the data which enter ones own computer are chartered , and can observe the other sides ip address and end slogans opened while exchanging the

6、 data , clear to information in time, prevent the monitoring of black ports.Key words: network security monitor tool winsock technology ip data pack vc+目 录摘 要IAbstractII目 录III引 言11 网络平安面临的威胁21.1 什么是网络平安21.2 网络平安隐患与威胁21.3 几种常见的威胁类型41.4 威胁我国网络平安的4个因素52 网络协议73 WINSOCK技术与监听原理113.1 WINSOCK技术概述113.2 局域网与以

7、太网监听原理144 sniffer174.1 sniffer概述174.2 怎样防范sniffer185 基于WINSOCK技术捕获IP包工具的设计与实现225.1 系统概述225.2 系统概要设计225.3 系统主要功能介绍245.4 实例分析285.5 数据包首部解析29结 论31参考文献33附 录34谢 辞38引 言网络平安正在日益受到广阔的计算机用户的关注,特别是“事件的影响让我们对网络的平安有了更深一层的认识。 在Internet上有一批熟谙网络技术的人,其中不乏网络天才,他们经常利用网络上现存的一些漏洞,想方设法进入他人的计算机系统。有些人只是为了一饱眼福,或纯粹出于个人兴趣,喜欢

8、探人隐私,这些人通常不会造成危害。但也有一些人是存着不良动机侵入他人计算机系统的,通常会偷窥机密信息,或将其计算机系统捣毁。这局部人我们称其为Internet上的黑客。 如今Internet火爆全球,可令人头疼的问题也随之而来,那就是由于黑客在网上的活动极具危害性及破坏性,网络平安问题已成为网络管理员头等关心的大事,也是决定Internet命运的重要因素。实际上已经出现许多个体网络由于自身平安受到威胁,而不得不被迫暂退出Internet的事件。 然而从根本意义讲,绝对平安的计算机是根本不存在的,绝对平安的网络也是不可能的。只有存放在一个无人知哓的秘室里,而又不插电的计算机才可以称之为平安。只要

9、使用,就或多或少存在着平安问题,只是程度不同而已。我们在探讨网络平安的时候,实际上是指一定程度的网络平安。而到底需要多大的平安性,却要完全依据实际需要及自身能力而定。网络平安性越高,同时也意味着对网络使用的不便。21世纪全世界的计算机都将通过Internet联到一起,信息平安的内涵也就发生了根本的变化。它不仅从一般性的防卫变成了一种非常普通的防范,而且还从一种专门的领域变成了无处不在。当人类步入21世纪这一信息社会、网络社会的时候,我国将建立起一套完整的网络平安体系,特别是从政策上和法律上建立起有中国自己特色的网络平安体系。本文的目的就是希望大家能对网络的各种威胁有所认识,并能通过我所编写的程

10、序来进行自我保护。1 网络平安面临的威胁1.1 什么是网络平安国际标准化组织ISO对计算机系统平安的定义是:为数据处理系统建立和采用的技术和管理的平安保护,保护计算机硬件、软件和数据不因偶然和恶意的原因遭到破坏、更改和泄露。由此可以将计算机网络的平安理解为:通过采用各种技术和管理措施,使网络系统正常运行,从而确保网络数据的可用性、完整性和保密性。所以,建立网络平安保护措施的目的是确保经过网络传输和交换的数据不会发生增加、修改、丧失和泄露等。1.2 网络平安隐患与威胁Internet的平安隐患主要表达在以下几方面:1 Internet是一个开放的、无控制机构的网络,黑客Hacker经常会侵入网络

11、中的计算机系统,或窃取机密数据和盗用特权,或破坏重要数据,或使系统功能得不到充分发挥直至瘫痪。 2 Internet的数据传输是基于TCP/IP通信协议进行的,这些协议缺乏使传输过程中的信息不被窃取的平安措施。 3 Internet上的通信业务多数使用Unix操作系统来支持,Unix操作系统中明显存在的平安脆弱性问题会直接影响平安效劳。 4在计算机上存储、传输和处理的电子信息,还没有像传统的邮件通信那样进行信封保护和签字盖章。信息的来源和去向是否真实,内容是否被改动,以及是否泄露等,在应用层支持的效劳协议中是凭着君子协定来维系的。 5电子邮件存在着被拆看、误投和伪造的可能性。使用电子邮件来传输

12、重要机密信息会存在着很大的危险。 6计算机病毒通过Internet的传播给上网用户带来极大的危害,病毒可以使计算机和计算机网络系统瘫痪、数据和文件丧失。在网络上传播病毒可以通过公共匿名FTP文件传送、也可以通过邮件和邮件的附加文件传播。随着计算机网络的不断开展,全球信息化已成为人类开展的大趋势。但由于计算机网络具有联结形式多样性、终端分布不均匀性和网络的开放性、互连性等特征,致使网络容易受黑客、恶意软件和其他不轨的攻击,所以网上信息的平安和保密是一个至关重要的问题。对于军用的自动化指挥网络、C3I系统和银行等传输敏感数据的计算机网络系统而言,其网上信息的平安和保密尤为重要。因此,上述的网络必须

13、有足够强的平安措施,否那么该网络将是个无用、甚至会危及国家平安的网络。无论是在局域网还是在广域网中,都存在着自然和人为等诸多因素的脆弱性和潜在威胁。故此,网络的平安措施应是能全方位地针对各种不同的威胁和脆弱性,这样才能确保网络信息的保密性、完整性和可用性。计算机网络所面临的威胁大体可分为两种:一是对网络中信息的威胁;二是对网络中设备的威胁。影响计算机网络的因素很多,有些因素可能是有意的,也可能是无意的;可能是人为的,也可能是非人为的;可能是外来黑客对网络系统资源的非法使有,归结起来,针对网络平安的威胁主要有三:(1)人为的无意失误:如操作员平安配置不当造成的平安漏洞,用户平安意识不强,用户口令

14、选择不慎,用户将自己的帐号随意转借他人或与别人共享等都会对网络平安带来威胁。(2)人为的恶意攻击:这是计算机网络所面临的最大威胁,敌手的攻击和计算机犯罪就属于这一类。此类攻击又可以分为以下两种:一种是主动攻击,它以各种方式有选择地破坏信息的有效性和完整性;另一类是被动攻击,它是在不影响网络正常工作的情况下,进行截获、窃取、破译以获得重要机密信息。这两种攻击均可对计算机网络造成极大的危害,并导致机密数据的泄漏。(3)网络软件的漏洞和“后门:网络软件不可能是百分之百的无缺陷和无漏洞的,然而,这些漏洞和缺陷恰恰是黑客进行攻击的首选目标,曾经出现过的黑客攻入网络内部的事件,这些事件的大局部就是因为平安

15、措施不完善所招致的苦果。另外,软件的“后门都是软件公司的设计编程人员为了自便而设置的,一般不为外人所知,但一旦“后门洞开,其造成的后果将不堪设想。1.3 几种常见的威胁类型计算机网络上的通信面临以下的4种威胁:l 截获:攻击者从网络上窃听他人的通信内容。l 中断:攻击者有意中断他人在网络上的通信。l 篡改:攻击者成心篡改网络上传送的报文。l 伪造:攻击着伪造信息在网络上传送。上述四种威胁可划分为两大类,即为被动攻击和主动攻击,上面的截获信息的攻击为被动攻击,而篡改信息和拒绝用户使用资源的攻击称为主动攻击。在被动攻击中,攻击者只是观察和分析某一个协议数据单元PDU而不干扰信息流。即使这些数据对攻

16、击者来说是不易理解的,他也可通过观察PDU的协议控制信息局部,了解正在通信的协议实体的地址和身份。研究PDU的长度和传输的频度.以便了解所交换的数据的性质。这种被动攻击攻击又称为通信量分析主动攻击是指攻击者对某个连接中的通过的PDU进行各种处理。如有选择地更改,删除,延迟这些PDU(当然还包括记录和复制他们)。还可在稍后的时间将以前录下的PDU插入这个连接(即重放攻击)。甚至还可将合成的或伪造的PDU送入到一个连接中去。所有主动攻击都是上述各种方法的某种组合。但从类型上来看,自动攻击又可进一步划分为三种,即:1更改报文流:包括对通过连接的PDU的真实性,完整性和有序性的攻击.2拒绝报文效劳:指

17、攻击者或者删除通过某一连接的所有PDU.或者将对方或单方的所有PDU加以延迟,在2000年2月7日至9日美国的几个著名网站遭黑客袭击,使这些网站的效劳器一直处于忙的状态,因而拒绝向发出请求的客户提供效劳.这种攻击方式被称为拒绝效劳DoS(Denial of Service).假设从因特网上的成千上万的网站集中攻击一个网站,那么称为分布式拒绝效劳DdoS(Distributed Denial of Service)。3伪造连接初始化:攻击者重放以前被已被记录的合法连接初始化序列,或者伪造身份而企图建立连接.还有一种特殊的主动攻击就是恶意程序的攻击,恶意程序种类繁多,对网络平安威胁叫大的主要有以下

18、几种:l 计算机病毒:一种会传染其他程序的程序,传染是通过修改其他程序来把自身或其变种复制进去完成的.l 计算机懦虫:一种通过网络的通信功能将自身从一个结点发送到另一个结点并启动运行的程序.l 特洛依木马:一种程序,他执行的功能超出所声称的功能,如一个编译程序除了执行编译任务以外,还把用户的源程序偷偷地拷贝下来,那么这种编译程序就是一个特诺衣木马,计算机病毒有时也以特诺衣木马的形式出现.l 逻辑炸弹:一种当运行环境满足某种特定条件时执行其他特殊功能的程序,如一个编译程序,平时运行的很好,但当系统时间为13日又为星期五时,它删去系统中所有的系统文件,这种程序就是一种逻辑炸弹。除了以上的几种威胁还

19、有黑客侵袭,密码破解,系统漏洞,还有一些邮件,QQ炸弹等。这些都是外表已经被大家所熟悉的,而潜在的威胁也是不可无视的,象千年虫就是一个很好的例子,一段时间不会构成威胁,谁也说不好他什么时候爆发,防范工作更是防不胜防。1.4 威胁我国网络平安的4个因素目前我国的网络开展也是一日千里,威胁的种类也不断的在增加,随时可能出现新的病毒,这是不能预料的,但针对目前来看对我国的网络平安造成威胁主要有4个方面:1网络的开放性是目标系统容易遭受攻击的固有弱点。互联网的灵魂是“开放与共享,这就给黑客提供了攻击的便利。开放和平安在一定程度上相互矛盾,如果采取了太多的防范措施来保证平安,势必会大大降低信息交流的效率

20、,从而伤害“开放与共享的初衷。2很多网站的脆弱性是由软件引起的。大量的软件有漏洞,黑客就利用漏洞进行攻击。北京大学计算机科学系信息平安研究室主任陈钟教授说,软件漏洞是不可防止的。比方微软的“视窗操作系统,推出前先要进行内部测试,之后发出几十万份进行外部测试,即便如此,在其正式版本中,仍然漏洞多多,它的操作系统和网络浏览器上,都发现过危害网络平安的漏洞。北京中联绿盟信息技术公司总经理沈继业也指出,很多网站自行开发的程序,为黑客攻击大开方便之门。某国内大型网上书店,其开发的用户接口程序没有有效的过滤,黑客可以从中输入指令,并因此破坏了其数据库。3一些公司为名誉起见,不积极追究黑客的法律责任。美国八

21、大网站受到攻击,但并未使其比拟敏感的客户资料泄露,因此在媒体上大炒而特炒;相反,一些公司被黑后损失更为严重沉重,反而无声无息。国内有些公司为保证客户对其的信任,不敢公布自己的损失,更不敢把黑客送上法庭,往往采取私了的方式,这种“姑息养奸的做法就进一步助长了黑客的嚣张气焰。4目前关于网络犯罪的法律还不健全。互联网毕竟是新生事物,它对传统的法律提出了挑战。比方盗窃、删改他人系统信息属于犯罪行为,但仅仅是观看,既不进行破坏,也不谋取私利算不算犯罪?还比方网上有很多BBS,黑客在上边讨论软件漏洞、攻击手段等,这既可以说是技术研究,也可以说是提供攻击工具,这又算不算犯罪呢?更进一步说,提高网络平安技术水

22、平的有效途径就是做黑客,以掌握网络漏洞。2 网络协议因特网是一个开展非常活泼的领域。在1 9 6 8年,它的早期研究成果开始崭露头角,后来便出现了它的前身A R PA N E T,A R PA N E T为表现因特网特性的试验平台做出了重大奉献,1 9 7 3年,因特网正式面世。从那时起,关于因特网的研究和努力就一直没有间断过,其中大局部努力都是围绕着被称为网络的一个新型赛博空间所需要的标准而进行的。因特网协议及其标准与世界上任何其他事物的结构不同,它总是由一些机构或专业人士中的个人首先提出的。为了了解新的协议是如何出现并最终成为标准的,应该首先熟悉缩写词R F C,即Request for

23、Comment。它的开展变迁过程要追溯到1 9 6 9年,起因是由于因特网的成员过于分散。正如这个词的字面意思所示,这些文档是一些实用文档、方法、测试结果、模型甚至完整的标准。因特网社会的成员可以阅读,也可以把意见反应给R F C,如果这些想法或根本原理被社会接受,就有可能成为标准。在因特网社会中关于R F C的用法M O以及如何操作并没有太大的变化。1 9 6 9年,当时只有一个网络,整个社会不超过一百位专业人员;随着因特网的飞速开展,因特网不但需要一个机构来集中和协调这些成果,并且需要制定一个最低要求的准那么,至少能在成员之间进行有效的通信并取得相互了解。1 9 7 4年前后,摆在A R

24、PA N E T面前的形势很清晰了,通信联络需要进一步扩展,它需要的不仅是要能容纳成倍增加的通信媒体,而且要了解早已存在于群组中的许多领域的意义。这个领域需要一个管理者。大约在1 9 7 7年,随着作为因特网实验备忘录 I E N一局部的许多实验的进行,著名的T C P / I P协议获得了开展的动力。没过多久1 9 8 6年,为了R F C讨论的需要,需要建立一个由工程技术人员组成的、对标准的开展负责的工作机构,以便有效地引导因特网的开展成长,这样,因特网工程工作组I N E N G成立了。今天,因特网工程部 I E T F和因特网研究部 T RT F成为对因特网近期工程需求和远期研究目标负

25、责、并担负重任的两个工作组。这两个组织曾直接隶属于国际网络执行委员会I A B,现在属于因特网协会 1 9 9 2年成立,这个协会最终也是为因特网技术的开展负责的。但是,如果你是一个因特网上的常客,可能对缩略词I A B并不满意,确实,在I A B的逐步开展并走向成熟过程中, I A B将它的名字改为“Internet Architecture Board由“A c t i v i t i e s改为“A r c h i t e c t u r e,因为I A B在因特网开展的运作方面并没起多大作用。谈到R F C标准,那么首先考虑到的应该是RFC 733。如果有关于标准的想法或对因特网有益的

26、新技术,可以把它作为R F C提交给因特网社会。作为I A B成员之一的R F C编辑,决定着R F C的发表,对任一正式文档, R F C都有一种确定的风格和格式。现今因特网上用到的主要协议有:用户数据报协议UDP,次要文件传输协议TFTP,网际协议IP,因特网控制报文协议( I C M P ),传输控制协议( T C P ),地址转换协议( A R P ),虚终端协议( Te l n e t ),反向地址转换协议( R A R P ),外部网关协议( E G P )版本2,引导协议( B o o t P ),路由信息协议( R I P ),距离向量多播路由协议( D V M R P )。下

27、面对每项协议做一些简单的介绍:网际协议 I P:是广泛用于公司、政府部门和因特网上的网络协议。它支持许多个人、专业以及商业上的应用系统,像电子邮件、数据处理以及图像、声音的传输等。I P是一个无连接的数据报报文传输协议。用它来进行网上的寻址、路由选择以及对传输和接收数据报进行控制。每个数据报都包括源地址和目的地址、控制信息以及传向主机层或来自主机层的真实数据。I P数据报是进行网上包括因特网传送的根本单位。由于I P是一个无连接协议,所以它不需要定义一个与逻辑网络连接的关联路径。由于信息包是由路由器接收的,因此I P寻址信息常用来确定信息包到达其最终目的地址的最正确路由。这样,尽管I P没有关

28、于数据路径用法的控制,但当一个资源不可用时,它能为数据报重选路由。用户数据报协议 U D P:为I P提供了一种不可靠、无连接的数据报传输效劳。因此,此协议通常应用于面向事务的实用程序,如I P标准“简单网络管理协议S N M P和“次要文件传输协议 T F T P。同下一节要讨论的T C P一样,U D P与I P协同工作用来传送报文到目的地址,并提供协议端口以区分运行于单个主机上的软件应用程序。然而,与T C P不同的是, U D P并不保证数据不丧失和不被复制,因此,如果要使数据传输可靠的话,一定要用T C P而不是U D P。传输控制协议T C P:为I P提供了一种可靠的面向连接的传

29、输层效劳。由于它为非同类的计算机系统和网络之间提供了很高的互操作能力, T C P / I P得到了迅速开展,从而使它走出学术理论领域而进入市场。该协议通过使用一个握手方案,提供了一种在主机之间建立、维护和终止逻辑连接的机制。另外, T C P提供了协议端口,从而可以通过每个包含目的端口和源端口号的消息,区分运行于单一设备上的多道程序。T C P还通过单一的网络连接对字节流、数据流的界定、数据确认、数据再传输以及多路复用的多重连接提供了可靠的传输。路由信息协议R I P:是一个距离向量、内部网关协议 I G P,路由器用它来交换路由选择信息,通过R I P向终端站和路由器提供在不同网络进行动态

30、选择最正确路径的信息。因特网控制报文协议 I C M P:是I P的一局部,其作用是处理错误报文和系统级报文,并将报文发送到纠错网关或主机。它用的是I P的根本支持,看上去好似是一个更高级的协议,但是, I C M P确实是I P不可分割的一局部,且I P的每一局部都必须执行它。控制报文的传送是在这么几种情况下,例如:当数据报不能到达它的目的地时,或当网关转发数据报失败时一般是由于没有足够的缓冲容量。因特网组管理协议 I G M P:定义于RFC 111 2,它的形成是为了使多路访问网络上的主机能够命令具有它们群组成员信息的本地路由器,它是通过主机多播I G M P的主机成员报告来实现的。这些

31、多播路由器侦听到这些信息后能够与其他多播路由器交换群组成员信息,这里允许形成分发树去传递多播数据报。边界网关协议版本4B G P - 4:是一个能使处于不同自治系统中的路由器进行路由信息交换的外部网关协议。B G P - 4还提供了一系列机制以方便C I D R,这是因为它提供了播送一个任意长I P前缀的能力且由此消除了B G P中网络“类的概念。B G P使用T C P以确保交互式自治系统的信息的传递。仅当拓扑结构发生变化时产生更新信息,且更新信息只包含变化了的那局部信息,这减少了网上的通信量,也降低了为了使路由器间的路由表保持一致所需的开销。地址转换协议 A R P:是一种从主机因特网地址

32、获得其以太网地址的方法。发方播送一个含有另一个主机因特网地址的A R P数据包,并等待它送回其以太网地址。每个主机都持有一个地址转换高速缓存,以减少延迟和负载。A R P允许因特网地址独立于以太网地址,但只有当所有主机都支持它时才能工作。反向地址转换协议 R A R P:提供了与前面所述的A R P相反的功能。R A R P映像一硬件地址,也称为M A C地址,到一I P地址。R A R P主要用于无盘节点,当其首次初始化时,用来查找它们的因特网地址,其功能与B O O T P很相似。简单网络管理协议 S N M P:用于管理I P网络上的节点。在I P平安因素中,某种程度上无视了网络设备自身

33、的保护。S N M P v 2使得对网络设备的管理方法得到明显加强。但由于略有争议, S N M P的平安特性还有待于进一步完善。注意S N M P v 2最初提出的一些方面的平安性被做成了可选择的,有的在1 9 9 6年3月根据因特网标准从S N M P v 2的描述中去除掉了。现在新的S N M P v 2又有一个实验性平安协议被提出。尽管如此, S N M P仍是一个用于监视和控制I P路由器和连接网络的标准协议。这个面向事务的协议描述了S N M P管理者与代理之间结构化管理信息的传递。驻留于工作站上的S N M P管理者发出查询去收集路由器的状态、配置和执行信息网络时间协议 N T

34、P:是一个建立在T C P / I P之上的协议,通过在因特网上参考无线电装置、原子时钟以及其他时钟,确保对本地时间的准确记录。此协议能在很长一段时间内使分布式时钟同步在毫秒级。动态主机配置协议 D H C P:是1 9 9 4年末由M i c r o s o f t在3 . 5版本的N T效劳器上所介绍的一个协议。这个协议提供了一种动态分配I P地址到IBM PC的一种方法,前提是这些P C上运行的是Microsoft Wi n d o w s并且处于局域网中。系统管理员分配一个I P地址范围给D H C P,且在L A N上的每一客户P C都配有各自的T C P / I P软件,这些软件的

35、作用是从D H C P效劳器请求一个I P地址请求和授权过程使用可控时间段租用的概念。3 WINSOCK技术与监听原理 WINSOCK技术概述Winsock是为上层应用程序提供的一种标准网络接口。上层应用程序不用关心Winsock实现的细节,它为上层应用程序提供透明的效劳。Winsock2是Windows Socket的2.0版本。Winsock2引入的一个新功能就是打破效劳提供者的透明,让开发者可以编写自己的效劳提供者接口程序,即SPI程序。SPI以动态链接库DLL的形式存在,它工作的应用层,为上层API调用提供接口函数。Winsock2是一个接口,不是一个协议。作为接口,它只能发现和利用底

36、层传输协议完成通信。下面对sock进行详细介绍:SOCK(套接字)先看定义:typedef unsigned int u_int;typedef u_int SOCKET;Socket相当于进行网络通信两端的插座,只要对方的Socket和自己的Socket有通信联接,双方就可以发送和接收数据了。三种常用类型1流式套接字(stream socket)定义:#define SOCK_STREAM 1 流式套接字提供了双向、有序的、无重复的以及无记录边界的数据流效劳,适合处理大量数据。它是面向联结的,必须建立数据传输链路,同时还必须对传输的数据进行验证,确保数据的准确性。因此,系统开销较大。2数据报

37、套接字(datagram socket)定义:#define SOCK_DGRAM 2 数据报套接字也支持双向的数据流,但不保证传输数据的准确性,但保存了记录边界。由于数据报套接字是无联接的,例如播送时的联接,所以并不保证接收端是否正在侦听。数据报套接字传输效率比拟高。3原始套接字(raw-protocol interface)定义:#define SOCK_RAW 3 原始套接字保存了数据包中的完整IP头,前面两种套接字只能收到用户数据。因此可以通过原始套接字对数据进行分析。Socket开发所必须需要的文件(以WinSock V2.0为例):一些重要的定义1数据类型的根本定义:这个大家一看就

38、懂。typedef unsigned char u_char;typedef unsigned short u_short;typedef unsigned int u_int;typedef unsigned long u_long;2网络地址的数据结构 旧的网络地址结构的定义,为一个4字节的联合:struct in_addr union struct u_char s_b1,s_b2,s_b3,s_b4; S_un_b;struct u_short s_w1,s_w2; S_un_w;u_long S_addr; S_un;#define s_addr S_un.S_addr /* can

39、 be used for most tcp & ip code */下面几行省略,反正没什么用处。; 新的网络地址结构的定义:非常简单,就是一个无符号长整数 unsigned long。举个例子:IP地址为127.0.0.1的网络地址是什么呢?请看定义:#define INADDR_LOOPBACK 0x7f0000013套接字地址结构(1)、sockaddr结构:struct sockaddr u_short sa_family; /* address family */char sa_data14; /* up to 14 bytes of direct address */;sa_fam

40、ily为网络地址类型,一般为AF_INET,表示该socket在Internet域中进行通信,该地址结构随选择的协议的不同而变化,因此一般情况下另一个与该地址结构大小相同的sockaddr_in结构更为常用,sockaddr_in结构用来标识TCP/IP协议下的地址。换句话说,这个结构是通用socket地址结构,而下面的sockaddr_in是专门针对Internet域的socket地址结构。sockaddr_in结构struct sockaddr_in short sin_family;u_short sin_port;struct in_addr sin_addr;char sin_zer

41、o8;sin _family为网络地址类型,必须设定为AF_INET。sin_port为效劳端口,注意不要使用已固定的效劳端口,如HTTP的端口80等。如果端口设置为0,那么系统会自动分配一个唯一端口。sin_addr为一个unsigned long的IP地址。sin_zero为填充字段,纯粹用来保证结构的大小。 将常用的用点分开的IP地址转换为unsigned long类型的IP地址的函数:unsigned long inet_addr(const char FAR * cp )用法:unsigned long addr=inet_addr(192.1.8.84) 如果将sin_addr设置

42、为INADDR_ANY,那么表示所有的IP地址,也即所有的计算机。#define INADDR_ANY (u_long)0x000000004主机地址:先看定义:struct hostent char FAR * h_name; /* official name of host */char FAR * FAR * h_aliases; /* alias list */short h_addrtype; /* host address type */short h_length; /* length of address */char FAR * FAR * h_addr_list; /* l

43、ist of addresses */#define h_addr h_addr_list0 /* address, for backward compat */;h_name为主机名字。h_aliases为主机别名列表。h_addrtype为地址类型。h_length为地址类型。h_addr_list为IP地址,如果该主机有多个网卡,就包括地址的列表。另外还有几个类似的结构,这里就不一一介绍了。5常见TCP/IP协议的定义:#define IPPROTO_IP 0 #define IPPROTO_ICMP 1 #define IPPROTO_IGMP 2 #define IPPROTO_TC

44、P 6 #define IPPROTO_UDP 17 #define IPPROTO_RAW 2553.2 局域网与以太网监听原理1什么是网络监听 网络监听是黑客们常用的一种方法。当成功地登录进一台网络上的主机,并取得了这台主机的超级用户的权限之后,往往要扩大战果,尝试登录或者夺取网络中其他主机的控制友。而网络监听那么是一种最简单而且最有效的方法,它常常能轻易地获得用其他方法很难获得的信息。 在网络上,监听效果最好的地方是在网关、路由器、防火墙一类的设备处,通常由网络管理员来操作。使用最方便的是在一个以太网中的任何一台上网的主机上,这是大多数黑客的做法。2局域网监听的根本原理 根据IEEE的描

45、述,局域网技术是把分散在一个建筑物或相邻几个建筑物中的计算机、终端、大容量存储器的外围设备、控制器、显示器、以及为连接其它网络而使用的网络连接器等相互连接起来,以很高的速度进行通讯的手段。 局域网具有设备共享、信息共享、可进行高速数据通讯和多媒体信息通信、分布式处理、具有较高的兼容性和平安性等根本功能和特点。目前局域网主要用于办公室自动化和校园教学及管理,一般可根据具体情况采用总线形、环形、树形及星形的拓扑结构。对于目前很流行的以太网协议,其工作方式是:将要发送的数据包发往连接在一起的所有主机,包中包含着应该接收数据包主机的正确地址,只有与数据包中目标地址一致的那台主机才能接收。但是,当主机工

46、作监听模式下,无论数据包中的目标地址是什么,主机都将接收当然只能监听经过自己网络接口的那些包。 在因特网上有很多使用以太网协议的局域网,许多主机通过电缆、集线器连在一起。当同一网络中的两台主机通信的时候,源主机将写有目的的主机地址的数据包直接发向目的主机。但这种数据包不能在IP层直接发送,必须从TCP/IP协议的IP层交给网络接口,也就是数据链路层,而网络接口是不会识别IP地址的,因此在网络接口数据包又增加了一局部以太帧头的信息。在帧头中有两个域,分别为只有网络接口才能识别的源主机和目的主机的物理地址,这是一个与IP地址相对应的48位的地址。 传输数据时,包含物理地址的帧从网络接口网卡发送到物

47、理的线路上,如果局域网是由一条粗缆或细缆连接而成,那么数字信号在电缆上传输,能够到达线路上的每一台主机。当使用集线器时,由集线器再发向连接在集线器上的每一条线路,数字信号也能到达连接在集线器上的每一台主机。当数字信号到达一台主机的网络接口时,正常情况下,网络接口读入数据帧,进行检查,如果数据帧中携带的物理地址是自己的或者是播送地址,那么将数据帧交给上层协议软件,也就是IP层软件,否那么就将这个帧丢弃。对于每一个到达网络接口的数据帧,都要进行这个过程。 然而,当主机工作在监听模式下,所有的数据帧都将被交给上层协议软件处理。而且,当连接在同一条电缆或集线器上的主机被逻辑地分为几个子网时,如果一台主

48、机处于监听模式下,它还能接收到发向与自己不在同一子网使用了不同的掩码、IP地址和网关的主机的数据包。也就是说,在同一条物理信道上传输的所有信息都可以被接收到。另外,现在网络中使用的大局部协议都是很早设计的,许多协议的实现都是基于一种非常友好的、通信的双方充分信任的根底之上,许多信息以明文发送。因此,如果用户的账户名和口令等信息也以明文的方式在网上传输,而此时一个黑客或网络攻击者正在进行网络监听,只要具有初步的网络和TCP/IP协议知识,便能轻易地从监听到的信息中提取出感兴趣的局部。同理,正确的使用网络监听技术也可以发现入侵并对入侵者进行追踪定位,在对网络犯罪进行侦查取证时获取有关犯罪行为的重要

49、信息,成为打击网络犯罪的有力手段。3以太网中监听原理在 线路和无线电、微波中监听传输的信息比拟好理解,但是人们常常不太理解为什么局域网中可以进行监听。甚至有人问:能不能监听不在同一网段的信息。下面就讲述在以太网中进行监听的一些原理。在令牌环中,道理是相似的。对于一个施行网络攻击的人来说,能攻破网关、路由器、防火墙的情况极为少见,在这里完全可以由平安管理员安装一些设备,对网络进行监控,或者使用一些专门的设备,运行专门的监听软件,并防止任何非法访关。然而,潜入一台不引人注意的计算机中,悄悄地运行一个监听程序,一个黑客是完全可以做到的。监听是非常消耗CPU资源的,在一个担负繁忙任务的计算机中进行监听

50、,可以立即被管理员发现。4 sniffer4.1 sniffer概述以太网sniffing 是指对以太网设备上传送的数据包进行侦听,发现感兴趣的包。如果发现符合条件的包,就把它存到一个log文件中去。通常设置的这些条件是包含字username或password的包。它的目的是将网络层放到promiscuous模式,从而能干些事情。Promiscuous模式是指网络上的所有设备都对总线上传送的数据进行侦听,并不仅仅是它们自己的数据。根据第二章中有关对以太网的工作原理的根本介绍,可以知道:一个设备要向某一目标发送数据时,它是对以太网进行播送的。一个连到以太网总线上的设备在任何时间里都在接受数据。不

51、过只是将属于自己的数据传给该计算机上的应用程序。利用这一点,可以将一台计算机的网络连接设置为接受所有以太网总线上的数据,从而实现sniffer。sniffer通常运行在路由器,或有路由器功能的主机上。这样就能对大量的数据进行监控。sniffer属第二层次的攻击。通常是攻击者已经进入了目标系统,然后使用sniffer这种攻击手段,以便得到更多的信息。sniffer除了能得到口令或用户名外,还能得到更多的其他信息,比方一个其他重要的信息,在网上传送的金融信息等等。sniffer几乎能得到任何以太网上的传送的数据包。sniffers(嗅探器)几乎和internet有一样悠久的历史了。他们是最早的一个

52、允许系统管理员分析网络和查明哪里有错误发生的工具。不幸的是crackers也会运行sniffers以暗中监视你的网络状况和窃走不同种类的数据。在单项选择性网络中, 以太网结构播送至网路上所有的机器, 但是只有预定接受信息包的那台计算机才会响应。不过网路上其他的计算机同样会看到这个信息包,但是如果他们不是预定的接受者,他们会排除这个信息包。 当一台计算机上运行着sniffer的时候并且网络处于监听所有信息交通的状态, 那么这台计算机就有能力浏览所有的在网络上通过的信息包。如果你是个internet历史方面的白痴并且在想sniffer这个词从何而来。Sniffer是最初是网络的产物.然后成为市场销

53、售的领先者,人们开始称所有的网络分析器为sniffers。我猜想这些人是和管棉签叫Q-tip的人一样的。lan/wan 管理员使用sniffers来分析网络信息交通并且找出网络上何处发生问题。一个平安管理员可以同时用多种sniffers, 将它们放置在网络的各处,形成一个入侵警报系统。对于系统管理员来说sniffers是一个非常好的工具,但是它同样是一个经常被hackers使用的工具。crackers安装sniffer以获得用户名和账号,信用卡号码,个人信息,和其他的信息可以导致对你或是你的公司的极大危害如果向坏的方面开展。当它们得到这些信息后,crackers将使用密码来进攻其他的inter

54、net 站点甚至倒卖信用卡号码。我比拟倾向于snoop.Snoop是按Solaris的标准制作的,虽然Snoop不像是Sniffer Pro那样好,但是它是一个可定制性非常强的sniffer,在加上它是免费的(和Solaris附一起)。谁能打败它的地位?你可以在极短时间内抓获一个信息包或是更加深的分析。4.2 怎样防范sniffer 显而易见的,保护网络不受sniffer监听的方法就是不要让它们进入。如果一个cracker不能通过你的系统进入的话,那么他们无法安装sniffers.我们是有可能防止这个的。但是从发现空前数目的平安漏洞并且大多数公司并没有足够能力来修复以来,crackers开始利

55、用漏洞并安装sniffers。自从crackers看上一个大多数网络通讯流通的中心区域(防火墙或是代理效劳器)时,他们便确定这是他们的攻击目标并将被监视。一些可能的受害者在效劳器的旁边,这时候个人信息将被截获(webserver,smtp sever)一个好的方式来保护你的网络不受sniffer监视是将网络用以太网接线器代替普通的集线器分成尽可能多的段。接线器可以分割你的网络通讯并防止每一个系统看到每个信息包.但是这个解决方法的缺点就是太费钱。这种接线器是普通集线器价钱的两至三倍,但是它值这么多。另一个方法是,和那种接线器比就是加密术.Sniffer依然可以监视到信息的传送,但是显示的是乱码。

56、 一些加密术的缺点是速度问题和使用一个弱加密术比拟容易被攻破.几乎所有的加密技术将导致网络的延迟。加密术越强,网络沟通速度就越慢。系统管理员和用户需要在某个地方折中一下。 虽然大多数的系统管理员愿意使用市场上最好的加密术,但是世界上没有一个地方的网络平安用品制造商看起来获益很多。希望近期能有新的加密术,AES(高级加密标准),将提供更好的加密术和透明度给用户以让每个人都开心。有一些加密总是比没有加密要好的多。如果一个crakcer正在你的网络上运行sniffer并发现所有他/她收集的资料都是乱码,那么大多数会转移到其他的没有使用加密术的站点上.但是一份支票或是一个决心,hacker将会破解一个

57、弱加密术标准.所以要变的聪明和提供一个强有力的加密术。1999年,在L0pht Heavy Industries的兄弟发布了一个名为Antisniff的软件。它可以扫描你的网路并测试一台计算机是否运行在混杂模式(监听网路上每个数据包)。这是一个很有用的工具因为如果你的网路上有sniffer,那么10次有9次,系统会被危及平安。这曾经发生在Computer Science Department at California State University - stanislaus.这里是他们贴在网站上的:一个sniffer程序被发现运行在Computer Science网路.Sniffer程序是

58、被用来截获密码的。为了保护我们自己,请更换你的密码。最好用特殊的符号并大于8位的密码我确定一定有几百个相似的帖子在世界各地被发布但并不被公开。Antisniff也帮助你找到那些运行sniffer来寻找本地网路上错误的,但却忘了要求授权的系统管理员。如果你需要运行一个sniffer,那么你应领先得到准许。如果平安系统管理员正在运行Antisniff并发现你正在运行一个sniffer,那么你要解释为什么你没有获得准许就运行sniffer。希望你的平安方针包括关于sniffers的局部并提供一些运行sniffers的指导。写的同时,Antisniff1.021版本是现在的版本。一个非常好的GUI有效

59、于win95/98/nt机器。 一个命令行译本同样适用于Solaris,OpenBSD和linux。这个版本的antisniff只在单项选择性线路环境下运行.如果你的网路是又路由器和接线器组成的,那么Antisniff不具备和在单项选择性网路上的效用。你只能将它用在本地网络而不能通过路由和接线器。根据L0pht的网站来看,下一个版本的Antisniff将有能力通过路由和接线器判断一台计算机是否处于混杂状态。下一个版本的antisniff将对系统管理员十分有益因为集线器的价格正在下降并且大多数公司将提升到100M的速度.cracker依然可以安装sniffers,不同的是,你已经消除了他们获取数

60、据包的能力了。要防止sniffer并不困难,有许多可以选用的方法。但关键是都要有开销。所以问题在于你是否舍得开销。 你最关心的可能是传输一些比拟敏感的数据,如用户ID或口令等等。有些数据是没有经过处理的,一旦被sniffer,就能获得这些信息。解决这些问题的方法是加密。1加密我们介绍以下SSH,它又叫Secure Shell。SSH是一个在应用程序中提供平安通信的协议。它是建立在客户机/效劳器模型上的。SSH效劳器的分配的端口是22。连接是通过使用一种来自RSA的算法建立的。在授权完成后,接下来的通信数据是用IDEA技术来加密的。这通常是较强的 ,适合与任何非秘密和非经典的通讯。SSH后来开展

61、成为F-SSH,提供了高层次的,军方级别的对通信过程的加密。它为通过TCP/IP网络通信提供了通用的最强的加密。如果某个站点使用F-SSH,用户名和口令成为不是很重要的一点。目前,还没有人突破过这种加密方法。即使是sniffer,收集到的信息将不再有价值。当然最关键的是怎样使用它。SSH和F-SSH都有商业或自由软件版本存在。 2比拟容易接受的是使用平安拓扑结构。这听上去很简单,但实现是很花钱的。玩过一种智力游戏吗,它通常有一系列数字组成。游戏的目的是要安排好数字,用最少的步骤,把它们按递减顺序排好。当处理网络拓扑时,就和这个游戏一样。下面是一些规那么:一个网络段必须有足够的理由才能信任另一网

62、络段。网络段应该考虑你的数据之间的信任关系上来设计,而不是硬件需要。这就建立了,让我们来看看。第一点:一个网络段是仅由能互相信任的计算机组成的。通常它们在同一个房间里,或在同一个办公室里。比方你的财务信息,应该固定在建筑的一局部。注意每台机器是通过硬连接线接到Hub的。Hub再接到交换机上。由于网络分段了,数据包只能在这个网段上别sniffer。其余的网段将不可能被sniffer。所有的问题都归结到信任上面。计算机为了和其他计算机进行通信,它就必须信任那台计算机。作为系统管理员,你的工作是决定一个方法,使得计算机之间的信任关系很小。这样,就建立了一种框架,你告诉你什么时候放置了一个sniffe

63、r,它放在那里了,是谁放的等等。如果你的局域网要和INTERNET相连,仅仅使用防火墙是不够的。入侵者已经能从一个防火墙后面扫描,并探测正在运行的效劳。你要关心的是一旦入侵者进入系统,他能得到些什么。你必须考虑一条这样的路径,即信任关系有多长。举个例子,假设你的WEB效劳器对某一计算机A是信任的。那么有多少计算机是A信任的呢。又有多少计算机是受这些计算机信任的呢?用一句话,就是确定最小信任关系的那台计算机。在信任关系中,这台计算机之前的任何一台计算机都可能对你的计算机进行攻击,并成功。你的任务就是保证一旦出现的sniffer,它只对最小范围有效。 Sniffer往往是攻击者在侵入系统后使用的,用来收集有用的信息。因此,防止系统被突破是关键。系统平安管理员要定期的对所管理的网络进行平安测试,防止平安隐患。同时要控制拥有相当权限的用户的数量。请记住,许多攻击往往来自网络内部。5 基于WINSOCK技术捕获IP包工具的 设计与实现

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!