




已阅读5页,还剩50页未读, 继续免费阅读
(计算机软件与理论专业论文)基于web应用系统的行为监控方法的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武汉科技大学 研究生学位论文创新性声明 i i i i i iii i i i i 1i iii ii i i i i i y 17 3 9 6 2 2 本人郑重声明:所呈交的学位论文是本人在导师指导下,独立进行研究 所取得的成果。除了文中已经注明引用的内容或属合作研究共同完成的工作 外,本论文不包含任何其他个人或集体已经发表或撰写过的作品成果。对本 文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 论文作者签名:鱼堑犟一日期:到垡咖 研究生学位论文版权使用授权书 本论文的研究成果归武汉科技大学所有,其研究内容不得以其它单位的 名义发表。本人完全了解武汉科技大学有关保留、使用学位论文的规定,同 意学校保留并向有关部门( 按照武汉科技大学关于研究生学位论文收录工作 的规定执行) 送交论文的复印件和电子版本,允许论文被查阅和借阅,同意 学校将本论文的全部或部分内容编入有关数据库进行检索。 论文作者签名: 鱼塑仑 指导教师签名:缝婴 日 期:j 必阻 武汉科技大学硕士学位论文第l 页 摘要 随着互联网应用的快速发展,政府和企业等单位办公越来越依赖基于网络的应用系 统,为了给众企事业单位营造安全和谐健康的网络环境,计算机应用系统的网络安全技术 显得格外重要。美国联邦调查局互联网犯罪投诉中心的研究调查表明,8 0 以上最严重的 损失是由内网安全问题引发的,因此,对保障内网安全问题的研究具有非常重大的意义。 防火墙、入侵检测系统等边界安全系统可以很好的保障网络的外部安全,但是不能有 效地处理内网的安全问题,诸如对信息窃取、越权访问资源等问题则无能为力。针对这一 问题,本文提出了一种基于w e b 应用系统的行为监控方法。基于该方法设计并实现了一 个用户上网行为监控系统。该系统基于客户端服务器端( c s ) 模式进行设计,使用了一种 结合u r l 过滤技术和b h o 监控技术的方法来实现,可以监控用户通过i i l t e m e te x p l o r 盯 浏览器上网的网络行为,除此之外,还可以过滤掉不安全的网址,协助管理员构造和谐健 康的网络环境。 系统实现采用了多线程技术提高对系统资源的利用率,使用d e s 加密、开机自动启 动、进程保护等安全策略来保障系统的安全性。实验表明,系统可以较好的过滤不良网站, 同时,通过在自定义的浏览器中直观的回放用户的上网监控记录,管理员可以及时发现并 阻止攻击行为。本文实现的系统具有较好的使用价值和推广意义。 关键词:内网安全;u r l 过滤;上网行为监控;b h o ;线程池 第1 i 页武汉科技大学硕士学位论文 a b s t r a c t w i t ht h er a p i dd e v e l o p m e n to fi n t e r n e tt e c h n o l o g i e s ,g o v e r m n e n t sa n de n t e r p r i s e sr e l y i n c r e a s i n g l yo nw e b b a s e da p p l i c a t i o n sf o rh e l p i no r d e rt ob u i l d as a f ea n dh a r m o n i o u s n e t w o r ke n v i r o n m e n t , s e c u r i t yt e c h n o l o g i e sf o rw e b - b a s e da p p l i c a t i o n sa r ev e r yi m p o r t a n t a c c o r d i n gt ot h ei n v e s t i g a t i o no ff b i s c i ,m o r et h a n8 0 o ft h em o s ts e r i o u sd a m a g e s , e s p e c i a l l ys i g n i f i c a n tf i n a n c i a ll o s s e s ,a r ec a u s e db yi n t e r n a l n e t w o r ks e c u r i t yp r o b l e m s t h e r e f o r e ,t h er e s e a r c ho f h o wt od e t e c t ,p r e v e n ta n dm i t i g a t et h ei n s i d ea t t a c k si ss i g n i f i c a n t t r a d i t i o n a lp e r i m e t e r - b a s e ds e c u r i t ys o l u t i o n ss u c ha sf i r e w a l la n di n t r u s i o nd e t e c t i o n s y s t e m ( i d s ) c a l le f f i c i e n t l yd e t e c to u t s i d ea t t a c k s ,b u tt h e ya r eu n a b l et os o l v ei n t e r n a l n e t w o r ks e c u r i t yp r o b l e m s ,e s p e c i a l l yf o ri n f o r m a t i o nl e a k a g ea n du n a u t h o r i z e da c c e s st o i m p o r t a n tr e s o u r c e s t oa d d r e s st h i si s s u e ,au s e rb e h a v i o rm o n i t o r i n gm e t h o db a s e do nw e b a p p l i c a t i o n si sp r o p o s e da n daw e bu s e rb e h a v i o rm o n i t o r i n gs y s t e mi sd e s i g n e da n d i m p l e m e n t e db a s e do nt h ep r o p o s e dm e t h o di nt h i sp a p e r d e s i g n e do nt h ec l i e n t s e r v e r ( c s ) m o d ea n di m p l e m e n t e db yi n t e g r a t i n gt h eu r l - b a s e df i l t e r i n gt e c h n i q u ew i t hb h o - b a s e d m o n i t o r i n gt e c h n i q u e ,t h es y s t e mc a nn o to n l yf i l t e ro u ta d v e r s eu n h e a l t h yw e b s i t e s ,b u tc a n a l s om o n i t o rc l i e n tu s e r s o n l i n eb e h a v i o r sa n dt h u s 湖h e l pm a n a g e r sb u i l dh a r m o n i o u s n e t w o r ke n v i r o n m e n t m u l t i t h r e a dt e c h n o l o g yi su s e dt oi m p r o v et h es y s t e mp e r f o r m a n c ea n ds e c u r i t ys t r a t e g i e s s u c ha sd e sa l g o r i t h m ,a u t o m a t i cr u n n i n ga n dp r o c e s sp r o t e c t i o nt e c h n i q u ea r ee m p l o y e dt o e n h a n c et h e s y s t e ms e c u r i t y e x p e r i m e n t ss h o w t h a tt h es y s t e me f f e c t i v e l yf i l t e r so u t i n a p p r o p r i a t ew e b s i t e s ,p r o v i d e sv i v i da n a l y s i so fc l i e n tu s e r s o n l i n er e c o r d si na ne m b e d d e d b r o w s e r , t h u sh e l p sm a n a g e r sd e t e c ta n dp r e v e n ti n s i d e a t t a c k si nt i m e t h es y s t e m i m p l e m e n t e di nt h i sp a p e ri su s e f u la n dw i t hs i g n i f i c a n c eo fp o p u l a r i z a t i o n k e yw o r d s :i n s i d e rn e t w o r ks e c u r i t y , u r l b a s e df i l t e r i n g ,i n t e r n e tb e h a v i o rm o n i t o r i n g , b r o w s e rh e l po b j e c t s ,t h r e a dp o o l 武汉科技大学硕士学位论文第1 i i 页 目录 摘 要i a b s t r a c t i i 目录i i i 第一章绪论1 1 1 问题提出的背景及意义l 1 2 国内外研究现状2 1 3 本文的主要工作4 1 4 本文的结构安排4 第二章系统实现的相关技术6 2 1 浏览器扩展技术6 2 1 1i i l t 锄e te x p l o r e r 的体系结构6 2 1 2b r o w s e r h e l po b j e c t s 插件技术7 2 2 网络通信技术8 2 2 1t c p i p 协议8 2 2 2s o c k c t 通信8 2 3 多线程技术9 2 3 1 多线程原理l o 2 3 2 线程池应用。l l 2 4 过滤监控技术1 l 2 4 1 过滤技术1 l 2 4 2 监控技术1 2 2 5 本章小结。1 3 第三章系统的分析与设计1 4 3 1 监控方法的提出一1 4 3 2 系统的总体设计1 4 3 2 1 系统架构1 4 3 2 2 功能模块l5 3 3 数据存储的格式1 6 3 - 3 1x m l 模板一1 6 3 3 2 数据库表18 3 4 客户端软件设计一1 9 3 5 服务器端软件设计2 0 3 6 本章小结2 1 第四章系统的功能模块实现2 2 4 1 客户端软件的实现2 2 4 1 1 过滤功能2 2 4 1 2 监控功能2 3 4 1 3 数据处理器2 4 4 2 服务器端软件的实现2 7 4 2 1 逻辑控制器2 7 4 2 2 事件监听器2 8 第页武汉科技大学硕士学位论文 4 2 3 系统设置功能2 9 4 2 4 记录回放播放器3 0 4 3 两端通信的关键问题3l 4 3 1s o c k e t 连接关键点3l 4 3 2 通信效率优化策略3 2 4 4 系统安全3 4 4 4 1 管理员身份认证3 4 4 4 2 系统反破坏功能。3 4 4 4 3 数据加密解密3 5 4 5 本章小结3 5 第五章实验结果及分析3 6 5 1 实验环境与步骤3 6 5 1 1 实验环境3 6 5 1 2 实验方案3 6 5 2 过滤监控功能3 6 5 2 1 过滤功能测试3 6 5 2 2 监控功能测试。3 7 5 3 记录回放测试。3 9 5 4 实验结果分析4 0 5 5 本章小结4 0 第六章总结与展望4 l 6 1 本文的总结4 l 6 2 展望4 l 参考文献4 3 致谢4 6 附录a 攻读学位期间发表的论文。4 7 武汉科技大学硕士学位论文 第1 页 1 1 问题提出的背景及意义 第一章绪论 随着计算机网络技术的飞速发展,使用网络的人越来越多,网络用户的精神道德品质 文化层次也良莠不齐。中国互联网络信息中心在2 0 1 0 年1 月份最新发布的调查报告表明, 我国互联网的使用者总数已达到了3 8 4 亿【,与此同时,带来的计算机网络安全问题也 越来越令人担忧。 早在2 0 世纪7 0 年代,网络安全问题就已经变得非常突出,丌始将其作为- - f 单独的 学科来进行研究,不过那时主要是研究针对特定信息系统的一些控制手段,如访问控制安 全策略、访问数据加密等【2 1 。到2 0 世纪9 0 年代,网络病毒、黑客攻击事件泛滥,网络安 全问题已经威胁到世界上各个国家的利益,甚至严重威胁各国的安全与主权问题,发展成 为了一个国际性的问题。 现在,网络安全威胁越演越烈,攻击方式层出不穷,除了来自于网络外部的黑客等不 法分子的攻击之外,网络内部的安全问题也不容忽视。根据美国联邦调查局互联网犯罪投 诉中心2 0 0 8 年对包括政府机构、企业、学校、银行、医院等5 5 2 家组织单位的网络犯罪 行为进行调查显示,大部分犯罪行为来自于外部攻击,内部攻击行为呈下降趋势,但是, 一旦发生了内部攻击的事件,带来的损失则相当严重,有时甚至是致命的【3 】。因此,采 取措施检测、遏制内部攻击行为,保障组织内网的安全显得尤为重要。 另一方面,虽然网络的安全问题令众企事业单位忧心忡忡,但是网络提供了一个广阔 的交流学习的平台,包含非常丰富的信息资料、学习方法和手段,可以极大的提高人们的 学习工作效率,所以在工作学习中使用网络应该受到鼓励和支持。但是,面对网络带来的 便利性,很多企业员工滥用网络,在工作时间做非工作的事情,不利于企业的长远发展。 同时,网络上除了有用的学习资料之外,还充斥着很多腐朽落后的思想文化、不健康的信 息、甚至反动的言论,对社会的稳定和人类的发展造成严重的阻碍,尤其是对认知判断能 力尚未发展完全的青少年的影响很大,有些甚至会诱导青少年走上犯罪的不归路。青少年 是祖国的花朵,正确引导和保护青少年不受网络上不良信息的影响,是每个国家都密切关 注的问题。2 0 1 0 年1 月2 2 同,我国教育部发布关于加强中小学网络道德教育抵制网络 不良信息的通知【4 1 ,要求各地教育行政部fi ) j h 强对青少年的网络道德法制的教育,同时 采取措施加强对青少年上网行为的管理,如:安装上网过滤软件等。 目前,采用技术和法律手段加强对未成年人的保护,防止未成年人受到不良信息的侵 害是一个得到国际社会普遍认同的做法【5 】。但是,过滤软件不可能1 0 0 绝对的过滤掉不 良的信息,不管多好的过滤软件总会有漏网之鱼出现,所以,在过滤的同时,还必须对用 户的网络行为进行一定的监控。同时,为了解决网络的安全问题,各项关于网络以及信息 安全方面的研究项目和课题也逐渐丰富起来,而且研究的范围也越来越广。网络监控有利 于发现网络中的安全隐患,及时扼杀网络中的攻击行为,尤其是在解决内网安全方面,弥 第2 页武汉科技大学硕士学位论文 补了防火墙等传统安全产品的不足,因此成为目前网络安全技术的研究热点。 为此,本文结合网页过滤技术和网络监控技术,提出了一个基于w e b 应用系统的行 为监控方法,并且基于该方法设计并实现了一个用户上网行为监控系统,该系统不但可以 为用户过滤掉含有不良信息的网址,还可以记录用户通过浏览器上网的网络行为,系统管 理员可以通过回放查看用户的上网记录,及时发现并纠正他们的不良行为,一方面可以帮 助用户远离不健康的网页和垃圾信息,另一方面可以规范用户的上网行为动机,降低内部 攻击行为,从而保障组织单位信息资源的安全性。 1 2 国内外研究现状 由于网络中各种入侵攻击方式层出不穷,千变力化,为了保障网络的安全,国内外学 术界和产业界对如何保障网络信息安全方面的研究变得越来越具体、研究范围也越来越广 泛。目前,对提高网络内部安全问题方面的研究主要有以下几种: ( 1 ) 防火墙。传统的防火墙是在假设内部网络中所有用户都是完全可以信任的前提之 下进行设计和开发的,不能阻止内部攻击。为了改善防火墙不能解决内网安全的问题,很 多学者提出了一系列的改进思想和策略。m a r k h a m 和p a y n e 【6 】实现了一种分布式防火墙, 将防火墙技术拓展到主机,将防火墙的保护范围最小化到单个的p c 用户,从一定程度上 可以抵御来源于内部的其他p c 机的攻击。但是,这种方式并不能完全解决网络内部的安 全问题,尤其是对于合法用户故意泄露单位机密这种行为甚至无法感知。虽然防火墙在解 决内部安全问题方面存在一定的不足,但是,由于防火墙一般部署在路由器、网络或代理 服务器端,所有进出网络的信息都必须经过防火墙,非常适合收集网络中各种活动信息, 可以很方便的监视网络行为,及时报警。基于这种思想,在防火墙中n a , 网络监控技术m , 记录网络活动数据以便于进行网络安全审计,对提高内部网络的安全性起着非常重要的作 用。 ( 2 ) 入侵检测。防火墙更多的侧重于系统的访问控制,通过过滤策略限制不合法用户 对某些资源的访问,它不会主动寻找攻击源,属于一种静态的安全防御技术【8 】。入侵检测 主要通过计算机网络或计算机系统中的若干个关键点收集信息并对其进行分析和审计,从 而实时发现是否有违反安全策略的行为或遭到袭击的迹象【9 】,并采取相应的措施。与防火 墙相比,入侵检测系统是一种积极主动的动态安全防御技术,虽然它并不能阻止攻击,但 它具备及时发现攻击的能力,并以报警方式向管理员发出警告。入侵检测系统具备一定的 学习能力,一般通过加入智能算法实现,如基于神经网络的攻击检测技术【1 o 】【l l 】【12 1 、基于 专家系统的攻击检测技术【1 3 】【1 4 】、基于模型推理的攻击检测技术【1 5 】【1 6 】等。入侵检测的内容 包涵了授权的以及没有授权的各种入侵行为,如违反安全规定策略的行为、冒充其他用户、 泄露系统的资源、恶意行为、非法越权访问,以及授权者滥用权力等。但是,由于网络上 攻击的方式错综复杂以及审计分析技术能力的有限,目前入侵检测系统仍存在较高的误报 率或者漏报率。为了更全面的维护网络的安全,可以采用分布式检测和集中安全管理的方 式扩大入侵枪测范围,或者结合防火墙一起统一配置使用【1 7 】,但是这会增加网络的负担, 武汉科技大学硕士学位论文第3 页 在网络中过度频繁的捕捉数据包进行分析会严重影响网络的性能。 ( 3 ) 网络过滤监控。防火墙和入侵检测系统或多或少都含有网络过滤或网络监控的能 力,但是由于防火墙和入侵检测系统一般设置在内部网络与外部网络的通信信道之上执行 规定的安全策略或者分析审计获取的数据包头信息,所以在提供网络安全防护的同时,也 变成了网络通信的瓶颈,增加了网络传输延时,一旦防火墙和入侵检测系统出现问题,内 部网络将会受到严重的威胁【1 8 】。因此,将网络过滤和网络监控功能解耦分离出来是非常 必要的,不但可以优化网络的性能,而且还能扩展过滤监控的能力。按照监控软件的部署 位置的不同,可以分为以下三种:基于网络服务器端的监控,基于p c 客户端的监控,基 于服务器端客户端的混合监控。 继承防火墙和入侵检测系统的监控思想,基于网络服务器端的监控主要在路由器、网 关或者代理服务器端侦听网络中的所有通信活动,对来往的数据包进行截获和分析,然后 做出相应的处理【1 9 1 。因为所有的信息交换都必须经过网关,所以这种监控方式非常有效, 几乎可以监控网络中所有的通信内容,包括所有用户的聊天记录、来往邮件、f t p 传输文 件、访问过的网页等。目前,已经出现了一些商用的服务端监控软件,如e s n i f f , l i t t l e b r o t h e r 等,它们主要使用语言和数学分析方法对监听到的数据包进行解析【2 0 l ,若其中含有组织 单位的敏感信息或机密信息,会对数据包进行截获,并记录包头信息,即记录收发双方的 m 地址等。但是,这种方法无法知道一个用户访问一个页面的时间( 停留时间) ,而且这种 监控方式很容易被加密工具发现并设法躲避监控【2 。同时,这种技术无法为f b i 提供证 据,因为无法将内容对应到人。 为了弥补基于网络服务器端监控技术的不足,产生了基于p c 客户端的监控方法。这 种方法主要通过在个人计算机上安装软硬件对用户使用计算机的情况进行监控,包括用户 的按键记录,聊天记录,运行过的程序,打开过的窗口,电子邮件,浏览过的网页等。如 果把基于服务器端的监控软件比做网络的窃听器的话,那么基于p c 客户端的监控软件则 是监视用户行为的摄像头。这种方法几乎可以监视用户使用电脑的一切行为,通过还原并 解码用户使用键盘的记录情况,甚至可以获取用户的密码等私人信息瞄1 。使用这种方法 的商用软件代表有w i n w h a t w h e r e 公司开发的i n v e s t i g a t o r ,w e b r o o t 软件公司开发的 w i n g u a r d i a n 以及s p e c t o r s o t t 公司出品的s p e c t o r 。很明显,这种方式可以监控到更多服 务器端监控方法无法监控到的东西【2 3 1 ,但是与服务器端监控软件的实时性相比,客户端 的监控足非实时的,同时,有些客户端监控软件使用屏幕截图,如s p e c t o r 一小时可以截 屏几百次,保存的图片量非常大,消耗大量的存储空间,而且过度的截屏会严重影响用户 的正常工作学习。目前大多数企业和公司使用的都是基于网络服务端的监控,客户端的监 控方式可能会泄露个人的隐私,一般多用于家庭中父母对孩子的监管【2 4 】,但是,不管怎 么说,这种客户端监控方式可以很好监控用户使用电脑的一切活动,这说明细粒度的监控 用户行为在技术上是可行的。 基于p c 客户端的监控方式可以有效的记录用户的行为,但是在查看用户行为的时候 必须在客户端进行查看,虽然有些客户端监控软件可以生成关于用户行为的详细报告,定 第4 页武汉科技大学硕士学位论文 时以e m a i l 发送给管理员进行查看,如e b l a s t e r 2 s l 。但是这种方式并没有对用户行为记录 进行清晰的分析,无法为管理员提供全面直观的查看功能。针对这一点,网络视频监控【2 6 1 1 2 7 1 以其直观、方便、信息内容丰富等特点而受到了众多企事业单位的青睐,不过,它对网络 设备具有较高的要求,增加了成本开销。因此,人们开始考虑将基于网络服务器端的监控 方式与基于p c 客户端的监控进行结合,汲取两者的优点,为管理员提供良好的网络监控 管理方式,规范用户网络行为,构建和谐的网络环境,于是,基于客户端月艮务器端的混 合监控便产生了。这种方式一般分为客户端程序和服务器端程序,前者用于过滤或者收集 用户使用电脑的情况,后者用于控制整个系统并提供良好的界面供管理员查看用户的信息 或者接口以便和其他程序结合使用。目前,这种方式已被广泛的应用于安全领域,也出现 了一些商用产品,如t r i s y si n s i g h t ,w a r d sc r e e kg a m e w a r d e n 。这些商用软件一般都使用 了按键记录破译程序,通过解码可以还原用户所有信息,包括删除掉的文字,有些甚至还 能够记录鼠标的移动和活动的窗口,而且允许还原整个过程【2 0 1 。但是,这种方式不一定 记录的是网络活动,用户正常的学习工作打字击键也将被记录,因此会记录大量的无关网 络入侵的信息,白白耗费掉服务器的存储空间资源。 1 3 本文的主要工作 本文的主要目的是设计一种简单易行的应对内网安全问题的方法,旨在构建和谐安全 的网络环境。具体来说,本文所做的工作主要有: ( 1 ) 深入调查研究目前解决网络内部安全问题的各种技术,着重介绍了几种不同的过 滤技术和网络监控技术,对各种技术的优缺点进行了分析和对比; ( 2 ) 结合已有的u r l 过滤技术和b h o 监控技术,提出了一种基于w e b 应用系统的行 为监控方法,该方法对外可以过滤掉不安全的网址,对内可以监控使用者使用w e b 应用 系统的情况,对解决内网安全问题有一定的参考价值。 ( 3 ) 根据提出的方法,设计并实现了一个用户上网行为监控系统,该系统可以过滤并 监控用户使用i n t e m e te x p l o r e r 进行的上网活动,同时提供了良好的交互界面供管理员分 析用户的上网活动,协助管理规范用户的上网行为。 ( 4 ) 最后以人工智能与机器学习实验室为平台,进行实验,验证了系统的可行性。 1 4 本文的结构安排 本文的结构分为六章,各章内容介绍如下: 第一章分析了本课题的研究背景和研究意义,回顾了国内外相关研究成果以及相关 技术的研究现状,并概括了本文的主要工作和结构安排。 第二章介绍了与研究相关的一些技术,着重分析了几种不同的过滤技术和网络监控 技术,并对其进行了详细的对比,概括了各种技术的优缺点。 第三章结合已有的技术,提出了一种基于w e b 应用系统的行为监控方法,并且基 武汉科技大学硕士学位论文 第5 页 于该方法设计了一个用户上网行为监控系统。 第四章实现了用户上网行为监控系统的各个功能模块,详述了各模块的工作流程以 及具体的实现过程。 第五章设计实验方案,对系统的各功能模块进行测试,分析实验结果。 第六章总结了本文的所做的工作,并对将来的工作内容做出了展望。 第6 页武汉科技大学硕士学位论文 2 1 浏览器扩展技术 第二章系统实现的相关技术 浏览器是用户上网的重要途径之一,与此同时,随着电子商务、软件托管服务( s o f t w a r e a sas e r v i c e s a a s ) 以及云计算的兴起,浏览器将会逐渐成为用户接入网络的主要方式,因 此,从浏览器上获取用户的上网信息具有非常重大的意义。为了便于第三方开发,浏览器 一般都会提供接口或者扩展机制供开发者使用,不同的浏览器提供的插件技术也有所差 异。微软作为全球最大的操作系统提供厂商,其开发的i n t e r n e te x p l o r e r 浏览器在市场上 一直占有绝大部分的份额,覆盖成千上万的用户群。因此,本文以i n t e m e te x p l o r e r 浏览 器作为收集用户信息的载体,下面介绍i e 的体系结构和插件技术。 2 1 1i n t e r n e te x p l o r e r 的体系结构 i n t e m e te x p l o r e r ( 简称i e ) 是微软开发的一款网页浏览器,自1 9 9 5 年8 月发布第一版以 来,到目前为止已经经历了从i e1 o 到i e8 0 多个版本的变更。i e 浏览器具有良好的体 系结构,i e4 0 及以后的版本都提供了强有力的c o m 组件和接口,以便与第三方应用程 序进行交互【2 引,其体系结构如图2 1 所示: 图2 1i n t e r n e te x p l o r e r 的体系结构 i e x p l o r e e x e 位于体系架构的最上层,它是一个浏览器的实例,一般来说,每个 i e 浏览器窗口都对应一个i e x p l o r e e x e 的进程( 不同的版本可能会有些不同) ,在任务 管理器中可以进行查看,它的主要职责是通过使用i e 的各种组件来执行页面的请求、导 航、以及h t m l 解释等。 i e x p l o r e e x e 可以直接引用s h d o c v w d l l 组件和b r o w s e r u i d l l 组件。其中, 武汉科技大学硕士学位论文 第7 页 b r o w s e r u i d l l 组件控制m 浏览器的界面显示,包括工具栏、地址栏、状态栏等。除了 界面之外的所有其他功能,几乎都可以由s h d o c v w d l l 组件来提供,包括浏览网页、 对历史记录进行管理、网页收藏夹功能等等。同时,s h d o c v w d l l 组件也可以像 a c t i v e ) :控件一样被独立的引用,因为它向引用它的应用程序提供了良好的接口,也就是 说,通过引用该组件,我们可以实现自定义风格独特、适合自己的浏览器。 m s h t m l d l l 组件是i e 浏览器的核心部件,它为上层组件提供了底层的支持。具体 来说,它主要用于将h t m l 页面按照某种布局和格式解析出来,提供给上层进行显示, 还可以通过动态h t m l 对象模型提供h t m l 文档供用户查看源文件。同时,它可以引用 脚本引擎、a c t i v e x 控件、系统的插件以及它所加载的h t m l 文档可能引用的其它对象。 该组件提供了活动文档接口,可以通过c o m 接口直接被第三方开发者引用。 2 1 2b r o w s e rh e l po b j e c t s 插件技术 浏览器助手对象( b r o w s e rh e l p e ro b j e c t s ,简称b h o ) 是微软早在1 9 9 9 年推出的作为浏 览器对第三方程序员开放的业界标准接口,用与和i e 进行交互【2 训。通过b h o 接口,第 三方程序员可以在加载i e 浏览器的同时对i e 窗口进行一定的控制处理,如监视浏览器的 行为和事件、获取浏览器的界面信息、在浏览器事件发生时加入自己定义的功能等。b h o 程序不能单独运行,必须依赖于浏览器窗口。同时,加载的b h o 实例与i e 浏览器实例 运行在相同的环境之中,有相同的生命周期,也就是说,b h o 对象会随着浏览器窗口的 打开而载入,随着浏览器窗口的关闭而销毁。如果打开多个浏览器窗口,多个b h o 实例 也一同产生。b h o 工作原理l 捌如图2 2 所示: 图2 2b h o 工作原理 i e4 0 及以上版本的浏览器窗口启动时会自动加载已注册的b h o 组件到i e 领域,并 对其进行初始化,而i e 则成为它们的父进程和载体,从此i e 的每一个事件都会通过 i u n k n o w n 接口传递到b h o 组件中的i o b j e c t w i t h s i t e 接口中的s e t s i t e 或者g e t s i t e 方法罩, 这是b h o 实现与l e 交互的入口函数。用户可以重写这两个方法,挂载自己的事件处理 方法实现某些功能。 第8 页 武汉科技大学硕士学位论文 2 2 网络通信技术 为了解决不同网络体系结构的用户之间交换信息的问题,国际标准化组织i s o 提出了 开放系统互连基本参考模型o s i r m ( o p e ns y s t e mi n t e r c o r m e c t i o nr e f e r e n c em o d e l ) ,把网 络分为7 层:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层【3 。目 前网络通信的协议和方法有很多,本文使用t c p i p 协议的s o c k e t 套接字来完成网络通信。 2 2 1t c p i p 协议 t c p i p 协议是一组规则集合,负责协调网络中不同网络设备之间的信息交换。该协议 使得任何硬件平台之间通信成为可能,是网络通信中十分重要的协议,著名的i n t e m e t 就 建立在该协议之上。t c p i p 是由o s i 标准七层协议结构演化而来,但是前者更加注重对 互连设备之间的数据传输,并且t c p i p 的体系结构简化为了四个层次:应用层、传输层、 网络层和网络接口层【引】。与o s i 相比较而言,t c p i p 协议更加流行,越来越多的网络操 作系统支持t c p i p 协议。 在t c p i p 体系结构之中,位于传输层的t c p 协议提供了一种面向连接的可靠的通信 服务,通过三次握手应答,可以保证数据包完整有序的到达目标地址,从而避免数据包的 重传或者丢失。使用t c p 协议进行通信,位于上层的通信软件不必花时间去检查传输的 报文是否正确,只需要保证双方建立了足以进行通信的连接即可。因此,与无连接的u d p 协议相比,t c p 协议更适合传输大量需要保证安全性和可靠性的机密性数据。 2 2 2s o c k e t 通信 应用层通过传输层的t c p 协议进行数据通信时,t c p 协议可能会遇到需要同时为多个 进程或者应用程序提供服务的问题,为了不至于混淆不同的服务以及不同应用程序的t c p 连接,许多操作系统封装了专门的接口用来为应用程序与t c p i p 协议进行交互,使得程 序员不用关心底层的通信硬件或者协议的差别。s o c k e t 套接字正是这样一种普遍应用的通 信接口,常用的s o c k e t 类型有两种:面向连接的流式套接字( s o c ks t r e a m ) 和无连接 的数据报式套接字( s o c kd g r a m ) 3 2 】。t c p 协议采用的是面向连接的流式套接字进行通 信,其通信原理如图2 3 所示: 武汉科技大学硕士学位论文第9 页 匿匹习 s e r v e r s o c k e t ( p o r t ) 建立服务器套接字 , 1, 侦听客户端请求 垦,请 !:a c c e p t ( ) 矗立连接 一 ;l - 裂鞲 三 一一 j r j 厂一在套接孛j 强一一 c l o s e o 关闭服务器 套接字,服务结束 发送应 图2 3 面向连接的s o c k e t 通信原理 s o c k e t 是针对客户端服务端模型设计的,客户端程序与服务端程序进行通信的条件是 必须有一方的s o c k e t 是确定的。s o c k e t 一般通过通信协议、本地地址以及本地端口号来 进行描述,只要确定了上述三项,那么s o c k e t 必然也确定了。一般来说,服务器端程序 应创建固定的s o c k e t 为其他主机服务,且应遵循下面的基本步骤:( 1 ) 在服务器上打开某 一个通信信道,并通知本地的其他主机,该信道愿意提供服务;( 2 ) 监听信道,等待来自 客户端的请求;( 3 ) 接收客户端请求并发送应答信号通知客户端发送数据;( 4 ) 返回第二 步,继续等待其他客户端请求;( 5 ) 结束信道,关闭通信服务。另外,客户端程序应遵循 的基本步骤有:( 1 ) 打开某一个通信信道,连接到服务器指定的s o c k e t 特定端口;( 2 ) 向 服务器发送请求发送数据,等待服务器的应答;( 3 ) 请求结束后,关闭信道,终止通信服 务。 2 3 多线程技术 线程是程序执行的最小单位,一个程序中可以存在多个线程。多线程技术是一种可以 在程序中并发执行多个线程的4 :j l s j j ,各个线程之间彼此独立。线程不占用系统的资源,而 是和它所属的进程共享一个存储空间,这意味着在线程之间进行切换或者交换数据要比进 程问同样的操作简单得多,所以,使用多线程技术可以提高系统的运行速度和效率。 第l o 页武汉科技大学硕士学位论文 2 3 1 多线程原理 多线程就是一个进程程序中包含多个并发执行的线程。事实上,多个线程在单个的 c p u 中运算处理的时候,并不是真正同时进行的。一个c p u 在某一时刻只能处理一个线 程的指令流,因此,多个线程的运算也必须由处理器进行调度后才能进入c p u 执行。不 过,由于c p u 处理的时间非常快,使用者根本感觉不到线程的调度和切换,所以在逻辑 上可以看成多个线程是同时并发执行的。线程一般有5 个状态:初始状态( n e w ) ,可执行 状态( r u n n a b l e ) ,运行状态( r u n n i n g ) ,阻塞状态( b l o c k e d ) ,死亡状态( d e a d ) 【3 3 】。处理机根 据线程的优先级和状态进行调度,线程的状态切换如图2 4 所示: 图2 4 线程状态转化图 当创建一个新线程时,该线程就处于初始状态,但是尚未启动;如果使用s t a r t ( ) 函数 启动该线程,那么线程就进入了可执行状态。排程器主要用于从线程池中根据处理机的调 度策略选择一个进行启动,每个支持多线程的系统都有一个排程器。如果线程处于可执行 状态,那么有可能它正处于线程池中等待排程器启动,或者它的执行时间片用完了。当线 程获取到c p u 时间片之后,它便进入运行状态,由c p u 执行其指令流。如果处于运行状 态的线程遇到阻塞事件( 比如需要等待i 0 事件的发生) 时,线程将由运行状态进入阻塞状 态。处于阻塞状态的线程将会被排程器忽略,只有等阻塞解除,进入可执行状态后,排程 器才会对它进行排程。当线程运行结束或者有错误异常发生时,线程将会被终止,进入死 亡状态。值得注意的是,线程进入可执行状态之后,何时会被执行,是不可预知的。因此, 线程的执行具有不可预知性,尤其在存在多个线程的时候,资源的共享容易造成死锁问题, 所以在多线程编程中应该严格控制线程同步互斥等问题【川。 多线程提高系统的运行速度主要是通过充分利用计算机系统c p u 的空闲时i 、日j 片,合理 的调度系统资源,用尽可能少的时间响应用户的请求来实现的。众所周知,一个程序进 程可以包含一个或者多个线程,但是至少应该有一个线
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 推拿治疗学试题附答案详解【综合题】
- 解析卷-黑龙江省虎林市中考数学真题分类(数据分析)汇编定向练习试题(解析卷)
- 组合逻辑电路分析与设计试题及答案
- 2025年学前教育机构师资队伍教师培训与课程设计研究报告
- 济南先行投资集团有限责任公司及权属公司招聘笔试题库参考答案详解
- 2025年智能物流系统研发资金申请报告
- 考点解析-北师大版8年级数学上册期中试题及答案详解一套
- 2025至2030年中国硫铝酸盐水泥行业发展前景及投资战略咨询报告
- 2025年深海矿产资源勘探技术深海资源勘探技术产业发展与政策支持报告
- 2025年肿瘤早筛技术在宫颈癌早期诊断中的应用前景与市场潜力报告
- 2025年行政管理学专业试题及答案
- 校园绅士淑女教育实施纲要
- 企业安全管理机构的主要职责
- 2025至2030国内外海洋工程防腐应用趋势行业产业运行态势及投资规划深度研究报告
- 2023年生态环境综合行政执法考试参考题库(400题)
- 巡检员质量培训
- 胸腹瘘个案护理
- 护理课程思政讲课
- 2025年蜀道集团招聘笔试参考题库附带答案详解
- 《实践论》《矛盾论》导读课件
- 小学生防欺凌课件
评论
0/150
提交评论