互联网垃圾邮件防御系统的设计与实现毕业论文.doc
《互联网垃圾邮件防御系统的设计与实现毕业论文.doc》由会员分享,可在线阅读,更多相关《互联网垃圾邮件防御系统的设计与实现毕业论文.doc(41页珍藏版)》请在三一办公上搜索。
1、本科毕业论文(设计)论文题目: 互联网垃圾邮件防御系统的设计与实现 学生姓名: 学 号: 0905290223 专 业: 软 件 工 程 班 级: 0902 指导教师: 完成日期: 2013年 5月 20日互联网垃圾邮件防御系统的设计与实现内容摘要近年来,传统的邮件业务相当大的被电子邮件所取代,电子邮件成为了人们通信的越来越重要的手段。但是随着电子邮件本身固有的缺陷,以及软件易于复制和传播的特点,导致了互联网上垃圾邮件的泛滥,占用网络资源,浪费人们的宝贵的时间,造成了巨大的人力财力的浪费。本课题正是在这样的背景下展开,借此来减少垃圾邮件的传播,改善网络环境。反垃圾邮件系统通过设置黑白名单,将白
2、名单用户的邮件定义为可信任邮件,将黑名单用户的邮件定义为垃圾邮件;除此之外的用户则需要对邮件内容进行过滤,垃圾邮件的判断,主要是从敏感关键字来判别(目前的纯客户端反垃圾邮件多数基于这一点来做)。从而减轻了网络的负荷,减少了用户的负担。关键词:垃圾邮件 反垃圾邮件 黑名单 举报 开放转发Anti-Spam systemAbstractRecently, the traditional mail service is largely replaced by email service which is provided by Internet. Email is becoming a more a
3、nd more important means in interactions among people. However, the inherent defect of emails that they are easily copied and transmitted leads to the flooding of spam emails, which take the precious band width, and waste much of peoples time, much money and much man power.In this stage, our program
4、is aiming at retrieving a clean network by setting up black or white lists. The determination of spam mainly depends on the counts of reporting times of spam emails. Optional rules are judged by sensitive key words (many of current anti-spam tools are based on this).Finally, Processing Center releas
5、es the black list to Internet Service Providers, which filter the emails from those addresses in the black lists. Thus, the source of spam emails was blocked, so the burden of networks was alleviated, help users have a better service experience.Key words: spam-emails anti-spam black list report open
6、-relay目 录一、绪论1(一)课题背景1(二)国内研究状况分析1二、开发环境简介3(一)python简介3(二)python下载安装3(三)pyqt简介4(四)pyqt下载安装4三、垃圾邮件过滤系统相关理论及技术分析6(一)电子邮件61. 电子邮件介绍62. 电子邮件系统的工作原理63. 邮件头部介绍7(二)垃圾邮件简介81. 垃圾邮件定义82. 垃圾邮件的危害83. 垃圾邮件的分类94. 垃圾邮件采用的技术9(三)反垃圾邮件研究101. 非技术手段反垃圾邮件102. 技术手段反垃圾邮件11四、客户端垃圾邮件过滤技术研究14(一)中文分词141. 中文分词的常用方法14(二)过滤模式151
7、. 客户端过滤模式152. 多层过滤15五、系统分析18(一)可行性分析18(二)功能需求分析181. 基本功能192. 核心功能19六、系统总体设计20(一)系统功能规划20(二)系统模块划分20七、系统详细设计21(一)功能设计211. 邮箱认证模块212. 邮件发送模块213. 邮件接收模块214. 黑白名单过滤215. 规则过滤216. 邮件处理22(二)系统流程图231. 邮件接收流程图232. 邮件发送流程图24八、系统实现25(一)界面设计与实现25(二)垃圾邮件识别策略31九、系统测试33(一)测试的主要目的33(二)测试环境33(三) 测试及测试结果33(四) 测试结果分析及
8、评价34十、结论35致 谢36参考文献37一、绪论(一)课题背景随着互联网的快速发展,电子邮件已经成为人们日常生活中重要的通信方式。相比传真、普通信件等传统的信息传递方式,电子邮件使用简单、易于保存、花费低廉、传递迅速,可在短时间内与世界上任何一个角落中的网络用户联系,所以电子邮件受到了人们普遍的欢迎。但是,近年来垃圾邮件的出现和不断泛滥,严重干扰了人们正常的网络活动,给广大用户带来了巨大的麻烦。2007年1月,中国反垃圾邮件中心的2007年第一次中国反垃圾邮件状况调查报告显示,网民平均每周收到垃圾邮件22.1封,发出电子邮件12.1封。网民对互联网中垃圾邮件的反感度达8.7,垃圾邮件已成为继
9、电脑病毒之后的主要网络安全问题。垃圾邮件不但危害了互联网的发展、损害了用户的利益、还易被黑客利用,成为散播病毒的主要工具,对社会造成危害。针对垃圾邮件,普遍采用过滤技术对其进行过滤,目前的过滤技术己经取得了很大的进步,但还不够成熟。过滤技术不能完全识别垃圾邮件,甚至会阻断正常邮件的传递,这对于广大用户来说是无法接受的,一些关键领域会因一封正常邮件的丢失而带来巨大损失。因此,研究有效的防治垃圾邮件的技术具有重要的现实意义。(二)国内研究状况分析目前,国内研究的过滤技术主要是基于内容的过滤。基于内容的较成熟的垃圾邮件过滤技术,具有较高的智能性和准确率,但是由于垃圾邮件过滤是个复杂的问题,在技术上还
10、没有哪一个能完美的过滤所有的垃圾邮件。目前存在的主要问题如下:(1) 中文邮件的误判率较高过去的研究主要集中在算法改进方面,而且大多数都使用统一的英文语料库作为平台,对训练和测试结果进行比较分析。英文垃圾邮件的过滤己经达到了比较高的准确率,但受中文分词的影响,对于中文垃圾邮件过滤,往往效果并不理想。中文分词就是将连续的字序列按照一定的规范重新组合成词序列的过程,有些人也称之为切词。中文分词的准确性直接影响电子邮件分类的准确度。由于中文的多义性,而且目前还没有统一的中文垃圾邮件语料库,研究者都是自己用自己的语料,缺乏可比性,所以中文邮件的预处理显得更加困难。(2) 垃圾词汇不易识别反垃圾邮件技术
11、进步的同时,垃圾邮件伪装技术也在不断的发展,垃圾邮件制造者试图制造更难识别的垃圾邮件。垃圾邮件用词越来越隐晦,致使基于内容的过滤器误判率增高。(3) 垃圾邮件概念不明确电子邮件的内容是随时间变化而变化的,用户的个性化需求也有所不同,并且同一用户的需求也在不断的改变,这些变化都使得垃圾邮件判别标准发生变化,这也是垃圾邮件过滤不易解决的问题。对文本分类,每个类别的内容一般不会经常改变。而对垃圾邮件过滤,垃圾邮件类别是和用户密切相关的,如一个产品宣传广告,有人认为是垃圾邮件,但有人则认为是正常邮件,因此邮件的分类需更注重个性化。另外,用户对垃圾邮件的判断标准也会随时间的推移而改变,而且垃圾邮件本身的
12、内容形式也在不断的变化。这些都造成邮件类别的不确定性。二、开发环境简介(一)python简介Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。自从20世纪90年代初Python语言诞生至今,它逐渐被广泛应用于处理系统管理任务和Web编程。Python已经成为最受欢迎的程序设计语言之一。2011年1月,它被TIOBE编程语言排行榜评为2010年度语言。自从2004年以后,python的使用率是呈线性增长。Python是从ABC发展起来,主要受到了Modula-3(另一种相当优美且强大的语言,为小型团体所设计的)的影响。并且结合了Unix shell和C的习惯。Python在设计
13、上坚持了清晰划一的风格,这使得Python成为一门易读、易维护,并且被大量用户所欢迎的、用途广泛的语言。Python的设计哲学是“优雅”、“明确”、“简单”。设计者开发时总的指导思想是,对于一个特定的问题,只要有一种最好的方法来解决就好了。这在由Tim Peters写的python格言(称为The Zen of Python)里面表述为:There should be one- and preferably only one -obvious way to do it. 这正好和Perl语言(另一种功能类似的高级动态语音)的中心思想TMTOWTDI(Theres More Than One W
14、ay To Do It)完全相反。由于Python语言的简洁、易读以及可扩展性,在国外用Python做科学计算的研究机构日益增多,一些知名大学已经采用Python教授程序设计课程。例如麻省理工学院的计算机科学及编程导论课程就使用Python语言讲授。众多开源的科学计算软件包都提供了Python的调用接口,例如著名的计算机视觉库OpenCV、三维可视化库VTK、医学图像处理库ITK。而Python专用的科学计算扩展库就更多了,例如如下3个十分经典的科学计算扩展库:NumPy、SciPy和matplotlib,它们分别为Python提供了快速数组处理、数值运算以及绘图功能。因此Python语言及其
15、众多的扩展库所构成的开发环境十分适合工程技术、科研人员处理实验数据、制作图表,甚至开发科学计算应用程序。国外知名视频网站YouTube就是使用python处理非常高的并发访问量。(二)python下载安装(1)在http:/www.python.org/getit/ 下载windows版本的python,然后按照提示一步一步安装。(2)接着配置环境变量:在系统的环境变量中编辑PATH,将安装目录添加在PATH之后。(3)检测是否安装成功:运行cmd打开系统终端,输入python,出现如图2-1所示的界面说明安装成功。图2-1 python 安装成功测试图(三)pyqt简介PyQt是一个GUI库
16、,是将Python和Qt结合在一起的产物。而Qt是目前比较成功和强大的GUI库。可以通过访问官方主页来获得更多信息。PyQt的模块管理:QtCore、QtGui、QtNetwork、QtXml、QtSvg、QtOpenGL、QtSql。QtCore主要负责一些非GUI的功能,包括时间(time),文件(files)和文件夹(directories),各种数据类型(data types),流(stream),urls,mime类型,线程(threads)和过程(processes)。QtGui模块负责图像组件和相关的类,包括常见的按钮(buttons),窗口(windows),状态栏(statu
17、s bars),工具栏(toolbars),滑动条(sliders),位图(bitmaps),颜色(colors)和字体(fonts)等。QtNetwork则负责网络功能,通过该模块,可以完成具有TCP/IP和UDP交互功能的C/S应用,该模块使得网络开发非常的简单便携。QtXml包含了同xml文件交互的能力,模块实现了同SAX和DOM交互的APIs。QtSvg提供了显示SVG文件内容的方法。Scalabe Vector Graphics(SVG)是使用xml文件来描述二维图像的一种语言。QtOpenGL通过使用OpenGL来呈现3D和2D图像,该模块将Qt GUI库和OpenGL库无缝的结合
18、在一起。QtSql提供了访问数据库的方法。PyQt提供了以下功能:(1)窗口部件以及其他图形化用户接口控制;(2)数据库管理和查询;(3)XML处理;(4)图像和多媒体;(5)Web浏览器集成和网络。(四)pyqt下载安装安装pyqt前需要先安装SIP,在 http:/www.riverbankcomputing.co.uk/software/sip/down -load 下载SIP对应的版本并安装,然后在http:/www.riverbankcomputing.co.uk/software/pyqt/ download下载python对应的pyqt版本并双击安装。三、垃圾邮件过滤系统相关理论
19、及技术分析(一)电子邮件1. 电子邮件介绍电子邮件(简称E-mai1)又称电子信箱、电子邮政,它是种用电子手段提供信息交换的通信方式。它是全球多种网络上使用最普遍的一项服务。这种非交互式的通信,加速了信息的交流及数据传送,它是个简易、快速的方法。通过连接全世界的Internet,实现各类信号的传送、接收、存贮等处理,将邮件送到世界的各个角落。到目前为止,可以说电子邮件是Internet资源使用最多的一种服务,E-mai1不只局限于信件的传递,还可用来传递文件、声音及图形、图像等不同类型的信息。电子邮件不是一种“终端到终端”的服务,是被称为“存贮转发式”服务。这正是电子信箱系统的核心,利用存贮转
20、发可进行非实时通信,属异步通信方式。即信件发送者可随时随地发送邮件,不要求接收者同时在场,即使对方现在不在,仍可将邮件立刻送到对方的信箱内,且存储在对方的电子邮箱中。接收者可在他认为方便的时候读取信件,不受时空限制。在这里,“发送”邮件意味着将邮件放到收件人的信箱中,而“接收”邮件则意味着从自己的信箱中读取信件,信箱实际上是由文件管理系统支持的个实体。因为电子邮件是通过邮件服务器(mai1 server)来传递档的。通常mail server是执行多任务操作系统UNIX的计算机,它提供24小时的电子邮件服务,用户只要向 mail server管理人员申请个信箱账号,就可使用这项快速的邮件服务。
21、2. 电子邮件系统的工作原理1) 电子邮件系统是一种新型的信息系统,是通信技术和计算机技术结合的产物。 电子邮件的传输是通过电子邮件简单传输协议(Simple Mail Transfer Protocol,简称SMTP)这一系统软件来完成的,它是Internet下的一种电子邮件通信协议。 2) 电子邮件的基本原理,是在通信网上设立“电子信箱系统”,它实际上是一个计算机系统。系统的硬件是一个高性能、大容量的计算机。硬盘作为信箱的存储介质,在硬盘上为用户分一定的存储空间作为用户的“信箱”,每位用户都有属于自己的个电子信箱。并确定个用户名和用户可以自己随意修改的口令。存储空间包含存放所收信件、编辑信
22、件以及信件存盘三部分空间,用户使用口令开启自己的信箱,并进行发信、读信、编辑、转发、存档等各种操作。系统功能主要由软件实现。3) 电子邮件的通信是在信箱之间进行的。用户首先开启自己的信箱,然后通过键入命令的方式将需要发送的邮件发到对方的信箱中。邮件在信箱之间进行传递和交换,也可以与另个邮件系统进行传递和交换。收方在取信时,使用特定账号从信箱提取。3. 邮件头部介绍下面介绍RFC822中定义的常用的标准信头字段。表3-1 RFC822常用的标准信头字段与发信方有关的信头字段From:mailbox写信人字段。说明信件的原始创建者,给出他的电子信箱地址。创建者对信件的原始内容负责。Sender:m
23、ailbox发送者字段。说明实际提交发送这个信件的人,给出他的电子信箱地址。当发信人与写信人不一样时使用。Reply-TO:mailbox回复字段。指定应当把回信发到哪里。如果有此字段,回信将会发给它指定的邮箱,而不会发给From字段指定的邮箱。与收信方有关的信头字段TO:mailbox list收信人字段。指定主要收信人的邮箱地址,可以是多个邮箱地址的列表,地址中间用逗号隔开。Cc:mailbox list抄送字段。指定此信件要同时发给哪些人,也称为抄送。也可以使用邮箱地址列表,抄送给多个人。Bcc:mailbox list密抄字段。指定此信件要同时秘密发给哪些人,也称为密件抄送。也可以使用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 互联网垃圾邮件防御系统的设计与实现 毕业论文 互联网 垃圾邮件 防御 系统 设计 实现

链接地址:https://www.31ppt.com/p-2880845.html