电子邮件监控系统

来源 :数字化用户 | 被引量 : 0次 | 上传用户:kobiko
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘 要】系统主要实现了通过网络监控,把通过邮件服务器的电子邮件进行捕获,解码,并与用户配置的关键字的检索,从而检测出那些邮件时涉及了保密信息的邮件,并且给系统配置的管理员发送短信或邮件预警。
  【关键词】TCP/IP JPCAP SMTP MIME JAVA
  一、系统总体设计及实现
  系统的设计分为4个模块,其中网络监控模块是通过对网卡数据包的捕获,最终获取到需要的SMTP协议数据报的原始邮件内容。解析模块就是针对获取到的SMTP数据报进行解析,根据MIME邮件定义的邮件头和邮件体,并通过解码,获取到一个邮件对象,并放入邮件队列,邮件过滤模块会把把邮件队列中的邮件进行过滤,从而找到规则定义的邮件交给邮件处理模块处理。
  (一)网络监控
  网络监控完成了网卡数据到SMTP协议数据的转换。
  1.网卡数据包捕获
  网络监控通过监控邮件服务器上的网卡获取所有通过网卡的数据报。网卡数据捕获采用jpcap类库实现。因为核心Java API不能访问底层的网络数据,但Jpcap是一种提供在Windows或UNIX系统上进行这种访问的Java API。 Jpcap不是一种纯粹的Java解决方案,它依赖本地库的使用。在Windows 或 UNIX/LINUX上,必须依赖于第三方库,分别是windows下的WinPcap或UNIX/LINUX下的libpcap。因为java的平台无关性,采用jpcap类库作为网卡数据的捕获。
  2.SMTP端口过滤
  因为通过的网卡的数据很多,IP数据报直接去解析比较麻烦,但是jpcap提供了可以把IP数据报直接转换为TCP/IP数据报的能力,据此,转换为TCP/IP数据报之后,还需要对邮件发送所使用的协议进行过滤,我们采用的过滤方式为端口的方式过滤。根据邮件发送原理,邮件发送采用SMTP协议,所用的端口为25,所以通过提取TCP/IP数据报的端口,过滤掉非25端口的数据报。至此,网络监控已经实现了针对邮件服务器上邮件数据报的提取。
  3.SMTP命令解析
  根据端口过滤出来的SMTP命令有很多,所以我们需要把分析邮件的部分找出来。根据SMTP命令可知,当发件方发送完DATA命令之后,下面发送的就是邮件的MIME格式正文部分,但是在实际的研究中发现,如果同时发送接收多个邮件的情况下,这种方式还要判断数据包的流向,更简单的办法是,From字符总会是MIME邮件的第一个字符,所以通过判断From是否在字符的首位,就可以判断是否是邮件的DATA命令之后的邮件正文,而不是其它的SMTP命令。
  (二)邮件解析
  通过对MIME域的分析,可以得到邮件的发件人(From域),收件人(To域),抄送人(Cc域),主题(Subject域),发送日期(Date域)等信息,并且可以从Content-Type域中知道当前邮件的编码方式是什么,一般中文邮件的编码方式为GBK,GB2312,UTF-8等。然后就需要对邮件的正文部分进行解析,邮件的发送采用multipart類型。一个邮件被分为N个部分,因为本文的目的是做邮件的监控,所以,目前本文的范围只对邮件的正文做关键字过滤,不再还原邮件的附件。所以重点还是针对Content-Type: multipart/alternative; boundary="{分段标识}"的部分进行解析。当这一部分的数据提取完成之后,还需要对邮件的正文进行解码操作,目前采用最多的编码方式为Base64编码。至此,完整的邮件内容已经解析出来。然后把解析到的邮件放到一个处理队列中,并对队列进行实时的序列化处理。
  (三)邮件过滤
  1.关键字定义
  关键字定义在系统的根目录keyword.xml中,该xml就是关键字的定义结构,关键字可以有很多。邮件关键字规则定义如下xml所示。
  <?xml version="1.0" encoding="UTF-8"?>
  
  关键字1,……,关键字n
  
  资产,源代码,秘密
  

  

  2.关键字匹配
  通过关键字可对邮件进行过滤,通过解析模块解析出的邮件对象,通过重写邮件对象的toString()方法,通过toString()方法和关键字的比较,如果出现,则把邮件交给邮件处理模块处理。
  (四)邮件处理
  通知模块实现了对违规邮件队列的监听,当法相违规邮件队列中放入了邮件之后,所有注册的监听器把邮件进行相应的处理。
  1.邮件处理监听器
  目前实现的监听器有,邮件保存监听器,邮件发送监听器和短信发送监听器。
  邮件发送监听器实现了把违规的邮件发送到指定的收件人的功能,邮件发送功能的实现,采用了javamail的方式,没有采用组成MIME格式的方式发送SMTP命令。
  短信发送监听器实现了把违规的邮件通过短信的方式发送给指定的手机,由于在实际的环境中,每个地方发送短信的方式都不相同,所以该部分的监听器是只有日志输出,而不提供实际的短信发送功能,常见的短信发送方式有,短信网关的方式,webservice的方式,socket通信的方式。
  邮件保存监听器是默认的监听器,该监听器实现了违规邮件的持久化保存,以供后续的查询,报表需求,目前的邮件保存监听器是把邮件保存成文本记录存放在服务器硬盘上。
  2.短信邮件监听器配置
  短信和邮件监听器的主要结构
  <?xml version="1.0" encoding="UTF-8"?>   
  
  
  配置通知 可选值为true或false,当为true时表示启动邮件或短信通知
  

  true
  true
  

  
  配置发送邮件的参数
  smtp.163.com
  *** ****
  
  442304024@qq.com
  liang_xj_f@sina.com
  

  

  
  
  配置短信发送的手机号码,可以重复配置多个
  

  
  13838381438
  13800000000
  

  

  

  二、系統的测试结果
  (一)测试用例
  如表5列举了一些系统的测试用例,测试用例没有全部列出,只列出了部分比较有代表性的测试用列。
  (二)小结
  虽然测试用例没有全部列出,但软件的设计已经满足了系统设计的目的。
  参考文献:
  [1] 谢希仁:《计算机网络》, 电子工业出版社 2008年第5版
  [2] 朱少民:《软件测试方法和技术》 清华大学出版社 2010年7月第2版
  [3] 梁勇、李娜:《Java语言程序设计》 机械工业出版社 2011年6月第8版
  [4] 史蒂芬·约翰·梅特斯克(Steven John Metsker)、威廉·维克(William C.Wake)、张逸、史磊:《Java设计模式》电子工业出版社 2012年9月第2版
  [5] 严蔚敏、吴伟民:《数据结构(C语言版)》清华大学出版社 2011年7月
  [6] 萨默维尔(Ian Sommerville)、程成:《软件工程》 清华大学出版社 2011年5月
  [7] 埃史尔、陈昊鹏:《Java编程思想》机械工业出版社2007年5月第4版
  [8] 史蒂文斯(W.R.Stevens):《TCP/IP详解卷1:协议》 机械工业 2000年4月
  [9] 布莱恩特(Randal E.Bryant)、奥哈拉伦(David R.O’Hallaron)、龚奕利、雷迎春:《深入理解计算机系统》 机械工业出版社 2011年1月第2版
  [10] 胡晓娅,曹连杰:《无线局域网背景下的电子邮件监控系统研究》,计算机工程与科学 2012年第32卷第2期
  [11] 百度百科:《SMTP》,http://baike.baidu.com/view/5450.htm
  [12] 百度百科:《MIME邮件格式分析及信息提取》,http://www.studa.net/pc-Theory/080505/11033039-2.html
其他文献
【摘 要】 随着现代电力电子技术的不断发展,变频调速系统具有调速范围宽,精度高等优点而被广泛的应用于各行各业。但在其变频调速的过程中也会出现实际运行中所不允许的现象出现,如何更好的避免出现这种状态,本文并通过具体适用的过程对其中的问题进行探讨。  【关键词】变频 转速 问题  变频调速的引入:由电机学理论可知,异步电动机的转速公式为:式中?1异步电动机的供电频率,p为极对数,S为转差率。根据上式我
【摘 要】高密度通讯板在整个通讯数据传输过程中居于核心地位,它承担并处理大规模的数据信息,而且每个板也都与终端客户相联系,属于各个终端设备信息交流、转换的过渡地带。其中母版能否被长期、安全使用,成为其质量评判的重要标准,而且孔壁质量也极大地影响着这个系统的工作,主要体现在钻孔质量方面。从当前的生产环境来看,提高孔壁质量仍然具有一定的挑战性,针对这种情况,需要研究出一类新型技术,其中均匀工字形截面的
目的 探讨肥胖儿童血清胰岛素水平与体脂分布、胰岛素抵抗及血脂的关系。方法 对 6 8例单纯性肥胖儿童依据空腹血胰岛素 (FINS)及空腹血糖 (FBG)水平分为高胰岛素血症组 (H
【摘 要】冷端是浮法玻璃生产线的重要环节,它将从退火窑出来的玻璃带进行优化切裁、掰断分离、去边除碎,最后将合格产品按等级输送至堆垛区进行堆垛封箱。近几年来冷端设备有了飞速的发展,其自动化、集成化程度之高已接近自动化的顶端,因此,冷端维修需要我们掌握的知识就随之增加了。  【关键词】玻璃 自动化 集成化 设备 网络  一、 冷端设备  (一)应急切割区。应急切割区包括应急切割桥和应急落板,其中应急切
目的探索以膀胱移行上皮细胞为种子细胞构建组织工程尿道的可行性.方法取兔膀胱移行上皮细胞,体外培养传代后作为种子细胞与自制胶原膜体外联合培养并行裸鼠体内移植,通过对
目的:探讨山莨菪碱(654-2)对创伤性急性肺损伤(ALI)炎症反应影响及可能的治疗机制.方法:采用家兔创伤性ALI模型,实验动物随机分为正常对照(C)组(8只)、创伤模型(M)组(8只)、6
目的研究化疗药足叶乙甙(Vp16)或阿糖胞苷(Ara-C)上调HL-60细胞DR5基因表达,并增强凋亡素2配体(Apo2L)诱导HL-60细胞凋亡的作用.方法通过Annexin Ⅴ/PI染色,流式细胞仪检测HL-60细胞的凋亡率;通过MTT试验检测Apo2L对白血病原代细胞的生长抑制率;利用半定量RT-PCR检测HL-60细胞DR5基因表达的变化.结果①Apo2L能诱导HL-60细胞凋亡,存在剂量
【摘 要】对GTM法设计原理及特点进行简要分析,以江肇高速铺筑普通沥青混合料为基础,详细论述了用美国工程兵旋转压实试验机(GTM)进行沥青混合料配合比设计的方法及施工工艺等技术问题。  【关键词】GTM法 普通沥青混合料 江肇高速 应用研究  改性沥青及其混合料的研究与应用,为提高沥青路面的路用性能发挥了巨大作用。但是,随着国民经济的发展,交通量增长迅速,重载、超载现象变得越来越严重,即便使用了改
【摘 要】缺陷管理贯穿软件开发的整个过程,本文分析了系统测试阶段的缺陷管理过程,发现缺陷并跟踪缺陷直到缺陷得于解决,对缺陷数据进行收集并统计分析和评估及缺陷预防的实施,提高软件质量。  【关键词】系统测试缺陷管理  一、系统测试概述  软件测试是为了发现错误而执行程序的过程,从测试范围角度,软件测试可分为单元测试、集成测试、系统测试等。系统测试是把集成测试后的软件和硬件、人员、资源等相关元素结合起
【摘 要】随着网络和业务的快速发展,电信市场竞争的日趋激烈,原有的专业维护系统和分散维护方式已经不能满足市场需求,运维工作正在由“面向设备、面向网络”转变为“面向业务、面向客户”。实现全网全专业的告警监控、派单和呈现。  【关键词】综合网管 专业网管 综合监控  一、前言  综合监控系统是建设在各专业网管系统基础之上,将各专业网管进行横向打通,重点解决在一个平台上实现对全专业集中监控与关联分析,并