《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于Winpcap的郵件還原系統的實現
基于Winpcap的郵件還原系統的實現
來源:微型機與應用2011年第2期
吳志強,馬春波,敖發良
(桂林電子科技大學 信息與通信學院,廣西 桂林541004)
摘要: 隨著互聯網的普及,SMTP/POP3協議傳輸方式下的郵件已成為最簡便、最經濟的通信方式,但許多有害的郵件信息也隨之而來。針對這些問題,在VC開發環境下,研究并實現了基于Winpcap的郵件監控及還原系統。該系統設計了多線程模塊,可以同時處理50個郵件及附件信息,并對網絡數據包的捕獲、過濾與重組、信頭解碼、附件處理、信體內容提取等模塊進行了算法優化。功能測試和驗證結果表明,該系統穩定、可擴展,達到實時性要求。
Abstract:
Key words :

摘  要: 隨著互聯網的普及,SMTP/POP3協議傳輸方式下的郵件已成為最簡便、最經濟的通信方式,但許多有害的郵件信息也隨之而來。針對這些問題,在VC開發環境下,研究并實現了基于Winpcap的郵件監控及還原系統。該系統設計了多線程模塊,可以同時處理50個郵件及附件信息,并對網絡數據包的捕獲、過濾與重組、信頭解碼、附件處理、信體內容提取等模塊進行了算法優化。功能測試和驗證結果表明,該系統穩定、可擴展,達到實時性要求。
關鍵詞: Winpcap;數據包捕獲;郵件重組;多線程;郵件解碼

    當前流行的電子郵件收發主要有兩種方式:第一種是使用Fire-Fox、IE等瀏覽器軟件登錄ISP的Web站點;第二種是使用Foxmail、Outlook等郵件客戶端軟件連接郵件服務器,通過SMTP/POP3協議收發郵件。這里主要討論基于SMTP/POP3協議郵件信息的獲取與還原技術。實驗結果表明,本系統有效實現了郵件信息捕獲和信息還原等功能,具有較高的效率和較好的時實性。
1 網絡監控相關理論基礎
1.1 Winpcap原理

    Winpcap[1-3]為數據包捕獲提供了一套標準接口,它是由伯克利分組捕獲庫派生而來的分組捕獲庫,在Win32平臺上實現對底層包的捕獲,其體系結構包括3個模塊:(1)NPF(內核級的數據報過濾器)核心的包過濾驅動程序;(2)底層的動態連接庫Packet.dll(數據包低級驅動程序庫)為Win32平臺提供了一個公共的接口;(3)高層的獨立于操作系統的庫Wpcap.dll(數據包高級驅動程序庫)[4]。
1.2 網絡監控及郵件信息獲取原理
    監控主體可以分為郵件服務器端監控、郵件客戶端監控和第三方網絡監控。本文闡述的是基于第三方網絡監控的郵件安全監控系統,即將網絡上的關于郵件協議的數據包進行截獲,并結合內容檢測技術和協議分析技術對郵件進行有效監聽。這種監控方式允許在各個組織內部靈活配置監控規則,并且響應迅速。
    網卡具有4種工作模式:直接模式、多播傳送模式、廣播模式和混雜模式[5]。網卡的缺省工作模式包含廣播模式和直接模式,即它只接收廣播幀與發給對應地址的幀。如果采用混雜模式,網卡將接收同一網絡內所有主機所發送的數據包。
1.3 SMTP/POP3協議的郵件信息獲取
    由于系統主要分析SMTP/POP3協議傳輸方式下的郵件信息獲取,因此主要針對SMTP協議、POP3協議網絡數據進行分析。根據協議特點只需要對感興趣的網絡連接進行數據重組,其他協議的網絡數據可以直接丟棄。所以只要獲取端口地址為25和110的數據包即可,如圖1所示。

2 監控郵件及郵件信息還原的分析與設計
    整個系統的設計可分為兩個部分:一個郵件監控部分,計算機運行在Windows系統下,目的是截獲經過網卡的郵件數據包;另一個是郵件解析和還原部分,主要目的是對SMTP/POP3文件進行解析,還原成原來的可讀郵件信息,并對還原后的文件進行閱讀查看、刪除等管理操作,系統的總體框架如圖2所示。系統由包捕獲功能模塊、IP協議數據解析模塊、TCP協議數據解析過濾模塊、郵件協議解析模塊、郵件解碼模塊、郵件保存模塊組成。

    下面重點分析系統中郵件重組和解碼等關鍵問題和算法的設計。
2.1 SMTP/POP3協議通信方式
    SMTP/POP3協議采用會話方式工作,通信雙方通過命令請求和命令響應進行交互,完成郵件的發送或接收。提取基于SMTP/POP3協議傳輸的郵件信息關鍵在于郵件會話的識別。下面以POP3為例,說明交互過程[6]。
2.2 POP3/SMTP還原總流程圖及還原算法
    基于POP3/SMTP協議的郵件信息還原涉及四方面的內容:數據包保存、重要域值提取、郵件內容的解析以及附件的解析還原。
    下面主要介紹面向傳輸層的數據分析還原,總流程如圖3所示。

    在對郵件協議交互過程有很深刻的認識后可對電子郵件數據包進行截獲。為了提高運行速度,防止丟包現象,提高還原文件效率,優化程序,作者創建3個線程分別執行任務:
    (1)主線程是Winpcap抓包,整個系統在貫徹主線程的基礎上對網絡層、傳輸層和應用層進行了分析和研究;
    (2)線程1是協議分析,網絡通信有很多協議,因此協議分析是關鍵,針對不同的協議有不同的分析方法,因此系統具有良好的可擴展性,可方便地添加對新的網絡協議的支持;
    (3)線程2是對電子郵件數據包的解析并還原,因此當捕獲郵件文件數據包時,打開線程組2,可以同時循環接收和保存50個郵件,不過此時這些線程是休眠狀態,可能客服端只是對SMTP/POP3服務器的一般交互過程,沒有郵件傳輸,因此要仔細觀察和分析整個郵件服務器交互過程,如果分析客戶端郵件發送動作時,觸發線程2進行郵件信息的重組、保存,直到完整地保存了整個郵件及附件后關閉線程。
    此時作者設計了SMTP/POP3郵件信息重組子流程圖,如圖4所示。

    郵件數據包重組的策略也是文件還原系統的核心,下面詳細說明捕獲和重組算法:
    (1)根據SMTP/POP3命令的參數,監聽端口號25(或110)來分析服務器與客服端之間的交互過程;
    (2)對經過網卡數據包的命令進行字符串匹配,當匹配的字符串DATA(Data)成功時;客服端要向SMTP服務器發送郵件,創建文件名為EmailFile[file_num/50],這時打開可以同時處理50個郵件的線程2進行監聽,跳至(4);
    (3)當匹配的字符串RETR成功時,客服端要向POP3客戶端接收郵件,創建文件名為EmailFile1[file1_num/50],這時打開可以同時處理50個郵件的線程2進行監聽,跳至(5);
    (4)把SMTP數據包的當前序列碼為sequence和數據偏移量data_len保存,設置標記位STRAT=1下一個包的序列碼為next_seq_num[file_num/50]。其大小為:next_seq_num[file_num/50]=sequence+data_len;保存發送郵件;跳至(6);
    (5)把當前POP3數據包的序列碼為sequence和數據偏移量data_len保存,設置標記位STRAT1=1下一個包的序列碼為next_seq_num[file1_num/50],其大小為:next_seq_
num[file1_num/50]=sequence+data_len;保存接收郵件,跳至(7);
    (6)開始重組SMTP郵件數據包并把當前序列碼記為sequence和數據偏移量 data_len,上次一個包的序列碼為next_seq_num[i]。以大小為50的循環序列進行一一判斷:當滿足next_seq_num[i]==sequence,則為該文件EmailFile[file_num/50]的數據,不等則丟棄,這樣的目的是為了在監聽多郵件傳輸時確保不會導致捕獲的數據混亂,跳至(8);
    (7)開始重組POP3郵件數據包并把當前序列碼即為sequence和數據偏移量 data_len,上次一個包的序列碼為next_seq_num[i]。以周期為50的序列進行判斷:next_
seq_num[i]==sequence,則為該文件EmailFile1[file1_num/50]的數據,不等則丟棄,這樣的目的是為了在重組多郵件傳輸時確保不會導致捕獲的數據混亂;
    (8)當數據包以一個QUIT命令來結束數據連接,則郵件SMTP/POP3郵件傳輸結束,設置標記位STRAT為0,設置標記位STRAT1為0;
    (9)關閉文件,關閉線程,停止郵件捕獲和重組子程序。
    從算法可以得出,首先識別郵件會話狀態的方法來確定郵件信息、重組郵件數據包,并保存在臨時文件夾,待郵件數據包解析和還原時調用。只需捕獲端口是80、25或110的數據包。
2.3 電子郵件內容的提取與解碼模塊的設計與實現
    互聯網上使用的電子郵件基本都遵循MIME規范,MIME郵件傳遞實際是一個經過特殊編碼并以約定格式進行網絡傳輸的,因此只需提取存儲在郵件各種域中的位置、格式和編碼信息,根據這些信息從字符序列中提取出對應的字符內容對其進行解碼,就可以得到需要的有關內容。下面是帶附件和不帶附件的郵件信息提取和解析模塊設計。流程圖如圖5所示。

    這個部分主要是郵件內容的關鍵字匹配,主要采用精確關鍵字匹配,它將待檢索的數據串和關鍵詞組成的模式串進行逐字比較,只有在數據串中發現與模式串完全一致的部分之后,關鍵詞匹配才算成功。把郵件各部分內容讀取到字符串數組中,再根據MIME規范進行編寫相應的解碼函數,經過郵件解析,提取電子郵件各部分(如發信人、收信人、主題、正文等),并對包含編碼的部分進行解碼(Base64、Quoted-Printable等),還原為可理解的電子郵件。郵件正文數據包可能分幾個子段進行傳輸,此時要循環調用函數mult_bodydecode(),當有附件時,先把正文內容解碼之后,才進行附件的解碼,這也是調用附件解碼函數Email_Attachment()對附件進行還原。直到整個郵件解析完成才關閉文件和線程,完成郵件的還原。
    本系統主要是在編程上優化,提高數據包的分析和解碼效率和速度,由本文可以看出郵件數據分析、過濾、重組、解析、還原算法建立在基于Winpcap基礎之上,因此,該系統保留了Winpcap的抓包特點的同時,也克服了Winpcap部分不足。主要體現在以下兩點:進一步提高了分析的速度,同時大大提高分析的準確性;節約了協議分析時間。
    文中設計的網絡安全監控系統,選擇Windows2000作系統平臺,利用VC++6.0編寫程序,它是基于系統的底層進行設計,與操作系統緊密結合。通過在局域網中的使用和分析,它能實時地、動態地對局域網內的所有上網主機進行監視、控制與管理,系統穩定、效果好。

參考文獻
[1] 張偉,王韜,潘艷輝,等.基于Winpcap的數據包捕獲及應用[J].計算機工程與設計,2008,29(7):1649-
1651.
[2] 循序漸進學習使用Winpcap[EB/OL].中國協議分析網.http://www.cnpaf.net/,2005.
[3] 李雪瑩,劉寶旭,許榕生.基于WinPcap的網絡監控系統性能優化[J].計算機工程,2004,30(1):8-9.
[4] 趙英男,張秉權.MIME郵件結構格式分析[J].軟件技術,2001,20(2):50-53.
[5] 秦根建,張秉權.網絡數據包截獲機制研究[J].兵工自動化,2003,22(6):2-3.
[6] 唐燕.POP3協議解析及簡單實現[J].網絡通訊與安全,2007,16(2):951-952.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          国产在线播放一区二区三区| 国产精品亚洲综合天堂夜夜| 在线播放中文一区| 欧美日韩一区成人| 久久免费视频在线观看| 亚洲国产91精品在线观看| 老鸭窝亚洲一区二区三区| 国产精品豆花视频| 亚洲国产影院| 亚洲激情婷婷| 免费亚洲网站| 国产精一区二区三区| 欧美日韩一区二区在线观看| 欧美韩日亚洲| 欧美日韩精品综合| 国产精品免费一区豆花| 欧美在线观看网址综合| 亚洲午夜久久久久久尤物| 亚洲国产高清视频| 欧美日韩麻豆| 欧美亚洲三区| 欧美精品久久久久久久| 欧美一级片一区| 欧美三级午夜理伦三级中视频| 国产精品久久久久久久app| 欧美视频在线观看一区| 国内精品免费午夜毛片| 欧美区一区二区三区| 欧美日韩激情小视频| 欧美激情第4页| 亚洲人www| 国内综合精品午夜久久资源| 欧美美女福利视频| 亚洲人屁股眼子交8| 国产精品黄视频| 欧美伊人久久| 国产精品视频一| 亚洲黄色一区二区三区| 在线播放中文一区| 欧美激情导航| 午夜精品亚洲一区二区三区嫩草| 欧美猛交免费看| 久久精品中文字幕一区二区三区| 午夜视频一区二区| 欧美精品一区在线发布| 国产精品日韩欧美一区二区三区| 亚洲理论电影网| 午夜精品久久久久久久白皮肤| 午夜视频在线观看一区| 欧美在线一二三| 欧美日韩麻豆| 欧美日韩高清在线播放| 国产精品99久久久久久白浆小说| 国产日韩欧美二区| 国产精品国产三级国产专区53| 欧美激情亚洲另类| 国产日本欧洲亚洲| 亚洲福利视频二区| 久久这里有精品15一区二区三区| 中文日韩在线视频| 午夜一级久久| 久久亚洲一区二区| 亚洲福利视频一区二区| 亚洲免费播放| 亚洲精品日韩一| 亚洲在线网站| 红桃视频国产精品| 久久久水蜜桃av免费网站| 99亚洲伊人久久精品影院红桃| 黄色亚洲大片免费在线观看| 美女视频黄 久久| 亚洲高清123| 国产精品久久久久久亚洲毛片| 久久久爽爽爽美女图片| 伊人久久综合| 一卡二卡3卡四卡高清精品视频| 欧美精品在线视频观看| 最新精品在线| 国产精品日日摸夜夜添夜夜av| 欧美在线视频网站| 欧美激情一区二区三区全黄| 国产乱人伦精品一区二区| 亚洲无吗在线| 久久久久久久波多野高潮日日| 性色一区二区三区| 在线观看成人av| 久久中文在线| 国产一区二区观看| 99日韩精品| 亚洲色图制服丝袜| 国产精品国产三级欧美二区| 欧美成人一区二区在线| 亚洲一卡久久| 欧美日韩 国产精品| 欧美一区二区三区在线观看| 亚洲女同精品视频| 国产精品久在线观看| 国产精品户外野外| 欧美精品18+| 美女福利精品视频| 一区福利视频| 亚洲毛片av| 国产精品一区二区久久久久| 蜜桃久久精品乱码一区二区| 亚洲黄色av| 在线视频一区观看| 欧美日韩免费区域视频在线观看| 亚洲一区二区精品在线观看| 亚洲一区二区三区777| 国产欧美日韩另类一区| 乱码第一页成人| 欧美www视频在线观看| 欧美尤物巨大精品爽| 亚洲综合色视频| 日韩视频免费看| 亚洲国产天堂网精品网站| 尤妮丝一区二区裸体视频| 亚洲精品美女在线| 亚洲欧美精品一区| 欧美日韩视频一区二区三区| 欧美日本一区二区高清播放视频| 欧美一区日韩一区| 国产精品天天看| 国产精品视频福利| 国产精品区一区二区三区| 国产一区视频网站| 久久亚洲午夜电影| 亚洲精品无人区| 欧美成人精品一区二区三区| 亚洲欧美日本国产专区一区| 在线看一区二区| 国产一区二区欧美| 国产小视频国产精品| 国产精品一卡| 久久一区国产| 99视频日韩| 在线视频你懂得一区| 久久深夜福利免费观看| 日韩写真视频在线观看| aa级大片欧美三级| 激情欧美一区二区| 亚洲欧美日韩一区二区在线| 午夜精品三级视频福利| 欧美成人免费播放| 国产精品视频网| 欧美日韩一区二区国产| 欧美午夜女人视频在线| 狠狠做深爱婷婷久久综合一区| 欧美日韩国产大片| 久久久久久久波多野高潮日日| 尤妮丝一区二区裸体视频| 中文一区二区| 国产精品日韩| 亚洲第一久久影院| 欧美三级韩国三级日本三斤| 韩国av一区二区三区四区| 欧美日韩一区视频| 国产精品视频免费一区| 亚洲国产精品精华液网站| 国产精品免费电影| 国产欧美日韩激情| 久久九九99视频| 亚洲国产精品一区制服丝袜| 久久国产免费| 毛片av中文字幕一区二区| 国产精品一区二区三区久久久| 日韩视频精品在线观看| 亚洲成人在线免费| 久久字幕精品一区| 国产亚洲欧美中文| 老司机aⅴ在线精品导航| 91久久精品国产91性色tv| 久久久不卡网国产精品一区| 久久福利视频导航| 国产真实精品久久二三区| 国产一区二区三区无遮挡| 韩日欧美一区| 亚洲欧美日韩高清| 亚洲国产成人午夜在线一区| 樱花yy私人影院亚洲| 欧美破处大片在线视频| 欧美无乱码久久久免费午夜一区| 欧美亚洲一区二区在线观看| 国产精品视频一二三| 欧美一区二区三区成人| 国产亚洲精品一区二区| 亚洲欧洲日韩综合二区| 精品动漫3d一区二区三区| 欧美成人免费一级人片100| 午夜视频一区在线观看| 欧美视频日韩视频| 欧美高清你懂得| 在线精品国产成人综合| 亚洲欧洲免费视频| 欧美成人国产| 最新国产成人av网站网址麻豆| 欧美一区二区三区在线免费观看| 亚洲人被黑人高潮完整版| 99re热这里只有精品视频| 欧美色视频一区| 欧美午夜精品久久久久久久| 欧美亚洲在线观看| 亚洲高清资源综合久久精品| 国产美女精品在线| 亚洲免费一在线| 亚洲国产精品久久精品怡红院| 久久黄色小说| 一区二区三区四区精品| 老牛影视一区二区三区| 在线视频精品一| 99精品视频免费在线观看| 国产一区二区三区在线播放免费观看| 亚洲女优在线| 欧美吻胸吃奶大尺度电影| 欧美亚洲一区在线| 国产日韩精品视频一区二区三区| 久久在线免费视频| 国产亚洲欧美另类一区二区三区| 夜久久久久久| 国产精品一区久久| 亚洲精品日韩在线| 亚洲午夜国产一区99re久久| 欧美猛交免费看| 久久精品中文字幕免费mv| 亚洲男人天堂2024| 国产欧美三级| 欧美顶级少妇做爰| 欧美在线观看一区二区| 国产综合亚洲精品一区二| 99视频在线精品国自产拍免费观看| 国产欧美日韩麻豆91| 欧美在线播放| 亚洲综合色噜噜狠狠| 欧美淫片网站| 国产女主播在线一区二区| 国产精品国产一区二区| 极品少妇一区二区| 久久精品国产一区二区三区| 亚洲黄色成人网| 欧美日本在线观看| 午夜精品网站| 女人香蕉久久**毛片精品| 激情成人综合| 久久尤物视频| 国产视频亚洲精品| 久久国产精品亚洲77777| 欧美精品在线观看播放| 99国内精品久久| 中文一区二区在线观看| 欧美一级黄色录像| 狠狠色丁香久久婷婷综合_中| 亚洲精选成人| 欧美午夜电影完整版| 亚洲女同精品视频| 日韩亚洲国产欧美| 欧美视频观看一区| 亚洲激情二区| 在线观看精品视频| 欧美在线在线| 久久久久久电影| 麻豆精品视频在线观看视频| 亚洲天堂成人在线观看| 久久久国产亚洲精品| 欧美性感一类影片在线播放| 国产一区二区三区精品久久久| 国产精品日韩欧美综合| 欧美激情影院| 欧美二区在线观看| 久久激五月天综合精品| 亚洲已满18点击进入久久| 亚洲免费在线视频一区 二区| 久久久精品国产一区二区三区| 亚洲精品一区二区三区在线观看| 亚洲视频网在线直播| 欧美日韩中文字幕在线| 免费高清在线视频一区·| 国产视频精品免费播放| 久久久成人精品| 亚洲丁香婷深爱综合| 欧美sm极限捆绑bd| 国产综合精品一区| 日韩亚洲欧美中文三级| 国产精品综合不卡av| 久久亚洲欧美| 久久久久久欧美| 久久久久一区二区| 国产欧美日韩精品一区| 99热免费精品在线观看| 亚洲影院色无极综合| 久久精品一本| 老妇喷水一区二区三区| 亚洲网站在线看| 亚洲一区制服诱惑| 亚洲日本va在线观看| 亚洲国产成人91精品| 亚洲日本免费| 日韩午夜精品视频| 亚洲国产精品va在线看黑人动漫| 欧美视频在线一区| 国产亚洲一区在线| 欧美国产日韩一二三区| 亚洲乱码视频| 中国女人久久久| 国产亚洲一区在线播放| 欧美一区二区在线免费播放| 亚洲国产精品一区二区久| 亚洲精品国产系列| 欧美日韩亚洲免费| 国产精品免费观看在线| 亚洲国产精品成人一区二区| 欧美+亚洲+精品+三区| 欧美精品在线视频| 国产精品久久一卡二卡| 国产综合亚洲精品一区二| 一区二区激情视频| 欧美精品啪啪| 国产精品视频导航| 国产精品福利片| 欧美激情精品久久久六区热门| 欧美在线观看天堂一区二区三区| 国产亚洲日本欧美韩国| 久久婷婷国产综合尤物精品| 亚洲国产精品一区制服丝袜| 欧美国产综合视频| 国产精品网站在线观看| 国产一区二区三区自拍| 国产日韩精品视频一区| 在线观看日韩一区|