ImageVerifierCode 换一换
格式:DOCX , 页数:45 ,大小:263.46KB ,
资源ID:19690762      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19690762.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(学士学位论文email分析技术的研究与实现Word文件下载.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

学士学位论文email分析技术的研究与实现Word文件下载.docx

1、 On time cent set and press the friend grouped. Pass these two kinds of method, the customer can expediently check with manage these Emails.Key Words: Email; malice email; keywords searching; auto grouping目 录1 绪论 11.1 课题背景 11.2 Email分析技术的研究现状 11.3 本文主要研究内容 32.开发平台及工具简介 42.1 Visual C+简介: 42.2 ADO技术 5

2、2.3 SQL语句简介 53 需求分析与总体设计 73.1系统需求分析 73.2 系统功能模块图 73.3 系统目标 84. 具体实现 94.1 数据库的创建 94.2 MFC连接数据库 94.3 Email收取并解析 124.4 恶意Email处理 184.4.1恶意Email分析 184.4.2恶意Email的删除 224.4.3恶意Email的忽略 244.4.4恶意关键字的添加 254.5 Email自动分组 264.5.1按时间进行分组 274.5.2 按好友进行分组 324.5.2 添加好友信息 355. 程序调试 376. 结论与展望 38参考文献 39致 谢 401 绪论1.1

3、 课题背景自从互联网开始发展到现在,互联网已经成为经济、社会、文化、教育以及娱乐等不可缺少的一部分,其中Email与我们的日常工作生活和学习中越来越重要。 Email的出现使得收发信的速度得到看空前的提高,用传统的方式收发信件通常需要数天,而通过Email收发信件往往只需要数秒,Email已经成为人们联系沟通的重要手段,给人们带来了便利。但是Email使用者在使用Email时随着时间的推移,收件箱中的邮件会越来越多,当使用者需要查阅某个Email时,需要在查找上浪费很多时间。这造成了邮件管理上的困难。除了使用Email在邮件管理上存在的问题外还存在很多问题:如,目前大部分的Email是免费的,

4、通过Email收发信件不仅有速度快的优点,还有发信方不需支付额外费用的特点。正式因为Email具有的这些特点给我们带来了很多烦恼:垃圾邮件成为邮件中的主流,垃圾邮件像瘟疫一样蔓延,污染网络环境,占用大量传输、存储和运算资源,影响了网络的正常运行。业内人士分析:一旦垃圾邮件占到互联网总数据流量的三分之一以上,将会造成巨大的存储需求,甚至对信息安全系统的有效性构成威胁。除了垃圾邮件以外还有恶意邮件和广告邮件。通过邮件攻击现象越来越多,破坏力也越来越强,超过80%的网络入侵者均以破坏电子邮件系统为主要目标,对网络的信息安全造成了严重的威胁。如病毒侵犯、邮件爆炸、邮件被监听等安全隐患越来越严重,因此电

5、子邮件安全问题也越来越得到使用者的重视。在Email具有上述能够给我们带来便利但也有烦恼的特点,如何有效利用Email来提高我们的工作效率,为我们的日常生活提供极大的便利等逐渐成为人们关注的焦点,这就迫切需要一个好的Email管理系统来管理我们的邮件。而Email管理系统是建立在Email的分析之上的。本文正是研究Email分析技术的研究与实现。1.2 Email分析技术的研究现状电子邮件系统经过几十年的发展,已经形成了完善的技术体系。邮件服务器系统在保留了电子邮件系统最初的收发邮件、邮件存储等基本功能的同时,融入了最新的计算机与网络技术,使电子邮件系统有了全新的改观。邮件技术的发展趋势如下:

6、(1) Web邮件技术。随着中国Internet应用的日益普及和逐步深入,这些数字仍在不断增长。但是对于电子邮件系统来说,单纯使用邮件客户端程序进行邮件的收发已经不能满足用户移动办公的需要。Web邮件技术的出现,彻底解决了用户办公的需要,使得邮件用户可以在任何地方使用浏览器登录邮件服务器收发邮件,而不用配置邮件客户端程序。(2) 多域邮件服务。所谓多域邮件服务,即是一台物理服务器为多个独立注册Internet域名的企业或单位提供电子邮件的服务,在逻辑上,这些企业和单位拥有自己独立的邮件服务器,也可以称为虚拟邮件服务器技术。对于ISP提供商和企业集团公司来说,多域邮件服务器的支持能力是选择邮件服

7、务器的一个重要考虑因素。它可以方便地扩展其横向邮件服务能力。(3) 安全防护。现在的邮件服务器在安全防护技术上有了较大的提高,包括数据身份认证、传输加密、垃圾邮件过滤、邮件病毒过滤、安全审计等的多项安全技术在邮件服务器中都得到了很好的应用。(4) 多语言(5) 远程监控和性能调整(6) 无限的可扩展能力反垃圾邮件技术主要包括:垃圾邮件过滤技术、邮件服务器的安全管理和培植技术以及对简单邮件通信协议(SMTP)的改进研究等。对过滤技术的应用和研究在推进和发展阶段主要集中在三个方面:(1) 利用热顶地址、IP或域名“黑白名单”进行的邮件限制或过滤,典型应用诸如:结合DNS的实时黑名单(RBL)过滤,

8、用户自定义邮件白通道加严整的过滤方法等。(2) 基于数据挖掘技术进行的邮件过滤研究,利用文本分类与统计算法进行垃圾邮件检测,比较有代表性的是贝叶斯过滤器。它是以自学习、自适应和极高的准确率占据了过滤器这个领域的主导地位。其他研究包括:基于记忆信息、基于事件特征描述信息进行数据挖掘的垃圾邮件检测方法。(3) 基于垃圾邮件的特征分析、规则提取的规则匹配过滤方法,对这种技术的应用,SpamAssassin是个中翘楚。在电子邮件技术越来越成熟的今天,国内外还是在不断的对其进行着分析研究与实现,力使其做到最完美,使恶意邮件无所遁形,功能更强大,便捷,更大众化。在国内,如网易,新浪,搜狐等大型网站都有为我

9、们提供免费的邮箱;在国外,例如HOTMAIL,YAHOO等网站都有此功能。从表面看,无论使用境内还是境外的电子邮箱,除了网站品牌的不同,好象并没有太大的区别,国内外各大网站提供的服务在功能和技术上也确实比较类似,但是,业内专家指出,网民使用境外电子邮箱,往往要承担一定的潜在风险。1.3 本文主要研究内容本文主要研究从邮件服务器(如)上收取邮件,将收取到的邮件列表显示出来,当点击邮件列表上的某一封邮件时能够在相应的地方显示出该邮件的正文,该部分是完成一个邮件解析接收的过程。在收取到所有邮件之后,接下来要做的工作就主要分为两块:邮件的自动分组及恶意邮件的发现。2 开发平台及工具简介2.1 Visu

10、al C+简介:几乎所有世界级的软件,从业界领先的Web浏览器到面向任务的企业应用,都是使用Microsoft Visual C+开发系统来开发的。要用C+来开发Windows和Web上的高性能应用程序,Visual C+是效率最高的首选工具。Visual C+ 6.0在不牺牲灵活性、性能和控制力度的同时,给C+带来更高水平的生产效率。除了IntelliSense Technology(智能感应技术)和Edit and Continue(即编即调)等显著缩短开发时间的新特性外,Visual C+ 6.0还为Web开发和企业开发提供更良好的支持。Microsoft Visual C+ 6.0专业

11、版的健壮的构件开发、强大的数据库工具和完备的Internet支持将使您从中受益,创建出策略性的商务解决方案来。Visual Studio C+6.0采用一种非常巧妙的方法将原本非常复杂的Windows编程步骤封装起来,使编程人员可以轻松容易地编写Windows应用程序。Visual C+6.0是Microsoft Visual Studio6.0的一个子集,他对低版本开发程序兼容。它有如下的特点:(1) Visual C+6.0提供了用于开发Windows环境下的应用程序和简捷、快速的开发环境。利用Visual C+6.0开发Windows应用程序具有很高的效率。(2) Visual C+6.

12、0提供了MFC类,开发者只需要做少量的工作就可以得到功能齐全的Windows应用程序。与使用C和Windows SDK开发Windows应用程序相比,使用Visual C+6.0建立一个完美的Windows应用程序所花费的时间要少得多。(3) Visual C+6.0还提供了一个高度集成的工具集,使得在开发应用程序的全过程中都保证了较高的效率。集成化便于程序开发,开发者可以同时在编辑、建立、调试等不同任务之间快速切换,甚至可以同时进行。(4) 调试方便:在程序调试时,在遇到编译错误时,会在输出窗口显示出错误类型、行号及错误提示等信息。在输出窗口中双击错误提示时,光标会自动指向出现错误的代码所在

13、行应方便快速找出错误。Visual C+支持断点调试,同时也可以在调试窗口观察有关变量的值,以方便查找出有关的逻辑错误。2.2 ADO技术(1) ADO的技术特点 ADO的全称是ActiveX Data Object,它是微软公司为数据库应用程序开发的新接口。ADO基于COM,提供编程语言可利用的对象,它不仅面向Visual C+,同时还提供面向其他开发工具的应用,如Visual Basic、VJ等,甚至还提供面向诸如 VBScript、JavaScript等脚本语言的应用。ADO的底层是OLE DB,不仅能访问关系数据库,也能访问非关系型数据库。ADO对OLE DB的包装是相当成功的,相对于

14、OLE DB中众多的接口来说,ADO对象模型简明扼要,没有一点多余的东西,并且其功能还要比DAO强大的多。并且可以说到目前为止,ADO是目前最快的数据库访问的中间层。(2) ADO的结构ADO模型包含了7个对象和4个集合,ADO的结构图如图2-1所示。2.3 SQL语句简介SQL是一种面向数据库的通用数据处理语言规范,能完成以下几类功能:提取查询数据,插入修改删除数据,生成修改和删除数据库对象,数据库安全控制,数据库完整性及数据保护控制。本文用到的SQL语句主要为select语句和insert语句。图2-1 ADO的结构图3 需求分析与总体设计3.1 系统需求分析邮件的自动分组主要是为了管理方

15、便,查阅方便,以节省用户宝贵的时间。在实现邮件自动分组时用户可以输入好友信息,以便好友发过来的Email可以分到一起,这对与查找节省了很多时间,同时也提供了极大的方便。在进行Email来源分组时,分组信息是根据用户输入的好友姓名及Email地址自动生成。出来根据Email来源进行分类外,本文还研究通过时间作为条件来进行分类,比如说将邮件分为:今天收到的Email、昨天收到的Email、更早收到的Email。恶意邮件的发现是为了提高安全性的,可过滤一些用户认为是垃圾邮件的Email,用户可以根据收到的Email,点击相应的菜单来启动对Email进行分析的过程。通过查找相应的关键字列出垃圾邮件列表

16、,用户可以根据所列出的垃圾邮件列表进行操作:如删除该Email或忽略对该Email为垃圾邮件的忽略。因为有些对于用户来说是非常重要的邮件而被误判为垃圾Email的情况发生。就像有些杀毒软件会误把一些系统文件或一些用户自己有文件误报为病毒一样。这样做是为了在经过用户确认的前提下从邮件服务器中删除邮件,进一步提高可靠性和安全性。3.2 系统功能模块图系统功能模块图如图3-1所示。由该图可以看出本系统包含了3个大的功能模块:Email接收并解析,恶意Email的发现,Email自动分组。其中恶意Email的发现包括了关键字的添加,该恶意Email的删除,该恶意Email的忽略三个小的功能模块。Ema

17、il自动分组中包括了按Email来源分组,按Email接收到的时间分组,好友信息的添加3个小的功能模块。图3-1 系统功能模块图3.3 系统目标本文所设计的Email分析系统要能够实现Email的接收并解析,恶意Email的发现及发现后的处理,Email 的自动分组。并且这些功能要能够有很好的扩展性,为了达到扩展性的要求,本文从以下几个方面进行设计:恶意邮件的关键字可以手动添加,添加完成之后保存于数据库中以便用户在下次实用时不需要重复输入关键字进行扫描。对于扫描到的恶意Email,由用户来执行相应的操作:删除该Email或忽略该Email为恶意Email的警告,以免系统自动进行操作时删除用户重

18、要的Email。好友信息可由用户添加,好友信息存入Access数据库中,这样用户只需输入一次好友信息即可并且当用户增加一个好友信息时能够动态生成好友并将该好友发过来的Email自动放入该分组当中,便于用户的查找与阅读。Email分组还提供另外一种分组:按时间分组,以方便用户按时间段来查找邮件,这样也可以节省用户查找Email的时间,提高了用户的效率。本系统用VC开发,连接数据库采用ADO方式与Access进行连接。4 具体实现4.1 数据库的创建本系统采用Access数据库来存储相关信息,建立数据库的过程如下:在工程所在目录下点击鼠标右键,在弹出的快捷菜单中将鼠标移到“新建”,再在弹出的字菜单

19、中点击“新建Microsoft Office Access 应用程序”。到此数据库就建立好了,将改Access文件改名Email.mdb。数据库表格的建立:本系统中数据库主要是用于存储恶意Email判断的关键字信息及好友信息。本系统建立两张表:keyword表和emailbook表。(1) keyword表只包含一个字段keyword,设计如表4-1所示。表4-1 关键字表keyword字段含义字段名数据类型说明关键字keyword文本(2) emailbook表包含两个字段:name和email,其中name是好友的姓名,email为好友的email地址。设计如表4-2所示。表4-2 用户信

20、息表(通信录表)emailbook姓名nameEmail地址email4.2 MFC连接数据库本系统在进行数据库连接时采用的是ADO方式进行连接。ADO(ActiveX Data Object)是Microsoft数据库应用程序开发的新接口,是建立在OLE DB之上的高层数据库访问技术,即使你对OLE DB,COM不了解也能轻松对付ADO,因为它非常简单易用,甚至比你以往所接触的ODBC API、DAO、RDO都要容易使用,并不失灵活性。ADO数据库开发的基本流程,它的基本步骤如下:(1) 初始化COM库,引入ADO库定义文件(2) 用Connection对象连接数据库(3) 利用建立好的连接

21、,通过Connection、Command对象执行SQL命令,或利用Recordset对象取得结果记录集进行查询、处理。(4) 使用完毕后关闭连接释放对象。接下来详细介绍连接过程:COM库的初始化我们可以使用AfxOleInit()来初始化COM库,这项工作通常在CWinApp:InitInstance()的重载函数中完成,代码:BOOL CADOTest1App:InitInstance()AfxOleInit();. (2) 用#import指令引入ADO类型库为了引入ADO类型库,需要在项目的stdafx.h文件中加入如下语句:#import c:program filescommon

22、filessystemadomsado15.dll no_namespace rename(EOF,adoEOF)这一语句的作用同我们已经十分熟悉的#include类似,编译的时候系统会为我们生成msado15.tlh,ado15.tli两个C+头文件来定义ADO库。开发环境中msado15.dll不一定在这个目录下,要按实际情况修改;在编译的时候可能会出现如下警告,对此微软在MSDN中作了说明,并建议我们不要理会这个警告:msado15.tlh(405) : warning C4146: unary minus operator applied to unsigned type, resul

23、t still unsigned。(3) 创建Connection对象并连接数据库为了首先我们需要添加一个指向Connection对象的指针_ConnectionPtr m_pConnection,下面的代码演示了如何创建Connection对象实例及如何连接数据库并进行异常捕捉:BOOL CADOTest1Dlg:OnInitDialog()CDialog:OnInitDialog();HRESULT hr;Tryhr = m_pConnection.CreateInstance(ADODB.Connection);/创建Connection对象if(SUCCEEDED(hr)hr = m_

24、pConnection-Open(Provider=Microsoft.Jet.OLEDB.4.0;Data Source=test.mdb,adModeUnknown);/连接数据库/上面一句中连接字串中的Provider是针对ACCESS2000环境的,对于ACCESS97,/需要改为:Provider=Microsoft.Jet.OLEDB.3.51;catch(_com_error e)/捕捉异常CString errormessage;errormessage.Format(连接数据库失败!rn错误信息:%s,e.ErrorMessage();AfxMessageBox(errorm

25、essage);/显示错误信息在这段代码中我们是通过Connection对象的Open方法来进行连接数据库的。 (4) 执行SQL命令并取得结果记录集为了取得结果记录集,我们定义一个指向Recordset对象的指针:_RecordsetPtr m_pRecordset;并为其创建Recordset对象的实例: m_pRecordset.CreateInstance(ADODB.Recordset),SQL命令的执行可以采用多种形式,本文采用了Recordset对象进行查询取得记录集。m_pRecordset-Open(SQL语句,_variant_t(IDispatch *)m_pConnec

26、tion,true),adOpenStatic,adLockOptimistic,adCmdText);插入操作采用的是Connection对象的Execute方法执行SQL命令。Execute()方法的原型如下所示:RecordsetPtr Connection15:Execute ( _bstr_t CommandText, VARIANT * RecordsAffected, long Options ) 其中CommandText是命令字串,通常是SQL命令。参数RecordsAffected是操作完成后所影响的行数, 参数Options表示CommandText中内容的类型,Opti

27、ons可以取如下值之一:adCmdText表明CommandText是文本命令;adCmdTable表明CommandText是一个表名;adCmdProc表明CommandText是一个存储过程;adCmdUnknown表明CommandText内容未知。Execute()函数执行完后返回一个指向记录集的指针。(5) 关闭记录集与连接 记录集或连接都可以用Close()方法来关闭:Close();/关闭记录集m_pConnection-/关闭连接本系统在设计对Access进行操作时为了方便将上述操作写成了一个类。4.3 Email收取并解析本文所研究的Email分析技术的研究与实现,在实现收取邮件时,用到了一个动态链接库:jmail.dll。该动态链接库封装了对邮件相关的操作。jmail常用的一些方法及属性如下:Body : String :信件体,正文,可使用AppendTe

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1