毕业论文 基于局域网ip包分析的软件的开发.doc

上传人:椰子壳 文档编号:3940542 上传时间:2019-10-10 格式:DOC 页数:40 大小:302.02KB
返回 下载 相关 举报
毕业论文 基于局域网ip包分析的软件的开发.doc_第1页
第1页 / 共40页
毕业论文 基于局域网ip包分析的软件的开发.doc_第2页
第2页 / 共40页
毕业论文 基于局域网ip包分析的软件的开发.doc_第3页
第3页 / 共40页
毕业论文 基于局域网ip包分析的软件的开发.doc_第4页
第4页 / 共40页
毕业论文 基于局域网ip包分析的软件的开发.doc_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《毕业论文 基于局域网ip包分析的软件的开发.doc》由会员分享,可在线阅读,更多相关《毕业论文 基于局域网ip包分析的软件的开发.doc(40页珍藏版)》请在三一文库上搜索。

1、基于局域网IP包分析的软件的开发摘 要本文主要阐述了目前网络安全的现状、缺陷、面临的威胁,提出了相应的防范措施,并介绍了网络的常用协议。然后又介绍了WINSOCK技术和监听原理,并对最广泛的监听工具sniffer做了简单的概述。基于当前网络很多威胁都是来自与自己电脑的漏洞与自己不能够清楚的察觉到自己电脑是否正在被侵犯,虽然防火墙可以提供帮助,但它不能对低层的东西显示给大家。本文主要研究的是对局域网的数据包监听并分析,采用WINSOCK技术实现的。在此工具中主要有监听和IP数据包分析,同时可以设置规则屏蔽数据通过3大主要功能,并能通过窗体清楚的显示出来。它使人们可以每时每刻观察到进入自己电脑的数

2、据包,并能够观察到进行数据交流时对方的IP地址和所开放的端口号,及时对信息明朗化,预防和防止黑客端口的监听。关键词: 监听工具 winsock技术 IP数据包 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 the daily agreement of the

3、 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 computer is being infringe

4、d 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 great main functions with

5、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 data , clear to informat

6、ion in time, prevent the monitoring of black ports.Key words: monitor tool winsock technology ip data pack 目 录摘 要IIAbstractIII目 录IV引 言11 网络安全面临的威胁21.1 什么是网络安全21.2 网络安全隐患与威胁21.3 几种常见的威胁类型41.4 威胁我国网络安全的4个因素52 网络协议73 WINSOCK技术与监听原理113.1 WINSOCK技术概述113.2 局域网与以太网监听原理144 sniffer174.1 sniffer概述174.2 怎样防范sn

7、iffer185基于WINSOCK技术捕获IP包工具的 设计与实现225.1 系统概述225.2 系统概要设计225.3 系统主要功能介绍245.4 实例分析285.5 数据包首部解析295.6 指定IP和端口的数据包的屏蔽30结 论34参考文献36附 录37谢 辞4137引 言网络安全正在日益受到广大的计算机用户的关注,特别是“9.11“事件的影响让我们对网络的安全有了更深一层的认识。 在Internet上有一批熟谙网络技术的人,其中不乏网络天才,他们经常利用网络上现存的一些漏洞,想方设法进入他人的计算机系统。有些人只是为了一饱眼福,或纯粹出于个人兴趣,喜欢探人隐私,这些人通常不会造成危害。

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

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

10、的威胁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

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

24、解。1 9 7 4年前后,摆在A R 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)和因特网研究部

25、( T RT F)成为对因特网近期工程需求和远期研究目标负责、并担负重任的两个工作组。这两个组织曾直接隶属于国际网络执行委员会(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标准

26、,那么首先考虑到的应该是RFC 733。如果有关于标准的想法或对因特网有益的新技术,可以把它作为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

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

28、由器接收的,因此I P寻址信息常用来确定信息包到达其最终目的地址的最佳路由。这样,尽管I P没有关于数据路径用法的控制,但当一个资源不可用时,它能为数据报重选路由。用户数据报协议( 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并不保证数据不丢失和不被复制,因此,如果要使

29、数据传输可靠的话,一定要用T C P而不是U D P。传输控制协议(T C P):为I P提供了一种可靠的面向连接的传输层服务。由于它为非同类的计算机系统和网络之间提供了很高的互操作能力, T C P / I P得到了迅速发展,从而使它走出学术理论领域而进入市场。该协议通过使用一个握手方案,提供了一种在主机之间建立、维护和终止逻辑连接的机制。另外, T C P提供了协议端口,从而可以通过每个包含目的端口和源端口号的消息,辨别运行于单一设备上的多道程序。T C P还通过单一的网络连接对字节流、数据流的界定、数据确认、数据再传输以及多路复用的多重连接提供了可靠的传输。路由信息协议(R I P):是

30、一个距离向量、内部网关协议( I G P),路由器用它来交换路由选择信息,通过R I P向终端站和路由器提供在不同网络进行动态选择最佳路径的信息。因特网控制报文协议( I C M P):是I P的一部分,其作用是处理错误报文和系统级报文,并将报文发送到纠错网关或主机。它用的是I P的基本支持,看上去好像是一个更高级的协议,但是, I C M P确实是I P不可分割的一部分,且I P的每一部分都必须执行它。控制报文的传送是在这么几种情况下,例如:当数据报不能到达它的目的地时,或当网关转发数据报失败时(一般是由于没有足够的缓冲容量)。因特网组管理协议( I G M P):定义于RFC 111 2,

31、它的形成是为了使多路访问网络上的主机能够命令具有它们群组成员信息的本地路由器,它是通过主机多播I G M P的主机成员报告来实现的。这些多播路由器侦听到这些信息后能够与其他多播路由器交换群组成员信息,这里允许形成分发树去传递多播数据报。边界网关协议版本4(B G P - 4):是一个能使处于不同自治系统中的路由器进行路由信息交换的外部网关协议。B G P - 4还提供了一系列机制以方便C I D R,这是因为它提供了广播一个任意长I P前缀的能力且由此消除了B G P中网络“类”的概念。B G P使用T C P以确保交互式自治系统的信息的传递。仅当拓扑结构发生变化时产生更新信息,且更新信息只包

32、含变化了的那部分信息,这减少了网上的通信量,也降低了为了使路由器间的路由表保持一致所需的开销。地址转换协议( A R P):是一种从主机因特网地址获得其以太网地址的方法。发方广播一个含有另一个主机因特网地址的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主要用于无盘节点,当其首次初始化时,用来查找它们的因特网

33、地址,其功能与B O O T P很相似。简单网络管理协议( S N M P):用于管理I P网络上的节点。在I P安全因素中,某种程度上忽视了网络设备自身的保护。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路由器和连接网络的标准协议。这个面向事务的协议描述

34、了S N M P管理者与代理之间结构化管理信息的传递。驻留于工作站上的S N M P管理者发出查询去收集路由器的状态、配置和执行信息网络时间协议( N T 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

35、 o w s并且处于局域网中。系统管理员分配一个I P地址范围给D H C P,且在L A N上的每一客户P C都配有各自的T C P / I P软件,这些软件的作用是从D H C P服务器请求一个I P地址请求和授权过程使用可控时间段租用的概念。3 WINSOCK技术与监听原理3.1 WINSOCK技术概述Winsock是为上层应用程序提供的一种标准网络接口。上层应用程序不用关心Winsock实现的细节,它为上层应用程序提供透明的服务。Winsock2是Windows Socket的2.0版本。Winsock2引入的一个新功能就是打破服务提供者的透明,让开发者可以编写自己的服务提供者接口程序

36、,即SPI程序。SPI以动态链接库(DLL)的形式存在,它工作的应用层,为上层API调用提供接口函数。Winsock2是一个接口,不是一个协议。作为接口,它只能发现和利用底层传输协议完成通信。下面对sock进行详细介绍:SOCK(套接字)先看定义:typedef unsigned int u_int;typedef u_int SOCKET;Socket相当于进行网络通信两端的插座,只要对方的Socket和自己的Socket有通信联接,双方就可以发送和接收数据了。三种常用类型(1)流式套接字(stream socket)定义:#define SOCK_STREAM 1 流式套接字提供了双向、有

37、序的、无重复的以及无记录边界的数据流服务,适合处理大量数据。它是面向联结的,必须建立数据传输链路,同时还必须对传输的数据进行验证,确保数据的准确性。因此,系统开销较大。(2)数据报套接字(datagram socket)定义:#define SOCK_DGRAM 2 数据报套接字也支持双向的数据流,但不保证传输数据的准确性,但保留了记录边界。由于数据报套接字是无联接的,例如广播时的联接,所以并不保证接收端是否正在侦听。数据报套接字传输效率比较高。(3)原始套接字(raw-protocol interface)定义:#define SOCK_RAW 3 原始套接字保存了数据包中的完整IP头,前面

38、两种套接字只能收到用户数据。因此可以通过原始套接字对数据进行分析。Socket开发所必须需要的文件(以WinSock V2.0为例):头文件:Winsock2.h库文件:WS2_32.LIB动态库:W32_32.DLL一些重要的定义(1)数据类型的基本定义:这个大家一看就懂。typedef unsigned char u_char;typedef unsigned short u_short;typedef unsigned int u_int;typedef unsigned long u_long;(2)网络地址的数据结构 旧的网络地址结构的定义,为一个4字节的联合:struct in_a

39、ddr 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 be used for most tcp & ip code */下面几行省略,反正没什么用处。; 新的网络地址结构的定义:非常简单,就是一个无符号长整数 unsigned long。举个例子:IP地址为127.0.0.1的网络地址是什么呢?请看定义:#define INADDR_LOOPBACK 0x7f000001(

40、3)套接字地址结构(1)、sockaddr结构:struct sockaddr u_short sa_family; /* address family */char sa_data14; /* up to 14 bytes of direct address */;sa_family为网络地址类型,一般为AF_INET,表示该socket在Internet域中进行通信,该地址结构随选择的协议的不同而变化,因此一般情况下另一个与该地址结构大小相同的sockaddr_in结构更为常用,sockaddr_in结构用来标识TCP/IP协议下的地址。换句话说,这个结构是通用socket地址结构,而下面

41、的sockaddr_in是专门针对Internet域的socket地址结构。sockaddr_in结构struct sockaddr_in short sin_family;u_short sin_port;struct in_addr sin_addr;char sin_zero8;sin _family为网络地址类型,必须设定为AF_INET。sin_port为服务端口,注意不要使用已固定的服务端口,如HTTP的端口80等。如果端口设置为0,则系统会自动分配一个唯一端口。sin_addr为一个unsigned long的IP地址。sin_zero为填充字段,纯粹用来保证结构的大小。 将常用

42、的用点分开的IP地址转换为unsigned long类型的IP地址的函数:unsigned long inet_addr(const char FAR * cp )用法:unsigned long addr=inet_addr(192.1.8.84) 如果将sin_addr设置为INADDR_ANY,则表示所有的IP地址,也即所有的计算机。#define INADDR_ANY (u_long)0x00000000(4)主机地址:先看定义:struct hostent char FAR * h_name; /* official name of host */char FAR * FAR * h

43、_aliases; /* alias list */short h_addrtype; /* host address type */short h_length; /* length of address */char FAR * FAR * h_addr_list; /* list of addresses */#define h_addr h_addr_list0 /* address, for backward compat */;h_name为主机名字。h_aliases为主机别名列表。h_addrtype为地址类型。h_length为地址类型。h_addr_list为IP地址,如果

44、该主机有多个网卡,就包括地址的列表。另外还有几个类似的结构,这里就不一一介绍了。(5)常见TCP/IP协议的定义:#define IPPROTO_IP 0 #define IPPROTO_ICMP 1 #define IPPROTO_IGMP 2 #define IPPROTO_TCP 6 #define IPPROTO_UDP 17 #define IPPROTO_RAW 2553.2 局域网与以太网监听原理(1)什么是网络监听 网络监听是黑客们常用的一种方法。当成功地登录进一台网络上的主机,并取得了这台主机的超级用户的权限之后,往往要扩大战果,尝试登录或者夺取网络中其他主机的控制友。而网络

45、监听则是一种最简单而且最有效的方法,它常常能轻易地获得用其他方法很难获得的信息。 在网络上,监听效果最好的地方是在网关、路由器、防火墙一类的设备处,通常由网络管理员来操作。使用最方便的是在一个以太网中的任何一台上网的主机上,这是大多数黑客的做法。(2)局域网监听的基本原理 根据IEEE的描述,局域网技术是把分散在一个建筑物或相邻几个建筑物中的计算机、终端、大容量存储器的外围设备、控制器、显示器、以及为连接其它网络而使用的网络连接器等相互连接起来,以很高的速度进行通讯的手段。 局域网具有设备共享、信息共享、可进行高速数据通讯和多媒体信息通信、分布式处理、具有较高的兼容性和安全性等基本功能和特点。

46、目前局域网主要用于办公室自动化和校园教学及管理,一般可根据具体情况采用总线形、环形、树形及星形的拓扑结构。对于目前很流行的以太网协议,其工作方式是:将要发送的数据包发往连接在一起的所有主机,包中包含着应该接收数据包主机的正确地址,只有与数据包中目标地址一致的那台主机才能接收。但是,当主机工作监听模式下,无论数据包中的目标地址是什么,主机都将接收(当然只能监听经过自己网络接口的那些包)。 在因特网上有很多使用以太网协议的局域网,许多主机通过电缆、集线器连在一起。当同一网络中的两台主机通信的时候,源主机将写有目的的主机地址的数据包直接发向目的主机。但这种数据包不能在IP层直接发送,必须从TCP/I

47、P协议的IP层交给网络接口,也就是数据链路层,而网络接口是不会识别IP地址的,因此在网络接口数据包又增加了一部分以太帧头的信息。在帧头中有两个域,分别为只有网络接口才能识别的源主机和目的主机的物理地址,这是一个与IP地址相对应的48位的地址。 传输数据时,包含物理地址的帧从网络接口(网卡)发送到物理的线路上,如果局域网是由一条粗缆或细缆连接而成,则数字信号在电缆上传输,能够到达线路上的每一台主机。当使用集线器时,由集线器再发向连接在集线器上的每一条线路,数字信号也能到达连接在集线器上的每一台主机。当数字信号到达一台主机的网络接口时,正常情况下,网络接口读入数据帧,进行检查,如果数据帧中携带的物

48、理地址是自己的或者是广播地址,则将数据帧交给上层协议软件,也就是IP层软件,否则就将这个帧丢弃。对于每一个到达网络接口的数据帧,都要进行这个过程。 然而,当主机工作在监听模式下,所有的数据帧都将被交给上层协议软件处理。而且,当连接在同一条电缆或集线器上的主机被逻辑地分为几个子网时,如果一台主机处于监听模式下,它还能接收到发向与自己不在同一子网(使用了不同的掩码、IP地址和网关)的主机的数据包。也就是说,在同一条物理信道上传输的所有信息都可以被接收到。另外,现在网络中使用的大部分协议都是很早设计的,许多协议的实现都是基于一种非常友好的、通信的双方充分信任的基础之上,许多信息以明文发送。因此,如果用户的账户名和口令等信息也以明文的

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1