亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        電子郵件監(jiān)控系統(tǒng)

        2013-12-31 00:00:00馬文亮方亮亮
        數(shù)字化用戶 2013年15期

        【摘 要】系統(tǒng)主要實現(xiàn)了通過網(wǎng)絡(luò)監(jiān)控,把通過郵件服務(wù)器的電子郵件進(jìn)行捕獲,解碼,并與用戶配置的關(guān)鍵字的檢索,從而檢測出那些郵件時涉及了保密信息的郵件,并且給系統(tǒng)配置的管理員發(fā)送短信或郵件預(yù)警。

        【關(guān)鍵詞】TCP/IP JPCAP SMTP MIME JAVA

        一、系統(tǒng)總體設(shè)計及實現(xiàn)

        系統(tǒng)的設(shè)計分為4個模塊,其中網(wǎng)絡(luò)監(jiān)控模塊是通過對網(wǎng)卡數(shù)據(jù)包的捕獲,最終獲取到需要的SMTP協(xié)議數(shù)據(jù)報的原始郵件內(nèi)容。解析模塊就是針對獲取到的SMTP數(shù)據(jù)報進(jìn)行解析,根據(jù)MIME郵件定義的郵件頭和郵件體,并通過解碼,獲取到一個郵件對象,并放入郵件隊列,郵件過濾模塊會把把郵件隊列中的郵件進(jìn)行過濾,從而找到規(guī)則定義的郵件交給郵件處理模塊處理。

        (一)網(wǎng)絡(luò)監(jiān)控

        網(wǎng)絡(luò)監(jiān)控完成了網(wǎng)卡數(shù)據(jù)到SMTP協(xié)議數(shù)據(jù)的轉(zhuǎn)換。

        1.網(wǎng)卡數(shù)據(jù)包捕獲

        網(wǎng)絡(luò)監(jiān)控通過監(jiān)控郵件服務(wù)器上的網(wǎng)卡獲取所有通過網(wǎng)卡的數(shù)據(jù)報。網(wǎng)卡數(shù)據(jù)捕獲采用jpcap類庫實現(xiàn)。因為核心Java API不能訪問底層的網(wǎng)絡(luò)數(shù)據(jù),但Jpcap是一種提供在Windows或UNIX系統(tǒng)上進(jìn)行這種訪問的Java API。 Jpcap不是一種純粹的Java解決方案,它依賴本地庫的使用。在Windows 或 UNIX/LINUX上,必須依賴于第三方庫,分別是windows下的WinPcap或UNIX/LINUX下的libpcap。因為java的平臺無關(guān)性,采用jpcap類庫作為網(wǎng)卡數(shù)據(jù)的捕獲。

        2.SMTP端口過濾

        因為通過的網(wǎng)卡的數(shù)據(jù)很多,IP數(shù)據(jù)報直接去解析比較麻煩,但是jpcap提供了可以把IP數(shù)據(jù)報直接轉(zhuǎn)換為TCP/IP數(shù)據(jù)報的能力,據(jù)此,轉(zhuǎn)換為TCP/IP數(shù)據(jù)報之后,還需要對郵件發(fā)送所使用的協(xié)議進(jìn)行過濾,我們采用的過濾方式為端口的方式過濾。根據(jù)郵件發(fā)送原理,郵件發(fā)送采用SMTP協(xié)議,所用的端口為25,所以通過提取TCP/IP數(shù)據(jù)報的端口,過濾掉非25端口的數(shù)據(jù)報。至此,網(wǎng)絡(luò)監(jiān)控已經(jīng)實現(xiàn)了針對郵件服務(wù)器上郵件數(shù)據(jù)報的提取。

        3.SMTP命令解析

        根據(jù)端口過濾出來的SMTP命令有很多,所以我們需要把分析郵件的部分找出來。根據(jù)SMTP命令可知,當(dāng)發(fā)件方發(fā)送完DATA命令之后,下面發(fā)送的就是郵件的MIME格式正文部分,但是在實際的研究中發(fā)現(xiàn),如果同時發(fā)送接收多個郵件的情況下,這種方式還要判斷數(shù)據(jù)包的流向,更簡單的辦法是,F(xiàn)rom字符總會是MIME郵件的第一個字符,所以通過判斷From是否在字符的首位,就可以判斷是否是郵件的DATA命令之后的郵件正文,而不是其它的SMTP命令。

        (二)郵件解析

        通過對MIME域的分析,可以得到郵件的發(fā)件人(From域),收件人(To域),抄送人(Cc域),主題(Subject域),發(fā)送日期(Date域)等信息,并且可以從Content-Type域中知道當(dāng)前郵件的編碼方式是什么,一般中文郵件的編碼方式為GBK,GB2312,UTF-8等。然后就需要對郵件的正文部分進(jìn)行解析,郵件的發(fā)送采用multipart類型。一個郵件被分為N個部分,因為本文的目的是做郵件的監(jiān)控,所以,目前本文的范圍只對郵件的正文做關(guān)鍵字過濾,不再還原郵件的附件。所以重點還是針對Content-Type: multipart/alternative; boundary=\"{分段標(biāo)識}\"的部分進(jìn)行解析。當(dāng)這一部分的數(shù)據(jù)提取完成之后,還需要對郵件的正文進(jìn)行解碼操作,目前采用最多的編碼方式為Base64編碼。至此,完整的郵件內(nèi)容已經(jīng)解析出來。然后把解析到的郵件放到一個處理隊列中,并對隊列進(jìn)行實時的序列化處理。

        (三)郵件過濾

        1.關(guān)鍵字定義

        關(guān)鍵字定義在系統(tǒng)的根目錄keyword.xml中,該xml就是關(guān)鍵字的定義結(jié)構(gòu),關(guān)鍵字可以有很多。郵件關(guān)鍵字規(guī)則定義如下xml所示。

        <?xml version=\"1.0\" encoding=\"UTF-8\"?>

        關(guān)鍵字1,……,關(guān)鍵字n

        資產(chǎn),源代碼,秘密

        2.關(guān)鍵字匹配

        通過關(guān)鍵字可對郵件進(jìn)行過濾,通過解析模塊解析出的郵件對象,通過重寫郵件對象的toString()方法,通過toString()方法和關(guān)鍵字的比較,如果出現(xiàn),則把郵件交給郵件處理模塊處理。

        (四)郵件處理

        通知模塊實現(xiàn)了對違規(guī)郵件隊列的監(jiān)聽,當(dāng)法相違規(guī)郵件隊列中放入了郵件之后,所有注冊的監(jiān)聽器把郵件進(jìn)行相應(yīng)的處理。

        1.郵件處理監(jiān)聽器

        目前實現(xiàn)的監(jiān)聽器有,郵件保存監(jiān)聽器,郵件發(fā)送監(jiān)聽器和短信發(fā)送監(jiān)聽器。

        郵件發(fā)送監(jiān)聽器實現(xiàn)了把違規(guī)的郵件發(fā)送到指定的收件人的功能,郵件發(fā)送功能的實現(xiàn),采用了javamail的方式,沒有采用組成MIME格式的方式發(fā)送SMTP命令。

        短信發(fā)送監(jiān)聽器實現(xiàn)了把違規(guī)的郵件通過短信的方式發(fā)送給指定的手機(jī),由于在實際的環(huán)境中,每個地方發(fā)送短信的方式都不相同,所以該部分的監(jiān)聽器是只有日志輸出,而不提供實際的短信發(fā)送功能,常見的短信發(fā)送方式有,短信網(wǎng)關(guān)的方式,webservice的方式,socket通信的方式。

        郵件保存監(jiān)聽器是默認(rèn)的監(jiān)聽器,該監(jiān)聽器實現(xiàn)了違規(guī)郵件的持久化保存,以供后續(xù)的查詢,報表需求,目前的郵件保存監(jiān)聽器是把郵件保存成文本記錄存放在服務(wù)器硬盤上。

        2.短信郵件監(jiān)聽器配置

        短信和郵件監(jiān)聽器的主要結(jié)構(gòu)

        <?xml version=\"1.0\" encoding=\"UTF-8\"?>

        配置通知 可選值為true或1,當(dāng)為true時表示啟動郵件或短信通知

        true

        true

        配置發(fā)送郵件的參數(shù)

        smtp.163.com

        ***

        ****

        442304024@qq.com

        liang_xj_f@sina.com

        配置短信發(fā)送的手機(jī)號碼,可以重復(fù)配置多個

        13838381438

        13800000000

        二、系統(tǒng)的測試結(jié)果

        (一)測試用例

        如表5列舉了一些系統(tǒng)的測試用例,測試用例沒有全部列出,只列出了部分比較有代表性的測試用列。

        (二)小結(jié)

        雖然測試用例沒有全部列出,但軟件的設(shè)計已經(jīng)滿足了系統(tǒng)設(shè)計的目的。

        參考文獻(xiàn):

        [1] 謝希仁:《計算機(jī)網(wǎng)絡(luò)》, 電子工業(yè)出版社 2008年第5版

        [2] 朱少民:《軟件測試方法和技術(shù)》 清華大學(xué)出版社 2010年7月第2版

        [3] 梁勇、李娜:《Java語言程序設(shè)計》 機(jī)械工業(yè)出版社 2011年6月第8版

        [4] 史蒂芬·約翰·梅特斯克(Steven John Metsker)、威廉·維克(William C.Wake)、張逸、史磊:《Java設(shè)計模式》電子工業(yè)出版社 2012年9月第2版

        [5] 嚴(yán)蔚敏、吳偉民:《數(shù)據(jù)結(jié)構(gòu)(C語言版)》清華大學(xué)出版社 2011年7月

        [6] 薩默維爾(Ian Sommerville)、程成:《軟件工程》 清華大學(xué)出版社 2011年5月

        [7] 埃史爾、陳昊鵬:《Java編程思想》機(jī)械工業(yè)出版社2007年5月第4版

        [8] 史蒂文斯(W.R.Stevens):《TCP/IP詳解卷1:協(xié)議》 機(jī)械工業(yè) 2000年4月

        [9] 布萊恩特(Randal E.Bryant)、奧哈拉倫(David R.O’Hallaron)、龔奕利、雷迎春:《深入理解計算機(jī)系統(tǒng)》 機(jī)械工業(yè)出版社 2011年1月第2版

        [10] 胡曉婭,曹連杰:《無線局域網(wǎng)背景下的電子郵件監(jiān)控系統(tǒng)研究》,計算機(jī)工程與科學(xué) 2012年第32卷第2期

        [11] 百度百科:《SMTP》,http://baike.baidu.com/view/5450.htm

        [12] 百度百科:《MIME郵件格式分析及信息提取》,http://www.studa.net/pc-Theory/080505/11033039-2.html

        天堂一区二区三区精品| 久久久精品久久波多野结衣av| 久久福利资源国产精品999| 一区二区三区在线观看高清视频 | 久久久极品少妇刺激呻吟网站| 国产啪亚洲国产精品无码| а中文在线天堂| 99久久久精品国产性黑人| 日本一区二区在线免费看| 久久久亚洲精品无码| 欧美午夜刺激影院| 美女叉开双腿让男人插| 日本熟女精品一区二区三区| 任我爽精品视频在线播放| 国产精品11p| av免费看网站在线观看| 一区二区三区人妻av| 国产又黄又爽又色的免费| 久久免费大片| av免费网站不卡观看| 亚洲精品无码不卡在线播he| 国产人与禽zoz0性伦| 99久久精品国产自在首页| 中文字幕日本av网站| 久久久久成人精品无码中文字幕 | 亚洲成年国产一区二区| 人妻少妇偷人精品无码| 国产亚洲精品自在久久蜜tv| 熟女人妻一区二区中文字幕| 97丨九色丨国产人妻熟女| 国产专区国产av| 最新永久无码AV网址亚洲| 久久亚洲春色中文字幕久久| 国产又色又爽又黄的| 二区在线视频| 成人在线观看视频免费播放| 国产大片内射1区2区| 成人无码视频| 精品国产一品二品三品| 久久精品国产亚洲夜色av网站| 欧美日韩一卡2卡三卡4卡 乱码欧美孕交 |