毕业论文基于局域网ip包分析的软件的开发(终稿)_第1页
毕业论文基于局域网ip包分析的软件的开发(终稿)_第2页
毕业论文基于局域网ip包分析的软件的开发(终稿)_第3页
毕业论文基于局域网ip包分析的软件的开发(终稿)_第4页
毕业论文基于局域网ip包分析的软件的开发(终稿)_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

基于局域网IP包分析的软件的开发摘要本文主要阐述了目前网络安全的现状、缺陷、面临的威胁,提出了相应的防范措施,并介绍了网络的常用协议。然后又介绍了WINSOCK技术和监听原理,并对最广泛的监听工具SNIFFER做了简单的概述。基于当前网络很多威胁都是来自与自己电脑的漏洞与自己不能够清楚的察觉到自己电脑是否正在被侵犯,虽然防火墙可以提供帮助,但它不能对低层的东西显示给大家。本文主要研究的是对局域网的数据包监听并分析,采用WINSOCK技术实现的。在此工具中主要有监听和IP数据包分析,同时可以设置规则屏蔽数据通过3大主要功能,并能通过窗体清楚的显示出来。它使人们可以每时每刻观察到进入自己电脑的数据包,并能够观察到进行数据交流时对方的IP地址和所开放的端口号,及时对信息明朗化,预防和防止黑客端口的监听。关键词监听工具WINSOCK技术IP数据包ABSTRACTTHISTEXTHASEXPLAINEDTHECURRENTSITUATION,DEFECT,THREATFACEDOFTHEONLINESECURITYATPRESENTMAINLY,HAVEPUTFORWARDTHECORRESPONDINGPRECAUTIONARYMEASURES,HASINTRODUCEDTHEDAILYAGREEMENTOFTHENETWORKRECOMMENDWINSOCKTECHNOLOGYANDMONITORPRINCIPLE,MONITORTOAMOSTEXTENSIVEONETOOLSNIFFERMAKETHESIMPLESUMMARY。ONTHEBASISOFNETWORKALOTOFTHREATTOCOMEFROMWITHONESOWNLOOPHOLEANDONESELFOFCOMPUTERCANNOTCLEARPERCEIVINGWHETHERONESOWNCOMPUTERISBEINGINFRINGEDATPRESENT,THOUGHTHEFIREWALLCANOFFERHELP,ITCANTSHOWTOTHETHINGOFTHELOWERTOEVERYBODYMAINRESEARCHOFTHISTEXTISWRAPPINGUPANDMONITORINGANDANALYSINGABOUTTHEDATAOFTHELAN,ADOPTWINCOCKTECHNOLOGYTOREALIZEMONITORANDWRAPUPANDANALYSE2GREATMAINFUNCTIONSWITHIPDATAMAINLYINTOOLONCE,ANDCANCOMEOUTTHROUGHTHEDISPLAYTHATTHEWINDOWBODYISCLEARITSPEOPLECANOBSERVEALLTHETIMETHEDATAWHICHENTERONESOWNCOMPUTERARECHARTERED,ANDCANOBSERVETHEOTHERSIDESIPADDRESSANDENDSLOGANSOPENEDWHILEEXCHANGINGTHEDATA,CLEARTOINFORMATIONINTIME,PREVENTTHEMONITORINGOFBLACKPORTSKEYWORDSMONITORTOOLWINSOCKTECHNOLOGYIPDATAPACK目录摘要IIABSTRACTIII目录IV引言11网络安全面临的威胁211什么是网络安全212网络安全隐患与威胁213几种常见的威胁类型414威胁我国网络安全的4个因素52网络协议73WINSOCK技术与监听原理1131WINSOCK技术概述1132局域网与以太网监听原理144SNIFFER1741SNIFFER概述1742怎样防范SNIFFER185基于WINSOCK技术捕获IP包工具的设计与实现2251系统概述2252系统概要设计2253系统主要功能介绍2454实例分析2855数据包首部解析2956指定IP和端口的数据包的屏蔽30结论34参考文献36附录37谢辞41引言网络安全正在日益受到广大的计算机用户的关注,特别是“911“事件的影响让我们对网络的安全有了更深一层的认识。在INTERNET上有一批熟谙网络技术的人,其中不乏网络天才,他们经常利用网络上现存的一些漏洞,想方设法进入他人的计算机系统。有些人只是为了一饱眼福,或纯粹出于个人兴趣,喜欢探人隐私,这些人通常不会造成危害。但也有一些人是存着不良动机侵入他人计算机系统的,通常会偷窥机密信息,或将其计算机系统捣毁。这部分人我们称其为INTERNET上的“黑客“。如今INTERNET火爆全球,可令人头疼的问题也随之而来,那就是由于“黑客“在网上的活动极具危害性及破坏性,网络安全问题已成为网络管理员头等关心的大事,也是决定INTERNET命运的重要因素。实际上已经出现许多个体网络由于自身安全受到威胁,而不得不被迫暂退出INTERNET的事件。然而从根本意义讲,绝对安全的计算机是根本不存在的,绝对安全的网络也是不可能的。只有存放在一个无人知哓的秘室里,而又不插电的计算机才可以称之为安全。只要使用,就或多或少存在着安全问题,只是程度不同而已。我们在探讨网络安全的时候,实际上是指一定程度的网络安全。而到底需要多大的安全性,却要完全依据实际需要及自身能力而定。网络安全性越高,同时也意味着对网络使用的不便。21世纪全世界的计算机都将通过INTERNET联到一起,信息安全的内涵也就发生了根本的变化。它不仅从一般性的防卫变成了一种非常普通的防范,而且还从一种专门的领域变成了无处不在。当人类步入21世纪这一信息社会、网络社会的时候,我国将建立起一套完整的网络安全体系,特别是从政策上和法律上建立起有中国自己特色的网络安全体系。本文的目的就是希望大家能对网络的各种威胁有所认识,并能通过我所编写的程序来进行自我保护。1网络安全面临的威胁11什么是网络安全国际标准化组织(ISO)对计算机系统安全的定义是为数据处理系统建立和采用的技术和管理的安全保护,保护计算机硬件、软件和数据不因偶然和恶意的原因遭到破坏、更改和泄露。由此可以将计算机网络的安全理解为通过采用各种技术和管理措施,使网络系统正常运行,从而确保网络数据的可用性、完整性和保密性。所以,建立网络安全保护措施的目的是确保经过网络传输和交换的数据不会发生增加、修改、丢失和泄露等。12网络安全隐患与威胁INTERNET的安全隐患主要体现在下列几方面(1)INTERNET是一个开放的、无控制机构的网络,黑客(HACKER)经常会侵入网络中的计算机系统,或窃取机密数据和盗用特权,或破坏重要数据,或使系统功能得不到充分发挥直至瘫痪。(2)INTERNET的数据传输是基于TCP/IP通信协议进行的,这些协议缺乏使传输过程中的信息不被窃取的安全措施。(3)INTERNET上的通信业务多数使用UNIX操作系统来支持,UNIX操作系统中明显存在的安全脆弱性问题会直接影响安全服务。(4)在计算机上存储、传输和处理的电子信息,还没有像传统的邮件通信那样进行信封保护和签字盖章。信息的来源和去向是否真实,内容是否被改动,以及是否泄露等,在应用层支持的服务协议中是凭着君子协定来维系的。(5)电子邮件存在着被拆看、误投和伪造的可能性。使用电子邮件来传输重要机密信息会存在着很大的危险。(6)计算机病毒通过INTERNET的传播给上网用户带来极大的危害,病毒可以使计算机和计算机网络系统瘫痪、数据和文件丢失。在网络上传播病毒可以通过公共匿名FTP文件传送、也可以通过邮件和邮件的附加文件传播。随着计算机网络的不断发展,全球信息化已成为人类发展的大趋势。但由于计算机网络具有联结形式多样性、终端分布不均匀性和网络的开放性、互连性等特征,致使网络容易受黑客、恶意软件和其他不轨的攻击,所以网上信息的安全和保密是一个至关重要的问题。对于军用的自动化指挥网络、C3I系统和银行等传输敏感数据的计算机网络系统而言,其网上信息的安全和保密尤为重要。因此,上述的网络必须有足够强的安全措施,否则该网络将是个无用、甚至会危及国家安全的网络。无论是在局域网还是在广域网中,都存在着自然和人为等诸多因素的脆弱性和潜在威胁。故此,网络的安全措施应是能全方位地针对各种不同的威胁和脆弱性,这样才能确保网络信息的保密性、完整性和可用性。计算机网络所面临的威胁大体可分为两种一是对网络中信息的威胁;二是对网络中设备的威胁。影响计算机网络的因素很多,有些因素可能是有意的,也可能是无意的;可能是人为的,也可能是非人为的;可能是外来黑客对网络系统资源的非法使有,归结起来,针对网络安全的威胁主要有三1人为的无意失误如操作员安全配置不当造成的安全漏洞,用户安全意识不强,用户口令选择不慎,用户将自己的帐号随意转借他人或与别人共享等都会对网络安全带来威胁。2人为的恶意攻击这是计算机网络所面临的最大威胁,敌手的攻击和计算机犯罪就属于这一类。此类攻击又可以分为以下两种一种是主动攻击,它以各种方式有选择地破坏信息的有效性和完整性;另一类是被动攻击,它是在不影响网络正常工作的情况下,进行截获、窃取、破译以获得重要机密信息。这两种攻击均可对计算机网络造成极大的危害,并导致机密数据的泄漏。3网络软件的漏洞和“后门”网络软件不可能是百分之百的无缺陷和无漏洞的,然而,这些漏洞和缺陷恰恰是黑客进行攻击的首选目标,曾经出现过的黑客攻入网络内部的事件,这些事件的大部分就是因为安全措施不完善所招致的苦果。另外,软件的“后门”都是软件公司的设计编程人员为了自便而设置的,一般不为外人所知,但一旦“后门”洞开,其造成的后果将不堪设想。13几种常见的威胁类型计算机网络上的通信面临以下的4种威胁截获攻击者从网络上窃听他人的通信内容。中断攻击者有意中断他人在网络上的通信。篡改攻击者故意篡改网络上传送的报文。伪造攻击着伪造信息在网络上传送。上述四种威胁可划分为两大类,即为被动攻击和主动攻击,上面的截获信息的攻击为被动攻击,而篡改信息和拒绝用户使用资源的攻击称为主动攻击。在被动攻击中,攻击者只是观察和分析某一个协议数据单元PDU而不干扰信息流。即使这些数据对攻击者来说是不易理解的,他也可通过观察PDU的协议控制信息部分,了解正在通信的协议实体的地址和身份。研究PDU的长度和传输的频度以便了解所交换的数据的性质。这种被动攻击攻击又称为通信量分析主动攻击是指攻击者对某个连接中的通过的PDU进行各种处理。如有选择地更改,删除,延迟这些PDU当然还包括记录和复制他们。还可在稍后的时间将以前录下的PDU插入这个连接即重放攻击。甚至还可将合成的或伪造的PDU送入到一个连接中去。所有主动攻击都是上述各种方法的某种组合。但从类型上来看,自动攻击又可进一步划分为三种,即(1)更改报文流包括对通过连接的PDU的真实性,完整性和有序性的攻击(2)拒绝报文服务指攻击者或者删除通过某一连接的所有PDU或者将对方或单方的所有PDU加以延迟,在2000年2月7日至9日美国的几个著名网站遭黑客袭击,使这些网站的服务器一直处于“忙“的状态,因而拒绝向发出请求的客户提供服务这种攻击方式被称为拒绝服务DOSDENIALOFSERVICE若从因特网上的成千上万的网站集中攻击一个网站,则称为分布式拒绝服务DDOSDISTRIBUTEDDENIALOFSERVICE。(3)伪造连接初始化攻击者重放以前被已被记录的合法连接初始化序列,或者伪造身份而企图建立连接还有一种特殊的主动攻击就是恶意程序的攻击,恶意程序种类繁多,对网络安全威胁叫大的主要有以下几种计算机病毒一种会“传染“其他程序的程序,“传染“是通过修改其他程序来把自身或其变种复制进去完成的计算机懦虫一种通过网络的通信功能将自身从一个结点发送到另一个结点并启动运行的程序特洛依木马一种程序,他执行的功能超出所声称的功能,如一个编译程序除了执行编译任务以外,还把用户的源程序偷偷地拷贝下来,则这种编译程序就是一个特诺衣木马,计算机病毒有时也以特诺衣木马的形式出现逻辑炸弹一种当运行环境满足某种特定条件时执行其他特殊功能的程序,如一个编译程序,平时运行的很好,但当系统时间为13日又为星期五时,它删去系统中所有的系统文件,这种程序就是一种逻辑炸弹。除了以上的几种威胁还有黑客侵袭,密码破解,系统漏洞,还有一些邮件,QQ炸弹等。这些都是表面已经被大家所熟悉的,而潜在的威胁也是不可忽视的,象千年虫就是一个很好的例子,一段时间不会构成威胁,谁也说不好他什么时候爆发,防范工作更是防不胜防。14威胁我国网络安全的4个因素目前我国的网络发展也是一日千里,威胁的种类也不断的在增加,随时可能出现新的病毒,这是不能预料的,但针对目前来看对我国的网络安全造成威胁主要有4个方面(1)网络的开放性是目标系统容易遭受攻击的固有弱点。互联网的灵魂是“开放与共享”,这就给黑客提供了攻击的便利。开放和安全在一定程度上相互矛盾,如果采取了太多的防范措施来保证安全,势必会大大降低信息交流的效率,从而伤害“开放与共享”的初衷。(2)很多网站的脆弱性是由软件引起的。大量的软件有漏洞,黑客就利用漏洞进行攻击。北京大学计算机科学系信息安全研究室主任陈钟教授说,软件漏洞是不可避免的。比如微软的“视窗”操作系统,推出前先要进行内部测试,之后发出几十万份进行外部测试,即便如此,在其正式版本中,仍然漏洞多多,它的操作系统和网络浏览器上,都发现过危害网络安全的漏洞。北京中联绿盟信息技术公司总经理沈继业也指出,很多网站自行开发的程序,为黑客攻击大开方便之门。某国内大型网上书店,其开发的用户接口程序没有有效的过滤,黑客可以从中输入指令,并因此破坏了其数据库。(3)一些公司为名誉起见,不积极追究黑客的法律责任。美国八大网站受到攻击,但并未使其比较敏感的客户资料泄露,因此在媒体上大炒而特炒;相反,一些公司被黑后损失更为严重惨重,反而无声无息。国内有些公司为保证客户对其的信任,不敢公布自己的损失,更不敢把黑客送上法庭,往往采取私了的方式,这种“姑息养奸”的做法就进一步助长了黑客的嚣张气焰。(4)目前关于网络犯罪的法律还不健全。互联网毕竟是新生事物,它对传统的法律提出了挑战。比如盗窃、删改他人系统信息属于犯罪行为,但仅仅是观看,既不进行破坏,也不谋取私利算不算犯罪还比如网上有很多BBS,黑客在上边讨论软件漏洞、攻击手段等,这既可以说是技术研究,也可以说是提供攻击工具,这又算不算犯罪呢更进一步说,提高网络安全技术水平的有效途径就是做黑客,以掌握网络漏洞。2网络协议因特网是一个发展非常活跃的领域。在1968年,它的早期研究成果开始崭露头角,后来便出现了它的前身ARPANET,ARPANET为表现因特网特性的试验平台做出了重大贡献,1973年,因特网正式面世。从那时起,关于因特网的研究和努力就一直没有间断过,其中大部分努力都是围绕着被称为网络的一个新型赛博空间所需要的标准而进行的。因特网协议及其标准与世界上任何其他事物的结构不同,它总是由一些机构或专业人士中的个人首先提出的。为了了解新的协议是如何出现并最终成为标准的,应该首先熟悉缩写词RFC,即REQUESTFORCOMMENT。它的发展变迁过程要追溯到1969年,起因是由于因特网的成员过于分散。正如这个词的字面意思所示,这些文档是一些实用文档、方法、测试结果、模型甚至完整的规范。因特网社会的成员可以阅读,也可以把意见反馈给RFC,如果这些想法(或基本原理)被社会接受,就有可能成为标准。在因特网社会中关于RFC的用法(MO)以及如何操作并没有太大的变化。1969年,当时只有一个网络,整个社会不超过一百位专业人员;随着因特网的飞速发展,因特网不但需要一个机构来集中和协调这些成果,并且需要制定一个最低要求的准则,至少能在成员之间进行有效的通信并取得相互了解。1974年前后,摆在ARPANET面前的形势很清晰了,通信联络需要进一步扩展,它需要的不仅是要能容纳成倍增加的通信媒体,而且要了解早已存在于群组中的许多领域的意义。这个领域需要一个管理者。大约在1977年,随着作为因特网实验备忘录(IEN)一部分的许多实验的进行,著名的TCP/IP协议获得了发展的动力。没过多久(1986年),为了RFC讨论的需要,需要建立一个由工程技术人员组成的、对标准的发展负责的工作机构,以便有效地引导因特网的发展成长,这样,因特网工程工作组(INENG)成立了。今天,因特网工程部(IETF)和因特网研究部(TRTF)成为对因特网近期工程需求和远期研究目标负责、并担负重任的两个工作组。这两个组织曾直接隶属于国际网络执行委员会(IAB),现在属于因特网协会(1992年成立),这个协会最终也是为因特网技术的发展负责的。但是,如果你是一个因特网上的常客,可能对缩略词IAB并不满意,的确,在IAB的逐步发展并走向成熟过程中,IAB将它的名字改为“INTERNETARCHITECTUREBOARD”(由“ACTIVITIES”改为“ARCHITECTURE”),因为IAB在因特网发展的运作方面并没起多大作用。谈到RFC标准,那么首先考虑到的应该是RFC733。如果有关于标准的想法或对因特网有益的新技术,可以把它作为RFC提交给因特网社会。作为IAB成员之一的RFC编辑,决定着RFC的发表,对任一正式文档,RFC都有一种确定的风格和格式。现今因特网上用到的主要协议有用户数据报协议(UDP),次要文件传输协议(TFTP),网际协议(IP),因特网控制报文协议ICMP,传输控制协议TCP,地址转换协议ARP,虚终端协议TELNET,反向地址转换协议RARP,外部网关协议EGP版本2,引导协议BOOTP,路由信息协议RIP,距离向量多播路由协议DVMRP。下面对每项协议做一些简单的介绍网际协议(IP)是广泛用于公司、政府部门和因特网上的网络协议。它支持许多个人、专业以及商业上的应用系统,像电子邮件、数据处理以及图像、声音的传输等。IP是一个无连接的数据报(报文)传输协议。用它来进行网上的寻址、路由选择以及对传输和接收数据报进行控制。每个数据报都包括源地址和目的地址、控制信息以及传向主机层或来自主机层的真实数据。IP数据报是进行网上(包括因特网)传送的基本单位。由于IP是一个无连接协议,所以它不需要定义一个与逻辑网络连接的关联路径。由于信息包是由路由器接收的,因此IP寻址信息常用来确定信息包到达其最终目的地址的最佳路由。这样,尽管IP没有关于数据路径用法的控制,但当一个资源不可用时,它能为数据报重选路由。用户数据报协议(UDP)为IP提供了一种不可靠、无连接的数据报传输服务。因此,此协议通常应用于面向事务的实用程序,如IP标准“简单网络管理协议(SNMP)”和“次要文件传输协议(TFTP)”。同下一节要讨论的TCP一样,UDP与IP协同工作用来传送报文到目的地址,并提供协议端口以区分运行于单个主机上的软件应用程序。然而,与TCP不同的是,UDP并不保证数据不丢失和不被复制,因此,如果要使数据传输可靠的话,一定要用TCP而不是UDP。传输控制协议(TCP)为IP提供了一种可靠的面向连接的传输层服务。由于它为非同类的计算机系统和网络之间提供了很高的互操作能力,TCP/IP得到了迅速发展,从而使它走出学术理论领域而进入市场。该协议通过使用一个握手方案,提供了一种在主机之间建立、维护和终止逻辑连接的机制。另外,TCP提供了协议端口,从而可以通过每个包含目的端口和源端口号的消息,辨别运行于单一设备上的多道程序。TCP还通过单一的网络连接对字节流、数据流的界定、数据确认、数据再传输以及多路复用的多重连接提供了可靠的传输。路由信息协议(RIP)是一个距离向量、内部网关协议(IGP),路由器用它来交换路由选择信息,通过RIP向终端站和路由器提供在不同网络进行动态选择最佳路径的信息。因特网控制报文协议(ICMP)是IP的一部分,其作用是处理错误报文和系统级报文,并将报文发送到纠错网关或主机。它用的是IP的基本支持,看上去好像是一个更高级的协议,但是,ICMP确实是IP不可分割的一部分,且IP的每一部分都必须执行它。控制报文的传送是在这么几种情况下,例如当数据报不能到达它的目的地时,或当网关转发数据报失败时(一般是由于没有足够的缓冲容量)。因特网组管理协议(IGMP)定义于RFC1112,它的形成是为了使多路访问网络上的主机能够命令具有它们群组成员信息的本地路由器,它是通过主机多播IGMP的主机成员报告来实现的。这些多播路由器侦听到这些信息后能够与其他多播路由器交换群组成员信息,这里允许形成分发树去传递多播数据报。边界网关协议版本4(BGP4)是一个能使处于不同自治系统中的路由器进行路由信息交换的外部网关协议。BGP4还提供了一系列机制以方便CIDR,这是因为它提供了广播一个任意长IP前缀的能力且由此消除了BGP中网络“类”的概念。BGP使用TCP以确保交互式自治系统的信息的传递。仅当拓扑结构发生变化时产生更新信息,且更新信息只包含变化了的那部分信息,这减少了网上的通信量,也降低了为了使路由器间的路由表保持一致所需的开销。地址转换协议(ARP)是一种从主机因特网地址获得其以太网地址的方法。发方广播一个含有另一个主机因特网地址的ARP数据包,并等待它送回其以太网地址。每个主机都持有一个地址转换高速缓存,以减少延迟和负载。ARP允许因特网地址独立于以太网地址,但只有当所有主机都支持它时才能工作。反向地址转换协议(RARP)提供了与前面所述的ARP相反的功能。RARP映像一硬件地址,也称为MAC地址,到一IP地址。RARP主要用于无盘节点,当其首次初始化时,用来查找它们的因特网地址,其功能与BOOTP很相似。简单网络管理协议(SNMP)用于管理IP网络上的节点。在IP安全因素中,某种程度上忽视了网络设备自身的保护。SNMPV2使得对网络设备的管理方法得到明显加强。但由于略有争议,SNMP的安全特性还有待于进一步完善。注意SNMPV2最初提出的一些方面的安全性被做成了可选择的,有的在1996年3月根据因特网标准从SNMPV2的描述中清除掉了。现在新的SNMPV2又有一个实验性安全协议被提出。尽管如此,SNMP仍是一个用于监视和控制IP路由器和连接网络的标准协议。这个面向事务的协议描述了SNMP管理者与代理之间结构化管理信息的传递。驻留于工作站上的SNMP管理者发出查询去收集路由器的状态、配置和执行信息网络时间协议(NTP)是一个建立在TCP/IP之上的协议,通过在因特网上参考无线电装置、原子时钟以及其他时钟,确保对本地时间的准确记录。此协议能在很长一段时间内使分布式时钟同步在毫秒级。动态主机配置协议(DHCP)是1994年末由MICROSOFT在35版本的NT服务器上所介绍的一个协议。这个协议提供了一种动态分配IP地址到IBMPC的一种方法,前提是这些PC上运行的是MICROSOFTWINDOWS并且处于局域网中。系统管理员分配一个IP地址范围给DHCP,且在LAN上的每一客户PC都配有各自的TCP/IP软件,这些软件的作用是从DHCP服务器请求一个IP地址请求和授权过程使用可控时间段租用的概念。3WINSOCK技术与监听原理31WINSOCK技术概述WINSOCK是为上层应用程序提供的一种标准网络接口。上层应用程序不用关心WINSOCK实现的细节,它为上层应用程序提供透明的服务。WINSOCK2是WINDOWSSOCKET的20版本。WINSOCK2引入的一个新功能就是打破服务提供者的透明,让开发者可以编写自己的服务提供者接口程序,即SPI程序。SPI以动态链接库(DLL)的形式存在,它工作的应用层,为上层API调用提供接口函数。WINSOCK2是一个接口,不是一个协议。作为接口,它只能发现和利用底层传输协议完成通信。下面对SOCK进行详细介绍SOCK套接字先看定义TYPEDEFUNSIGNEDINTU_INTTYPEDEFU_INTSOCKETSOCKET相当于进行网络通信两端的插座,只要对方的SOCKET和自己的SOCKET有通信联接,双方就可以发送和接收数据了。三种常用类型(1)流式套接字STREAMSOCKET定义DEFINESOCK_STREAM1流式套接字提供了双向、有序的、无重复的以及无记录边界的数据流服务,适合处理大量数据。它是面向联结的,必须建立数据传输链路,同时还必须对传输的数据进行验证,确保数据的准确性。因此,系统开销较大。(2)数据报套接字DATAGRAMSOCKET定义DEFINESOCK_DGRAM2数据报套接字也支持双向的数据流,但不保证传输数据的准确性,但保留了记录边界。由于数据报套接字是无联接的,例如广播时的联接,所以并不保证接收端是否正在侦听。数据报套接字传输效率比较高。(3)原始套接字RAWPROTOCOLINTERFACE定义DEFINESOCK_RAW3原始套接字保存了数据包中的完整IP头,前面两种套接字只能收到用户数据。因此可以通过原始套接字对数据进行分析。SOCKET开发所必须需要的文件以WINSOCKV20为例头文件WINSOCK2H库文件WS2_32LIB动态库W32_32DLL一些重要的定义(1)数据类型的基本定义这个大家一看就懂。TYPEDEFUNSIGNEDCHARU_CHARTYPEDEFUNSIGNEDSHORTU_SHORTTYPEDEFUNSIGNEDINTU_INTTYPEDEFUNSIGNEDLONGU_LONG(2)网络地址的数据结构旧的网络地址结构的定义,为一个4字节的联合STRUCTIN_ADDRUNIONSTRUCTU_CHARS_B1,S_B2,S_B3,S_B4S_UN_BSTRUCTU_SHORTS_W1,S_W2S_UN_WU_LONGS_ADDRS_UNDEFINES_ADDRS_UNS_ADDR/CANBEUSEDFORMOSTTCP新的网络地址结构的定义非常简单,就是一个无符号长整数UNSIGNEDLONG。举个例子IP地址为127001的网络地址是什么呢请看定义DEFINEINADDR_LOOPBACK0X7F000001(3)套接字地址结构1、SOCKADDR结构STRUCTSOCKADDRU_SHORTSA_FAMILY/ADDRESSFAMILY/CHARSA_DATA14/UPTO14BYTESOFDIRECTADDRESS/SA_FAMILY为网络地址类型,一般为AF_INET,表示该SOCKET在INTERNET域中进行通信,该地址结构随选择的协议的不同而变化,因此一般情况下另一个与该地址结构大小相同的SOCKADDR_IN结构更为常用,SOCKADDR_IN结构用来标识TCP/IP协议下的地址。换句话说,这个结构是通用SOCKET地址结构,而下面的SOCKADDR_IN是专门针对INTERNET域的SOCKET地址结构。SOCKADDR_IN结构STRUCTSOCKADDR_INSHORTSIN_FAMILYU_SHORTSIN_PORTSTRUCTIN_ADDRSIN_ADDRCHARSIN_ZERO8SIN_FAMILY为网络地址类型,必须设定为AF_INET。SIN_PORT为服务端口,注意不要使用已固定的服务端口,如HTTP的端口80等。如果端口设置为0,则系统会自动分配一个唯一端口。SIN_ADDR为一个UNSIGNEDLONG的IP地址。SIN_ZERO为填充字段,纯粹用来保证结构的大小。将常用的用点分开的IP地址转换为UNSIGNEDLONG类型的IP地址的函数UNSIGNEDLONGINET_ADDRCONSTCHARFARCP用法UNSIGNEDLONGADDRINET_ADDR“1921884“如果将SIN_ADDR设置为INADDR_ANY,则表示所有的IP地址,也即所有的计算机。DEFINEINADDR_ANYU_LONG0X00000000(4)主机地址先看定义STRUCTHOSTENTCHARFARH_NAME/OFFICIALNAMEOFHOST/CHARFARFARH_ALIASES/ALIASLIST/SHORTH_ADDRTYPE/HOSTADDRESSTYPE/SHORTH_LENGTH/LENGTHOFADDRESS/CHARFARFARH_ADDR_LIST/LISTOFADDRESSES/DEFINEH_ADDRH_ADDR_LIST0/ADDRESS,FORBACKWARDCOMPAT/H_NAME为主机名字。H_ALIASES为主机别名列表。H_ADDRTYPE为地址类型。H_LENGTH为地址类型。H_ADDR_LIST为IP地址,如果该主机有多个网卡,就包括地址的列表。另外还有几个类似的结构,这里就不一一介绍了。(5)常见TCP/IP协议的定义DEFINEIPPROTO_IP0DEFINEIPPROTO_ICMP1DEFINEIPPROTO_IGMP2DEFINEIPPROTO_TCP6DEFINEIPPROTO_UDP17DEFINEIPPROTO_RAW25532局域网与以太网监听原理(1)什么是网络监听网络监听是黑客们常用的一种方法。当成功地登录进一台网络上的主机,并取得了这台主机的超级用户的权限之后,往往要扩大战果,尝试登录或者夺取网络中其他主机的控制友。而网络监听则是一种最简单而且最有效的方法,它常常能轻易地获得用其他方法很难获得的信息。在网络上,监听效果最好的地方是在网关、路由器、防火墙一类的设备处,通常由网络管理员来操作。使用最方便的是在一个以太网中的任何一台上网的主机上,这是大多数黑客的做法。(2)局域网监听的基本原理根据IEEE的描述,局域网技术是“把分散在一个建筑物或相邻几个建筑物中的计算机、终端、大容量存储器的外围设备、控制器、显示器、以及为连接其它网络而使用的网络连接器等相互连接起来,以很高的速度进行通讯的手段。局域网具有设备共享、信息共享、可进行高速数据通讯和多媒体信息通信、分布式处理、具有较高的兼容性和安全性等基本功能和特点。目前局域网主要用于办公室自动化和校园教学及管理,一般可根据具体情况采用总线形、环形、树形及星形的拓扑结构。对于目前很流行的以太网协议,其工作方式是将要发送的数据包发往连接在一起的所有主机,包中包含着应该接收数据包主机的正确地址,只有与数据包中目标地址一致的那台主机才能接收。但是,当主机工作监听模式下,无论数据包中的目标地址是什么,主机都将接收(当然只能监听经过自己网络接口的那些包)。在因特网上有很多使用以太网协议的局域网,许多主机通过电缆、集线器连在一起。当同一网络中的两台主机通信的时候,源主机将写有目的的主机地址的数据包直接发向目的主机。但这种数据包不能在IP层直接发送,必须从TCP/IP协议的IP层交给网络接口,也就是数据链路层,而网络接口是不会识别IP地址的,因此在网络接口数据包又增加了一部分以太帧头的信息。在帧头中有两个域,分别为只有网络接口才能识别的源主机和目的主机的物理地址,这是一个与IP地址相对应的48位的地址。传输数据时,包含物理地址的帧从网络接口(网卡)发送到物理的线路上,如果局域网是由一条粗缆或细缆连接而成,则数字信号在电缆上传输,能够到达线路上的每一台主机。当使用集线器时,由集线器再发向连接在集线器上的每一条线路,数字信号也能到达连接在集线器上的每一台主机。当数字信号到达一台主机的网络接口时,正常情况下,网络接口读入数据帧,进行检查,如果数据帧中携带的物理地址是自己的或者是广播地址,则将数据帧交给上层协议软件,也就是IP层软件,否则就将这个帧丢弃。对于每一个到达网络接口的数据帧,都要进行这个过程。然而,当主机工作在监听模式下,所有的数据帧都将被交给上层协议软件处理。而且,当连接在同一条电缆或集线器上的主机被逻辑地分为几个子网时,如果一台主机处于监听模式下,它还能接收到发向与自己不在同一子网(使用了不同的掩码、IP地址和网关)的主机的数据包。也就是说,在同一条物理信道上传输的所有信息都可以被接收到。另外,现在网络中使用的大部分协议都是很早设计的,许多协议的实现都是基于一种非常友好的、通信的双方充分信任的基础之上,许多信息以明文发送。因此,如果用户的账户名和口令等信息也以明文的方式在网上传输,而此时一个黑客或网络攻击者正在进行网络监听,只要具有初步的网络和TCP/IP协议知识,便能轻易地从监听到的信息中提取出感兴趣的部分。同理,正确的使用网络监听技术也可以发现入侵并对入侵者进行追踪定位,在对网络犯罪进行侦查取证时获取有关犯罪行为的重要信息,成为打击网络犯罪的有力手段。(3)以太网中监听原理在电话线路和无线电、微波中监听传输的信息比较好理解,但是人们常常不太理解为什么局域网中可以进行监听。甚至有人问能不能监听不在同一网段的信息。下面就讲述在以太网中进行监听的一些原理。在令牌环中,道理是相似的。对于一个施行网络攻击的人来说,能攻破网关、路由器、防火墙的情况极为少见,在这里完全可以由安全管理员安装一些设备,对网络进行监控,或者使用一些专门的设备,运行专门的监听软件,并防止任何非法访关。然而,潜入一台不引人注意的计算机中,悄悄地运行一个监听程序,一个黑客是完全可以做到的。监听是非常消耗CPU资源的,在一个担负繁忙任务的计算机中进行监听,可以立即被管理员发现。4SNIFFER41SNIFFER概述以太网SNIFFING是指对以太网设备上传送的数据包进行侦听,发现感兴趣的包。如果发现符合条件的包,就把它存到一个LOG文件中去。通常设置的这些条件是包含字“USERNAME“或“PASSWORD“的包。它的目的是将网络层放到PROMISCUOUS模式,从而能干些事情。PROMISCUOUS模式是指网络上的所有设备都对总线上传送的数据进行侦听,并不仅仅是它们自己的数据。根据第二章中有关对以太网的工作原理的基本介绍,可以知道一个设备要向某一目标发送数据时,它是对以太网进行广播的。一个连到以太网总线上的设备在任何时间里都在接受数据。不过只是将属于自己的数据传给该计算机上的应用程序。利用这一点,可以将一台计算机的网络连接设置为接受所有以太网总线上的数据,从而实现SNIFFER。SNIFFER通常运行在路由器,或有路由器功能的主机上。这样就能对大量的数据进行监控。SNIFFER属第二层次的攻击。通常是攻击者已经进入了目标系统,然后使用SNIFFER这种攻击手段,以便得到更多的信息。SNIFFER除了能得到口令或用户名外,还能得到更多的其他信息,比如一个其他重要的信息,在网上传送的金融信息等等。SNIFFER几乎能得到任何以太网上的传送的数据包。SNIFFERS嗅探器几乎和INTERNET有一样悠久的历史了。他们是最早的一个允许系统管理员分析网络和查明哪里有错误发生的工具。不幸的是CRACKERS也会运行SNIFFERS以暗中监视你的网络状况和窃走不同种类的数据。在单选性网络中,以太网结构广播至网路上所有的机器,但是只有预定接受信息包的那台计算机才会响应。不过网路上其他的计算机同样会“看到“这个信息包,但是如果他们不是预定的接受者,他们会排除这个信息包。当一台计算机上运行着SNIFFER的时候并且网络处于监听所有信息交通的状态,那么这台计算机就有能力浏览所有的在网络上通过的信息包。如果你是个INTERNET历史方面的白痴并且在想SNIFFER这个词从何而来。SNIFFER是最初是网络的产物然后成为市场销售的领先者,人们开始称所有的网络分析器为“SNIFFERS“。我猜测这些人是和管棉签叫QTIP的人一样的。LAN/WAN管理员使用SNIFFERS来分析网络信息交通并且找出网络上何处发生问题。一个安全管理员可以同时用多种SNIFFERS,将它们放置在网络的各处,形成一个入侵警报系统。对于系统管理员来说SNIFFERS是一个非常好的工具,但是它同样是一个经常被HACKERS使用的工具。CRACKERS安装SNIFFER以获得用户名和账号,信用卡号码,个人信息,和其他的信息可以导致对你或是你的公司的极大危害如果向坏的方面发展。当它们得到这些信息后,CRACKERS将使用密码来进攻其他的INTERNET站点甚至倒卖信用卡号码。我比较倾向于SNOOPSNOOP是按SOLARIS的标准制作的,虽然SNOOP不像是SNIFFERPRO那样好,但是它是一个可定制性非常强的SNIFFER,在加上它是免费的和SOLARIS附一起。谁能打败它的地位你可以在极短时间内抓获一个信息包或是更加深的分析。42怎样防范SNIFFER显而易见的,保护网络不受SNIFFER监听的方法就是不要让它们进入。如果一个CRACKER不能通过你的系统进入的话,那么他们无法安装SNIFFERS我们是有可能防止这个的。但是从发现空前数目的安全漏洞并且大多数公司并没有足够能力来修复以来,CRACKERS开始利用漏洞并安装SNIFFERS。自从CRACKERS看上一个大多数网络通讯流通的中心区域防火墙或是代理服务器时,他们便确定这是他们的攻击目标并将被监视。一些可能的“受害者“在服务器的旁边,这时候个人信息将被截获WEBSERVER,SMTPSEVER一个好的方式来保护你的网络不受SNIFFER监视是将网络用以太网接线器代替普通的集线器分成尽可能多的段。接线器可以分割你的网络通讯并防止每一个系统“看到“每个信息包但是这个解决方法的缺点就是太费钱。这种接线器是普通集线器价钱的两至三倍,但是它值这么多。另一个方法是,和那种接线器比就是加密术SNIFFER依然可以监视到信息的传送,但是显示的是乱码。一些加密术的缺点是速度问题和使用一个弱加密术比较容易被攻破几乎所有的加密技术将导致网络的延迟。加密术越强,网络沟通速度就越慢。系统管理员和用户需要在某个地方折中一下。虽然大多数的系统管理员愿意使用市场上最好的加密术,但是世界上没有一个地方的网络安全用品制造商看起来获益很多。希望近期能有新的加密术,AES高级加密标准,将提供更好的加密术和透明度给用户以让每个人都开心。有一些加密总是比没有加密要好的多。如果一个CRAKCER正在你的网络上运行SNIFFER并发现所有他/她收集的资料都是乱码,那么大多数会转移到其他的没有使用加密术的站点上但是一份支票或是一个决心,HACKER将会破解一个弱加密术标准所以要变的聪明和提供一个强有力的加密术。1999年,在L0PHTHEAVYINDUSTRIES的兄弟发布了一个名为ANTISNIFF的软件。它可以扫描你的网路并测试一台计算机是否运行在混杂模式监听网路上每个数据包。这是一个很有用的工具因为如果你的网路上有SNIFFER,那么10次有9次,系统会被危及安全。这曾经发生在COMPUTERSCIENCEDEPARTMENTATCALIFORNIASTATEUNIVERSITYSTANISLAUS这里是他们贴在网站上的“一个SNIFFER程序被发现运行在COMPUTERSCIENCE网路SNIFFER程序是被用来截获密码的。为了保护我们自己,请更换你的密码。最好用特殊的符号并大于8位的密码“我确定一定有几百个相似的帖子在世界各地被发布但并不被公开。ANTISNIFF也帮助你找到那些运行SNIFFER来寻找本地网路上错误的,但却忘了要求授权的系统管理员。如果你需要运行一个SNIFFER,那么你应当先得到准许。如果安全系统管理员正在运行ANTISNIFF并发现你正在运行一个SNIFFER,那么你要解释为什么你没有获得准许就运行SNIFFER。希望你的安全方针包括关于SNIFFERS的部分并提供一些运行SNIFFERS的指导。写的同时,ANTISNIFF1021版本是现在的版本。一个非常好的GUI有效于WIN95/98/NT机器。一个命令行译本同样适用于SOLARIS,OPENBSD和LINUX。这个版本的ANTISNIFF只在单选性线路环境下运行如果你的网路是又路由器和接线器组成的,那么ANTISNIFF不具备和在单选性网路上的效用。你只能将它用在本地网络而不能通过路由和接线器。根据L0PHT的网站来看,下一个版本的ANTISNIFF将有能力通过路由和接线器判断一台计算机是否处于混杂状态。下一个版本的ANTISNIFF将对系统管理员十分有益因为集线器的价格正在下降并且大多数公司将提升到100M的速度CRACKER依然可以安装SNIFFERS,不同的是,你已经消除了他们获取数据包的能力了。要防止SNIFFER并不困难,有许多可以选用的方法。但关键是都要有开销。所以问题在于你是否舍得开销。你最关心的可能是传输一些比较敏感的数据,如用户ID或口令等等。有些数据是没有经过处理的,一旦被SNIFFER,就能获得这些信息。解决这些问题的办法是加密。(1)加密我们介绍以下SSH,它又叫SECURESHELL。SSH是一个在应用程序中提供安全通信的协议。它是建立在客户机/服务器模型上的。SSH服务器的分配的端口是22。连接是通过使用一种来自RSA的算法建立的。在授权完成后,接下来的通信数据是用IDEA技术来加密的。这通常是较强的,适合与任何非秘密和非经典的通讯。SSH后来发展成为FSSH,提供了高层次的,军方级别的对通信过程的加密。它为通过TCP/IP网络通信提供了通用的最强的加密。如果某个站点使用FSSH,用户名和口令成为不是很重要的一点。目前,还没有人突破过这种加密方法。即使是SNIFFER,收集到的信息将不再有价值。当然最关键的是怎样使用它。SSH和FSSH都有商业或自由软件版本存在。(2)比较容易接受的是使用安全拓扑结构。这听上去很简单,但实现是很花钱的。玩过一种智力游戏吗,它通常有一系列数字组成。游戏的目的是要安排好数字,用最少的步骤,把它们按递减顺序排好。当处理网络拓扑时,就和这个游戏一样。下面是一些规则一个网络段必须有足够的理由才能信任另一网络段。网络段应该考虑你的数据之间的信任关系上来设计,而不是硬件需要。这就建立了,让我们来看看。第一点一个网络段是仅由能互相信任的计算机组成的。通常它们在同一个房间里,或在同一个办公室里。比如你的财务信息,应该固定在建筑的一部分。注意每台机器是通过硬连接线接到HUB的。HUB再接到交换机上。由于网络分段了,数据包只能在这个网段上别SNIFFER。其余的网段将不可能被SNIFFER。所有的问题都归结到信任上面。计算机为了和其他计算机进行通信,它就必须信任那台计算机。作为系统管理员,你的工作是决定一个方法,使得计算机之间的信任关系很小。这样,就建立了一种框架,你告诉你什么时候放置了一个SNIFFER,它放在那里了,是谁放的等等。如果你的局域网要和INTERNET相连,仅仅使用防火墙是不够的。入侵者已经能从一个防火墙后面扫描,并探测正在运行的服务。你要关心的是一旦入侵者进入系统,他能得到些什么。你必须考虑一条这样的路径,即信任关系有多长。举个例子,假设你的WEB服务器对某一计算机A是信任的。那么有多少计算机是A信任的呢。又有多少计算机是受这些计算机信任的呢用一句话,就是确定最小信任关系的那台计算机。在信任关系中,这台计算机之前的任何一台计算机都可能对你的计算机进行攻击,并成功。你的任务就是保证一旦出现的SNIFFER,它只对最小范围有效。SNIFFER往往是攻击者在侵入系统后使用的,用来收集有用的信息。因此,防止系统被突破是关键。系统安全管理员要定期的对所管理的网络进行安全测试,

温馨提示

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

评论

0/150

提交评论