【正文】
ngIP=((XOriginatingIP: )+18,15)。if(int xo2=(39。X39。)!=1)XOriginatingIP=((XOriginatingIP: )+18,14)。}(XOriginatingIP)。然后通過(guò) CString 的 Find 函數(shù)和 Mid 函數(shù)來(lái)從 eml 文件中獲取 IP 地址,并通過(guò) AddString()函數(shù)將 IP 地址在列表框中進(jìn)行顯示。③去重的功能實(shí)現(xiàn)有時(shí)候?qū)μ囟窂较碌奶囟ㄎ募?huì)進(jìn)行重復(fù)提取,這時(shí)候要可通過(guò)該功能來(lái)去掉重復(fù)的,以防止對(duì)同一路徑下 eml 文件的重復(fù)提取。重慶郵電大學(xué)本科畢業(yè)設(shè)計(jì)(論文) 29 去重前界面 去重后的界面 去重功能的實(shí)現(xiàn)該功能主要的實(shí)現(xiàn)代碼如下:for(i=0,j=1。icount,jcount。i++,j++){n = ( i )。( i, (n) )。bufstri = (0)。n = ( j )。( j, (n) )。bufstrj = (0)。if(bufstri == bufstrj){(j)。count 。i 。j 。}④導(dǎo)出并查看結(jié)果該功能主要是把提取到的 IP 地址保存 txt 文本中,然后把可對(duì)文本中存在的 IP 地址進(jìn)行查看。重慶郵電大學(xué)本科畢業(yè)設(shè)計(jì)(論文) 30 保存到 文本中 導(dǎo)出成功并進(jìn)行查看圖 導(dǎo)出結(jié)果并進(jìn)行查看該功能的主要實(shí)現(xiàn)的代碼如下:CFileDialogdlg(FALSE,_T(txt),*.txt,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,_T(文本文件 |*.txt|))?!璴pszFile = ()。CFile File。int n。重慶郵電大學(xué)本科畢業(yè)設(shè)計(jì)(論文) 31 (lpszFile,CFile::modeCreate|CFile::modeWrite)?!瑿String cmdline = +lpszFile。WinExec(cmdline,SW_SHOW)。首先使用 CFileDialog()確定所要保存的文件類型,然后再通過(guò)GetPathName()查看文件名,在使用 ()創(chuàng)建新文件并設(shè)為只讀,利用WinExec(cmdline,SW_SHOW)進(jìn)行打開(kāi)查看文件內(nèi)容。 二、 IP 地址的地理位置來(lái)源提取① 從純真數(shù)據(jù)庫(kù)獲取 IP 來(lái)源該部分主要是針對(duì)純真數(shù)據(jù)庫(kù)的文件格式,在此了解的基礎(chǔ)上實(shí)現(xiàn)了對(duì)純真數(shù)據(jù)庫(kù)的提取,從而得到了 IP 的物理地址來(lái)源進(jìn)行顯示。 獲取 IP 對(duì)應(yīng)的物理地址主要的實(shí)現(xiàn)代碼如下:InitFilePath();……while (l = u){i = (DWORD)((float)(l + u) / 2 + )。 (dwFirstIp + i * 7, CFile::begin)。beginip = GetLong()。if (IP beginip) {u = i 1。 }else{(GetLong3(), CFile::begin)。endip = GetLong()。重慶郵電大學(xué)本科畢業(yè)設(shè)計(jì)(論文) 32 if (IP endip) {l = i + 1。}else{findip = dwFirstIp + i * 7。 break。}}}……(GetLong3(), CFile::begin)。country = GetCountry()。(offset + 4, CFile::begin)。area = GetArea()。 該功能首先 初始化 InitFilePath()來(lái)初始化讀取純真數(shù)據(jù)庫(kù)文件,然后通過(guò)二分查找法獲取 IP 地址所在的絕對(duì)偏移位置,最后通過(guò)對(duì)重定向模式的判斷,在不同的模式下通過(guò) GetCountry()和 GetArea()函數(shù)獲取 IP 地址所對(duì)應(yīng)的地理位置信息。② 對(duì) IP 及其物理位置進(jìn)行展示該部分主要把前面查詢到的 IP 地址及其來(lái)源記錄到 txt 文本中,然后可對(duì)全部信息進(jìn)行查看,同時(shí)可以在 box 中選取任意一個(gè) IP 地址便可得到其來(lái)源。 IP 地址及其物理位置顯示重慶郵電大學(xué)本科畢業(yè)設(shè)計(jì)(論文) 33 主要代碼實(shí)現(xiàn)如下:CFileDialog dlg(TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, _T(文本文件(*.*)|*.*||))。……CString strPathName = ()。CStdioFile file。……(strPathName, CFile::modeRead)……(strText))……()。該功能首先定義 CFileDialog dlg()方法創(chuàng)建文件對(duì)話框,然后通過(guò)GetPathName()獲取文件路徑,再通過(guò) ()打開(kāi)文件,使用 ReadString()函數(shù)讀取文件信息,最后關(guān)閉文件。第三節(jié) 依據(jù) IP 對(duì)郵件之間關(guān)系的可視化顯示一、 依據(jù) IP 對(duì)郵件之間關(guān)系的顯示該部分主要是通過(guò) C解析 xml 文件,把前面提取到的所有 IP 地址的關(guān)系通過(guò)樹(shù)狀結(jié)構(gòu)進(jìn)行顯示,展開(kāi) link 列表時(shí)就會(huì)顯示收發(fā)件人的的收發(fā)關(guān)系,展開(kāi) BasicInformation 列表則會(huì)分別顯示每個(gè)收發(fā)件人對(duì)應(yīng)的 IP 地址及地理位置,展開(kāi) ponent 列表會(huì)顯示與取證對(duì)象有關(guān)的所有發(fā)件人的 IP 地址。重慶郵電大學(xué)本科畢業(yè)設(shè)計(jì)(論文) 34 圖 IP 地址的詳細(xì)物理信息主要的代碼實(shí)現(xiàn)如下:XML 文件格式如下:rootslinklink1linkNamelink1/linkNamestartSender1/startendReceiver/endString……linkBasicInformation Receiver IP/IP address重慶市電信 /address……/BasicInformationponent重慶郵電大學(xué)本科畢業(yè)設(shè)計(jì)(論文) 35 Sender1ponentName/ponentNameponentTypeIpType/ponentType/Sender1……/ponentroots 該 XML 文檔主要的節(jié)點(diǎn)包括roots,link,BasicInformation,ponent幾個(gè)節(jié)點(diǎn),然后每個(gè)節(jié)點(diǎn)下面又包括子節(jié)點(diǎn),子節(jié)點(diǎn)又包括相關(guān)節(jié)點(diǎn)信息。 C解析 XML 文檔的主要代碼如下:string myFilter = *.xml。 doc = new XmlDocument()?!? {(fileName)。 XmlNodeList nodeList = 。 basicName = nodeList[0].Name。QueueXmlNode nodeQueue = new QueueXmlNode()。foreach (XmlNode xmlElement in nodeList){(xmlElement)。}while ( 0){XmlNode xmlElement = ()?!璮oreach (XmlNode element in ){(element)。}該功能首先定義過(guò)濾接口確定保存格式為 xml,new XmlDocument()初始化一個(gè) xml 實(shí)例,通過(guò) Load()函數(shù)加載 XML 文檔,再獲取有序列表XmlNodeLis 的子節(jié)點(diǎn),如果單個(gè)節(jié)點(diǎn)在子節(jié)點(diǎn)中,則通過(guò)()加入當(dāng)前 xmlElement 中, 是來(lái)判斷該節(jié)點(diǎn)是否有子節(jié)點(diǎn),如果有則直接把其加入。重慶郵電大學(xué)本科畢業(yè)設(shè)計(jì)(論文) 36 二、 將 IP 對(duì)應(yīng)的地理位置來(lái)源在地圖上進(jìn)行可視化顯示該部分主要是利用百度地圖的 API 技術(shù)根據(jù) IP 地址在百度地圖上進(jìn)行定位,在前面部分已經(jīng)對(duì) IP 地址信息進(jìn)行了展示,因此,輸入任何 IP 地址,便可在地圖上顯示其地理位置。點(diǎn)擊國(guó)則會(huì)只顯示國(guó)家位置,點(diǎn)擊省則會(huì)只顯示對(duì)應(yīng)的省,點(diǎn)擊市只會(huì)顯示其對(duì)應(yīng)的市,點(diǎn)擊街則會(huì)精確到具體某個(gè)街,同時(shí)可對(duì)地圖中心上下左右進(jìn)行移動(dòng)。 IP地址對(duì)應(yīng)的地理位置的可視化展現(xiàn)該部分主要的實(shí)現(xiàn)代碼如下:string ip = GetStr_Callback(MtRFyamp。ip=, , bd09ll)。JObject o = (((ip)[content].ToString())[point].ToString())。 = new ScriptExample()。string html = !DOCTYPE HTML……var map = new (39。allmap39。)。 var point = new ( + getx(o) + , + gety(o) + )。 重慶郵電大學(xué)本科畢業(yè)設(shè)計(jì)(論文) 37 (point, 11)。(new ())。該部分通過(guò)自定義函數(shù)GetStr_Callback ()通過(guò)創(chuàng)建 Http請(qǐng)求,獲取百度地圖API 的密鑰以及設(shè)置SDK在百度地上進(jìn)行打點(diǎn)。在 WindowsForms 應(yīng)用程序中使用 WebBrowser 來(lái)加載 HTML 頁(yè)面進(jìn)行展現(xiàn)百度地圖。展示百度地圖時(shí)首先實(shí)例化Map獲取地圖的可視化區(qū)域,然后設(shè)置坐標(biāo)和平移控件。第四節(jié) 本章小結(jié)本章首先從開(kāi)發(fā)語(yǔ)言、操作系統(tǒng)、開(kāi)發(fā)環(huán)境三個(gè)方面介紹了本系統(tǒng)的開(kāi)發(fā)環(huán)境。接下來(lái)從主要代碼實(shí)現(xiàn)和界面顯示兩個(gè)方面介紹了實(shí)現(xiàn)過(guò)程。第二節(jié)從電子郵件 IP 地址提取及其所對(duì)應(yīng)的來(lái)源提取兩個(gè)模塊的實(shí)現(xiàn)過(guò)程及其界面進(jìn)行了截圖,第三節(jié)主要對(duì)提取到的所有 IP 地址關(guān)聯(lián)信息進(jìn)行展現(xiàn),然后對(duì)每一個(gè) IP 地址把其所對(duì)應(yīng)的物理位置在百度地圖上進(jìn)行可視化顯示的實(shí)現(xiàn)。重慶郵電大學(xué)本科畢業(yè)設(shè)計(jì)(論文) 38 第六章 全文總結(jié)第一節(jié) 論文工作總結(jié)隨著科技的發(fā)展,計(jì)算機(jī)取證技術(shù)也得到快速的發(fā)展,但是隨著網(wǎng)絡(luò)人際關(guān)系的復(fù)雜化,在計(jì)算機(jī)取證中對(duì)其進(jìn)行可視化分析變得越來(lái)越重要,在國(guó)外像 i2 Analyst39。s Notebook 系統(tǒng)在這方面做了很大的貢獻(xiàn),但是在國(guó)內(nèi)這方面的發(fā)展還是比較欠缺,在這種情況下,本文實(shí)現(xiàn)了簡(jiǎn)單的對(duì)電子郵件取證的可視化分析系統(tǒng)。本文通過(guò)對(duì)基于 Web 電子郵件進(jìn)行下載,然后在下載到本地的 eml 文件中提取郵件中的 IP 地址,然后根據(jù) IP 地址從純真數(shù)據(jù)庫(kù)中提取出 IP 地址的來(lái)源;接著把所有提取到的 IP 地址的關(guān)聯(lián)信息通過(guò)樹(shù)狀結(jié)構(gòu)進(jìn)行展現(xiàn),然后在百度地圖上把 IP 地址的地理位置可視化顯示出來(lái)。本論文的主要工作可歸納為以下幾點(diǎn):介紹了計(jì)算機(jī)取證技術(shù),計(jì)算機(jī)取證可視化分析技術(shù)的背景介紹,計(jì)算機(jī)取證可視化分析技術(shù)在國(guó)內(nèi)外的研究現(xiàn)狀。對(duì)電子郵件取證的可視化分析的背景及意義介紹,從電子郵件協(xié)議、郵件頭兩個(gè)方面對(duì)電子郵件進(jìn)行了了解,對(duì)純真數(shù)據(jù)庫(kù)格式進(jìn)行了研究。通過(guò) C解析包括電子郵件 IP 地址的 XML 文件以及百度 Map 的 API技術(shù)了解。在電子郵件取證的可視化分析系統(tǒng)設(shè)計(jì)時(shí),首先從 eml 中提取出對(duì)應(yīng)的 IP 地址,然后根據(jù) IP 地址從純真 IP 數(shù)據(jù)庫(kù)中提取出對(duì)應(yīng)的地理位置來(lái)源;再利用 C解析包括電子郵件 IP 地址的 XML 文檔并對(duì)所有 IP 地址關(guān)系通過(guò)樹(shù)狀結(jié)構(gòu)展現(xiàn),進(jìn)而利用百度地圖 API 技術(shù)把 IP 地址對(duì)應(yīng)的物理地址在地圖上可視化展現(xiàn)出來(lái)。在系統(tǒng)是實(shí)現(xiàn)是通過(guò)兩部分來(lái)完成,首先利用 MFC 實(shí)現(xiàn) IP 地址及來(lái)源提取部分,然后利用 C解析 XML 文檔展現(xiàn) IP 地址的關(guān)聯(lián)信息以及通過(guò)百度地圖 API 技術(shù)加載 HTML 來(lái)把 IP 地址對(duì)應(yīng)的物理地位進(jìn)行可視化顯示。第二節(jié) 本文下步研究工作展望在本文中電子郵件取證的可視化分析系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)為今后的進(jìn)一步重慶郵電大學(xué)本科畢業(yè)設(shè)計(jì)(論文) 39 研究打下了基礎(chǔ),但是本文還是又一些不足,還需進(jìn)一步的研究與改善,主要有以下幾個(gè)方面:除了 qq 電子郵件外還有 16Gmail 的等很多電子郵件,這將是下步研究進(jìn)行拓展的方向。在 IP 地址及其對(duì)應(yīng)的來(lái)源提取之后,沒(méi)有對(duì)其進(jìn)行自動(dòng)化記錄而是人工記錄,因此未能體現(xiàn)自動(dòng)化,這方面也有待完善。在利用百度地圖 API 技術(shù)對(duì) IP 地址對(duì)應(yīng)的物理地址在百度地上進(jìn)行定位但并沒(méi)有把其傳輸路徑進(jìn)行展現(xiàn),這方面需要改進(jìn)。重慶郵電大學(xué)本科畢業(yè)設(shè)計(jì)(論文) 40 參考文獻(xiàn)[1] 高娜.計(jì)算機(jī)取證技術(shù)綜述 [J].瀘州職業(yè)技術(shù)學(xué)院學(xué)報(bào), 2022,(2):4447 [2] 尉永青,劉培德.計(jì)算機(jī)取證技術(shù)研究 [J].信息技術(shù)與信息化,2022(4):8485[3] 國(guó)家中長(zhǎng)期科學(xué)和技術(shù)發(fā)展規(guī)劃綱要: [4] [M]. 清華大學(xué)出版社 中國(guó)人民公安大學(xué)出版社,2022[5] Fanlin Meng, Shunxiang Wu,Junbin Yang, Genzhen Yu. Research of an Email Forensic and Analysis System Based on Visualization[J].