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

        ?

        基于關(guān)系型數(shù)據(jù)庫的網(wǎng)絡(luò)流數(shù)據(jù)預(yù)處理方法

        2021-05-14 03:57:42朱金奇花季偉喬增順
        計算機(jī)應(yīng)用與軟件 2021年5期
        關(guān)鍵詞:特征提取分類特征

        王 盛 朱金奇 花季偉 喬增順

        (天津師范大學(xué)計算機(jī)與信息工程學(xué)院 天津 300387)

        0 引 言

        據(jù)報道,到2020年將有超過200億的IoT設(shè)備連入互聯(lián)網(wǎng)[1],這些設(shè)備將在網(wǎng)絡(luò)中產(chǎn)生海量數(shù)據(jù)流,面對如此巨大的網(wǎng)絡(luò)流量,如何管理和識別流量數(shù)據(jù),并從中準(zhǔn)確提取不同設(shè)備的分類特征,成為研究挑戰(zhàn),同時也是有效管理IoT設(shè)備的關(guān)鍵。準(zhǔn)確的流量劃分是設(shè)備正確分類的前提,設(shè)備的正確分類則是網(wǎng)絡(luò)管理和網(wǎng)絡(luò)安全的基礎(chǔ)保障。

        近年來,研究者提出了不同的設(shè)備分類預(yù)處理方法。文獻(xiàn)[2]組合使用tcptrace[3]、C語言和Perl腳本來提取網(wǎng)絡(luò)流量特征。文獻(xiàn)[4]提出了一種IoT設(shè)備流量分類與識別工具的構(gòu)造原型。文獻(xiàn)[5]提出在路由器或網(wǎng)關(guān)中部署網(wǎng)絡(luò)包采集器(如wireshark[6]﹑tcpdump[7]),其可以發(fā)現(xiàn)網(wǎng)絡(luò)中所有設(shè)備所產(chǎn)生的流量并生成相應(yīng)的記錄輸出給上層的預(yù)處理程序,同時提供了一種pcap文件流提取工具。文獻(xiàn)[8]闡述了一種將全部pcap文件數(shù)據(jù)轉(zhuǎn)換為ARFF(Attribute-Relation File Format)文件格式的流程方法。然而,文獻(xiàn)[2,4-5]僅提出了一種處理方法架構(gòu),卻沒有提供詳盡的實現(xiàn)過程。此外,文獻(xiàn)[5]的采集方案中沒有充分考慮路由器等嵌入式設(shè)備的存儲容量問題以及運(yùn)算資源占用過高等限制性因素。文獻(xiàn)[8]所生成的ARFF格式文件并不適用于主流機(jī)器學(xué)習(xí)框架Tensorflow[9]等,僅是數(shù)據(jù)格式的轉(zhuǎn)換,沒有網(wǎng)絡(luò)流統(tǒng)計特征的提取過程。

        不同的流量分類需求,會有相應(yīng)不同的流量統(tǒng)計特征。如設(shè)備分類場景的流量特征有固定時段內(nèi)數(shù)據(jù)包峰值﹑數(shù)據(jù)包長度平均值﹑傳輸協(xié)議種類數(shù)量等;在網(wǎng)絡(luò)安全分類場景的流量特征一般會有服務(wù)類型﹑一段范圍內(nèi)的連接請求數(shù)﹑連接持續(xù)時間及登錄嘗試失敗數(shù)等。在UCI[10]網(wǎng)站上,公開了許多預(yù)處理后的標(biāo)準(zhǔn)數(shù)據(jù)集,其中包括經(jīng)典的KDD Cup99流量分類數(shù)據(jù)集,一個經(jīng)典的數(shù)據(jù)集需要對原始pcap流量數(shù)據(jù)進(jìn)行相當(dāng)多的預(yù)處理工作,包括從海量數(shù)據(jù)中去除無效記錄(噪聲)﹑填補(bǔ)空值﹑計算統(tǒng)計值等,良好的預(yù)處理效果是能夠準(zhǔn)確分類的前提。雖然KDD Cup99是一種可供公開下載的數(shù)據(jù)集,但并沒有公開任何文檔或資料來闡述該數(shù)據(jù)集的構(gòu)造實現(xiàn)過程。這就造成如果要使用自采集的pcap流量文件訓(xùn)練機(jī)器學(xué)習(xí)模型,必須首先自己實現(xiàn)一套流量特征提取方法,但該方法也只對應(yīng)于該自采集流量文件的分類場景,從而造成不同分類場景下的自采集流量文件預(yù)處理過程的重復(fù)性開發(fā),缺少一種可復(fù)用的公開實現(xiàn)方法。

        針對上述問題,本文主要工作如下:1) 實現(xiàn)了一種通用性的網(wǎng)絡(luò)流量數(shù)據(jù)集構(gòu)造方法,對于常用流量統(tǒng)計特征進(jìn)行了模塊化抽象,對于不同的流量分類場景可以模塊化拼裝統(tǒng)計特征,從而快速完成特征提取任務(wù),極大提升了流量預(yù)處理工作的提取效率,填補(bǔ)了原始pcap采集文件至Tensorflow模型訓(xùn)練輸入文件(CSV)之間的銜接處理過程;2) 提出了一種特征提取庫的模塊化思想方法,通過構(gòu)建特征提取庫可以不斷完善和積累不同分類場景下的流量統(tǒng)計特征,這一構(gòu)建思想可以不斷提升本文方法的通用性和健壯性。通過在公開的pcap原始數(shù)據(jù)集上的實驗,實現(xiàn)了針對該數(shù)據(jù)集統(tǒng)計特征提取的預(yù)處理需求。實驗結(jié)果表明,本文處理流程和方法能夠有效解決pcap網(wǎng)絡(luò)流統(tǒng)計特征的提取,進(jìn)而完成設(shè)備流量數(shù)據(jù)集的預(yù)處理工作。與現(xiàn)有方法相比,本文完整闡述了整個預(yù)處理流程并公布了核心代碼。

        1 相關(guān)工作

        目前主流網(wǎng)絡(luò)流量分類方法有三種,分別是基于應(yīng)用端口號的分類方法、基于包載荷的深層包檢測(DPI)技術(shù)[11]分類方法、基于流統(tǒng)計的分類方法[12-13]。

        基于端口的分類方法是根據(jù)IANA[14]上所列出的全部公開使用的端口號與流量包頭中的端口號進(jìn)行比對,從而判斷流量所屬的應(yīng)用類型。例如,HTTP協(xié)議的Web應(yīng)用使用固定的80端口,DNS域名解析服務(wù)使用53端口等。文獻(xiàn)[15]提出了一種基于端口連接模式與并發(fā)連接數(shù)量的流量分類方法。文獻(xiàn)[16]提出了一種使用端口號對UDP流量進(jìn)行分類的方法。隨著網(wǎng)絡(luò)應(yīng)用的不斷增多,這種通過簡單比對固定端口號的方式,已經(jīng)很難滿足流量分類需要,尤其是P2P應(yīng)用普遍采用動態(tài)端口的方式以及端口偽裝技術(shù)[17]的出現(xiàn),造成基于端口識別的方法的準(zhǔn)確性不高。

        基于深層包檢測(DPI)技術(shù)的分類方法是使用數(shù)據(jù)包中的全部載荷內(nèi)容(payload)來對流量進(jìn)行識別和分類,通過檢查包中所含有的一些特定字符或模式,來判定其所屬的流量類別。該方法僅需對組成網(wǎng)絡(luò)流的前面若干個數(shù)據(jù)包進(jìn)行檢測就可以完成識別任務(wù),因此可以在流量產(chǎn)生早期就完成分類。文獻(xiàn)[18]使用一種隨機(jī)森林算法與內(nèi)容包檢測技術(shù)相結(jié)合的分類方法,并且使用了文獻(xiàn)[4]中所提出的一種支持物聯(lián)網(wǎng)流量分類的監(jiān)控體系結(jié)構(gòu)作為統(tǒng)計特征提取工具。文獻(xiàn)[19]簡要介紹了DPI中的挑戰(zhàn)和一些設(shè)計目標(biāo),綜述了DPI技術(shù)的算法實現(xiàn)及相關(guān)應(yīng)用。文獻(xiàn)[20-21]提出了一種基于DPI技術(shù)的網(wǎng)絡(luò)管理和分類系統(tǒng)。深度包檢測方法由于要對包中數(shù)據(jù)信息逐一進(jìn)行比對,當(dāng)數(shù)據(jù)量較大時需要花費(fèi)較長時間,伴隨網(wǎng)絡(luò)通信加密技術(shù)的普及,對于包載荷內(nèi)容的獲取也變得越發(fā)困難。

        基于統(tǒng)計的分類方法是利用不同應(yīng)用流量之間的特性不同而加以區(qū)分,一般使用機(jī)器學(xué)習(xí)算法或神經(jīng)網(wǎng)絡(luò)模型對流量特征數(shù)據(jù)進(jìn)行訓(xùn)練,經(jīng)過訓(xùn)練的模型可以捕獲到不同應(yīng)用流量的特征區(qū)別從而完成分類。文獻(xiàn)[12]對于機(jī)器學(xué)習(xí)在流分類領(lǐng)域的應(yīng)用進(jìn)行了詳細(xì)匯總,討論了在IP流分類中應(yīng)用機(jī)器學(xué)習(xí)分類器的關(guān)鍵需求。文獻(xiàn)[13]提出了一種統(tǒng)計流量分類的新模式,通過監(jiān)督和非監(jiān)督相結(jié)合的機(jī)器學(xué)習(xí)技術(shù)來發(fā)現(xiàn)之前未知的流量應(yīng)用。文獻(xiàn)[22]介紹了一種基于卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)模型的網(wǎng)絡(luò)流量分類器。由于基于統(tǒng)計的分類方法僅依賴于網(wǎng)絡(luò)數(shù)據(jù)包頭信息,如傳輸字節(jié)數(shù)﹑網(wǎng)絡(luò)協(xié)議﹑TCP窗口尺寸等,無論從數(shù)據(jù)可靠性還是獲取便利性上,基于統(tǒng)計的流分類方法都是更好的選擇。實際上,為獲得快速準(zhǔn)確的分類效果,不僅取決于深度學(xué)習(xí)模型及其參數(shù)配置,所選取進(jìn)行訓(xùn)練的流量統(tǒng)計特征也具有重要作用。由于使用的是特征數(shù)據(jù),如何在眾多的流量特征中根據(jù)具體的流分類應(yīng)用場景(如:IoT設(shè)備類型分類﹑惡意流檢測[23]分類等)來細(xì)粒度地選擇和提取出最有效﹑區(qū)分度最高的特征集合,往往需要進(jìn)行大量排列組合的特征工程[24]提取實驗,即從原始流量文件(pcap格式)中提取出模型訓(xùn)練所需要使用的統(tǒng)計特征數(shù)據(jù)(CSV格式),這也是本文預(yù)處理過程須解決的問題。

        2 方法設(shè)計

        2.1 流程描述

        基于統(tǒng)計的流分類方法較其他兩種分類方法有可靠性高﹑不依賴載荷內(nèi)容的優(yōu)點,下面介紹了預(yù)處理方法針對流分類領(lǐng)域研究較多的包和流這兩個不同流量粒度進(jìn)行統(tǒng)計特征的提取。

        流量數(shù)據(jù)特征一般可分為包特征和流特征。網(wǎng)絡(luò)流量數(shù)據(jù)按照劃分粒度不同,可以分為包(網(wǎng)絡(luò)消息傳輸劃分的最小數(shù)據(jù)塊)數(shù)據(jù)﹑流(具有相同五元組:源IP、源端口、目的IP、目的端口、傳輸協(xié)議的所有包)數(shù)據(jù)以及會話(包含雙向流的所有包)數(shù)據(jù),劃分粒度依次遞增。在流量特征選擇和提取過程中會根據(jù)具體的流分類應(yīng)用場景單一使用某種流量數(shù)據(jù)或組合使用不同粒度的流量數(shù)據(jù)。

        1) 包(Packet)表示為:

        P={P1,P2,…,Pi,…}

        Pi=(xi1,xi2,…,xij,…)

        (1)

        式中:P表示流量數(shù)據(jù)中所有包集合;Pi表示第i個包記錄;xij表示第i個包中的第j個屬性值(如包長度﹑收發(fā)時間﹑傳輸協(xié)議等)。

        2) 流(Flow)表示為:

        F={F1|t1,F2|t2,…,Fk|tk,…}

        Fk={P1|P1∈Fk,P2|P2∈Fk,…,Pn|Pn∈Fk,…}

        Pn=(xn1,xn2,…,xnj,…)

        P1.xg=P2.xg=…=Pn.xg=…

        (2)

        式中:F表示流量數(shù)據(jù)中劃分出的所有流集合;Fk表示組成一個流的所有包的集合;tk表示第k個流中首個包的開始時間(t1

        3) 會話(Session)表示和流表示類似,一個會話是由一個流的兩個傳輸方向(五元組中的源和目的互換)所構(gòu)成,發(fā)送流和接收流形成的完整閉環(huán)稱為會話。若發(fā)送流的五元組值為xg={xsrcIP,xsrcPort,xdstIP,xdstPort,xprotocol},則接收流的五元組值即為xg-={xdstIP,xdstPort,xsrcIP,xsrcPort,xprotocol}。

        本文預(yù)處理過程主要由五個處理環(huán)節(jié)構(gòu)成,分別是原始數(shù)據(jù)流量采集﹑數(shù)據(jù)包提取﹑記錄轉(zhuǎn)儲﹑統(tǒng)計特征提取﹑處理結(jié)果導(dǎo)出。其總體思想是對統(tǒng)計特征進(jìn)行規(guī)則抽象并與SQL語言進(jìn)行細(xì)粒度綁定,綁定后即形成統(tǒng)計特征提取庫,該提取庫會隨著新的流量分類需求而不斷擴(kuò)充,在實際使用中可以模塊化地選取并組合使用特征提取庫中的方法。圖1描述了特征提取庫的構(gòu)建過程及使用方式,通過不斷實現(xiàn)流分類領(lǐng)域的統(tǒng)計特征,每實現(xiàn)一種新的統(tǒng)計特征,就會把該實現(xiàn)方式添加到預(yù)處理特征提取庫。當(dāng)進(jìn)行自采集的pcap流量特征提取時,就可以從預(yù)處理特征庫中選取已實現(xiàn)的提取方法直接拼裝使用,從而高效提取出所需特征。常用的基于流的統(tǒng)計特征有流中所含包個數(shù)﹑流持續(xù)的時間﹑流的總字節(jié)大小﹑流中各個包大小的最大值最小值均值等。在實際統(tǒng)計特征提取時需根據(jù)五元組屬性值匯總出不同的流,根據(jù)不同的分類場景需求,可以進(jìn)一步對不同的流進(jìn)行切分并分段統(tǒng)計從而生成流量統(tǒng)計特征,如按固定包數(shù)統(tǒng)計則僅提取每個流的前N個數(shù)據(jù)包,按固定時間段統(tǒng)計則將流中所含數(shù)據(jù)包按時間戳順序進(jìn)行時間范圍歸并。表1所示的部分示例展示了統(tǒng)計特征規(guī)則抽象與特征提取庫實現(xiàn)方式之間的對應(yīng)關(guān)系。

        圖1 特征提取庫模塊化復(fù)用過程

        表1 統(tǒng)計特征規(guī)則抽象與特征提取庫對應(yīng)關(guān)系(部分)

        首先在網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中部署流量采集軟件,使得采集軟件可以發(fā)現(xiàn)整個拓?fù)渲兴芯W(wǎng)絡(luò)設(shè)備的通信數(shù)據(jù)包,將采集到的原始流量數(shù)據(jù)(二進(jìn)制文件)保存至硬盤空間,使用流量分析工具從此二進(jìn)制文件中提取出所需要的文本數(shù)據(jù)并存儲為CSV文本文件格式,接下來通過數(shù)據(jù)庫管理工具將此CSV文件數(shù)據(jù)導(dǎo)入至數(shù)據(jù)庫表中,最后由數(shù)據(jù)庫語言(SQL)統(tǒng)計出流量特征數(shù)據(jù)并導(dǎo)出結(jié)果文件。各個環(huán)節(jié)對原始流量數(shù)據(jù)依次進(jìn)行處理,并生成相應(yīng)的中間狀態(tài)結(jié)果數(shù)據(jù),將前一環(huán)節(jié)的處理結(jié)果作為后一環(huán)節(jié)的數(shù)據(jù)輸入,經(jīng)過多種數(shù)據(jù)形態(tài)的轉(zhuǎn)換,最終生成所需數(shù)據(jù)集。各環(huán)節(jié)數(shù)據(jù)形式轉(zhuǎn)化過程如表2所示。

        表2 各環(huán)節(jié)處理前后數(shù)據(jù)形式變化情況

        2.2 數(shù)據(jù)交互與實現(xiàn)方法

        本文提出的網(wǎng)絡(luò)流統(tǒng)計特征預(yù)處理流程及架構(gòu)如圖2所示。本節(jié)闡述了從pcap文件采集至最終生成CSV訓(xùn)練數(shù)據(jù)集的全部處理環(huán)節(jié),各詳細(xì)實現(xiàn)步驟如下。

        圖2 網(wǎng)絡(luò)流統(tǒng)計特征預(yù)處理流程及架構(gòu)

        步驟一在欲采集的網(wǎng)絡(luò)中,使用端口鏡像技術(shù)[25]將頂層交換機(jī)上所有網(wǎng)絡(luò)端口的收發(fā)數(shù)據(jù)轉(zhuǎn)發(fā)至其上一個獨立的匯聚端口,該匯聚端口連接至數(shù)據(jù)采集主機(jī),采集主機(jī)上安裝并運(yùn)行Wireshark流量采集軟件。Wireshark中選取連接匯聚端口的網(wǎng)卡進(jìn)行數(shù)據(jù)監(jiān)聽和采集,并設(shè)置pcap文件的存儲路徑及存儲規(guī)則,如可設(shè)置每天或每文件大小達(dá)到1 GB等規(guī)則進(jìn)行pcap文件的拆分存儲,默認(rèn)情況下Wireshark會實時采集數(shù)據(jù)至內(nèi)存中,如果一次性采集周期較長或網(wǎng)絡(luò)流信息較大則會造成內(nèi)存溢出的異常。

        步驟二將采集得到的pcap文件,通過tshark命令行工具,自定義提取出所需要的屬性(field)值,如五元組值﹑包長度﹑包產(chǎn)生時間等,并存儲為CSV格式文件。根據(jù)所屬協(xié)議的不同,Wireshark目前有超過幾十萬的屬性字段(field)可供使用[26],這就要根據(jù)不同分類場景的領(lǐng)域知識,靈活甄別選用。

        步驟三使用Navicat Premium(或SQLyog)工具,將步驟二生成的CSV文件通過圖形化界面操作(新建連接→選擇已有或新建數(shù)據(jù)庫→選擇表導(dǎo)入向?qū)А鷮?dǎo)入類型選擇CSV文件)導(dǎo)入至MySQL數(shù)據(jù)庫中,成功導(dǎo)入后每個CSV文件對應(yīng)生成一張同名數(shù)據(jù)庫表。

        步驟四打開數(shù)據(jù)庫的查詢分析器工具,使用SQL(Structured Query Language)編程語言[27]從數(shù)據(jù)表中查詢匯總出所需的流統(tǒng)計特征值記錄,并根據(jù)應(yīng)用或設(shè)備的類別(如按MAC地址或協(xié)議等屬性進(jìn)行區(qū)分)增加相對應(yīng)的訓(xùn)練標(biāo)簽(label)列。綜合運(yùn)用SQL語言提供的COUNT、AVG、MAX、GROUP BY等函數(shù)語句可以方便地進(jìn)行統(tǒng)計信息值的計算,對于多張數(shù)據(jù)庫表的統(tǒng)計匯總可以使用UNION語句來處理。

        步驟五在步驟四的查詢結(jié)果顯示窗口中,通過Navicat Premium工具的導(dǎo)出功能,將預(yù)處理后的記錄以CSV格式進(jìn)行導(dǎo)出并作為神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練數(shù)據(jù)集。

        至此整個預(yù)處理流程執(zhí)行完畢。如果使用最終生成的CSV文件來訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型沒有達(dá)到預(yù)期結(jié)果,可再次返回步驟四嘗試其他的統(tǒng)計特征組合,選取效果最優(yōu)的組合方案。如果步驟三中生成的數(shù)據(jù)庫表字段不足,可以再次重復(fù)步驟二,提取出更多種類的數(shù)據(jù)包屬性字段,并繼續(xù)執(zhí)行后續(xù)步驟即可。在處理步驟二時可以將有價值或較常用的數(shù)據(jù)包屬性值一次性提取出來,在后續(xù)步驟中可以選擇性使用,從而降低每次實驗嘗試的復(fù)雜度和時間成本。

        3 實 驗

        3.1 網(wǎng)絡(luò)數(shù)據(jù)流采集

        實驗環(huán)境在天津師范大學(xué)數(shù)據(jù)中心中進(jìn)行,該數(shù)據(jù)中心負(fù)責(zé)維護(hù)校園網(wǎng)網(wǎng)絡(luò),擁有校園卡維護(hù)系統(tǒng)﹑學(xué)生及教職工管理系統(tǒng)、弱電間和教學(xué)樓監(jiān)控安防系統(tǒng)等,各個系統(tǒng)后臺服務(wù)器通過不同的網(wǎng)絡(luò)隔離機(jī)柜獨立部署和運(yùn)行。

        選取監(jiān)控安防系統(tǒng)作為數(shù)據(jù)流的采集網(wǎng)絡(luò),該網(wǎng)絡(luò)通過集中器將各樓宇分散的安防設(shè)備與數(shù)據(jù)中心建立連接,每個集中器對應(yīng)采集溫濕度﹑煙霧﹑火焰﹑水浸﹑人體及電能監(jiān)測共六種傳感器設(shè)備,集中器的采集端使用485接口連接設(shè)備,對上層使用RJ45網(wǎng)口傳輸數(shù)據(jù)。每臺監(jiān)控設(shè)備自身含有RJ45網(wǎng)口,可以獨立上傳通信數(shù)據(jù)。整個網(wǎng)絡(luò)將監(jiān)控攝像頭和集中器分為兩個子網(wǎng)絡(luò),子網(wǎng)間由路由器連接并分屬于不同的網(wǎng)段,后臺服務(wù)器通過固定的時間間隔下發(fā)數(shù)據(jù)采集命令,產(chǎn)生通信數(shù)據(jù)流。整個校園部署集中器和攝像裝置較多,表3列出了部分設(shè)備及網(wǎng)絡(luò)配置,圖3顯示了其中一個監(jiān)控區(qū)域的狀態(tài)數(shù)據(jù)。

        表3 校園監(jiān)控及安防系統(tǒng)網(wǎng)絡(luò)組成設(shè)備(部分?jǐn)?shù)據(jù))

        圖3 設(shè)備間房間狀態(tài)監(jiān)控

        由于該系統(tǒng)為巡檢類系統(tǒng),所有流量設(shè)備會根據(jù)收到的采集命令定期向服務(wù)器上報狀態(tài)數(shù)據(jù),故直接在后臺服務(wù)器上部署Wireshark軟件進(jìn)行流量采集。服務(wù)器操作系統(tǒng)為Windows Server 2008,Wireshark版本為win64-1.10.4,設(shè)置pcap文件存儲路徑為D:wiresharkpackageCapture,當(dāng)文件大小達(dá)到50 MB時進(jìn)行拆分并使用格式“rawdatas_{序號}_{年月日時分秒(采集開始時間)}”自動命名。部分采集的pcap文件如圖4所示。

        圖4 采集的pcap文件(部分?jǐn)?shù)據(jù))

        3.2 統(tǒng)計特征提取

        為了更好地說明本文方法的適用性及便于對比,統(tǒng)計特征提取過程將在公開的pcap文件集上進(jìn)行實驗,該數(shù)據(jù)集是文獻(xiàn)[28]于2018年在網(wǎng)站https://iotanalytics.unsw.edu.au/iottraces上公布的原始流量數(shù)據(jù)集,數(shù)據(jù)在物聯(lián)網(wǎng)環(huán)境中進(jìn)行收集,經(jīng)過3周多時間共采集了屬于7個類別的21種設(shè)備的流量數(shù)據(jù)。文獻(xiàn)[5]在該數(shù)據(jù)集上找到了一組能夠明顯區(qū)分不同設(shè)備類別的統(tǒng)計特征屬性集合(用戶包數(shù)量﹑用戶包長度平均值﹑用戶包長度峰值﹑控制包數(shù)量﹑控制包平均值﹑控制包峰值)。下面通過實驗完整實現(xiàn)文獻(xiàn)[5]中的特征提取需求,以此說明本文方法的有效性和適用性。

        首先下載全部2016-09-23至2016-10-12共20天的pcap文件,每天對應(yīng)一個文件并以對應(yīng)日期命名。通過tshark工具逐一對20個pcap文件進(jìn)行屬性(field)值提取,并對應(yīng)生成20個CSV文件,tshark默認(rèn)與Wireshark軟件共同安裝在同級目錄下,實驗所用主機(jī)操作系統(tǒng)為Windows 7安裝路徑在C:Program FilesWireshark下。其中一個pcap文件的完整提取過程代碼如圖5所示。

        圖5 tshark提取pcap文件至CSV

        將提取出的CSV文件通過SQLyog工具逐個導(dǎo)入MySQL8.0.16數(shù)據(jù)庫,導(dǎo)入過程如圖6所示。

        圖6 CSV轉(zhuǎn)儲至數(shù)據(jù)庫

        根據(jù)需求,需要將數(shù)據(jù)包按照所屬類別進(jìn)行排序,每個類別中的數(shù)據(jù)包按所屬設(shè)備進(jìn)行排序,排序后每個設(shè)備中的數(shù)據(jù)包再以5分鐘的間隔時間進(jìn)行匯總,統(tǒng)計出每個間隔時間段內(nèi)的包數(shù)量﹑包長度平均值和包長度峰值,并根據(jù)每個包傳輸協(xié)議的不同,將上述三個匯總值分別拆分為用戶數(shù)據(jù)和控制數(shù)據(jù),最后根據(jù)不同類別打上相應(yīng)的訓(xùn)練標(biāo)簽(label)值。通過SQL語言實現(xiàn)該需求的代碼如下:

        SELECT CONCAT(DATE_FORMAT(′_ws#col#AbsTime′,

        ′%Y-%m-%d %H:′),IF(FLOOR(DATE_FORMAT(′_ws#col#AbsTime′,

        ′%i′)/5)<10,CONCAT(0,FLOOR(DATE_FORMAT(′_ws#col#AbsTime′,

        ′%i′)/5)),FLOOR(DATE_FORMAT(′_ws#col#AbsTime′, ′%i′)/5)))

        AS5MinInterval,

        COUNT(CASE WHEN ′_ws#col#Protocol′ NOT IN

        (′ICMP′,′ARP′,′DNS′,′NTP′) THEN 1 ELSE NULL END) AS

        userPacketNumber,

        AVG(CASE WHEN ′_ws#col#Protocol′ NOT IN

        (′ICMP′,′ARP′,′DNS′,′NTP′) THEN CONVERT(′frame#len′,

        DECIMAL) ELSE NULL END) ASuserPacketLengthAvg,

        MAX(CASE WHEN ′_ws#col#Protocol′ NOT IN (′ICMP′,′ARP′,

        ′DNS′,′NTP′) THEN CONVERT(′frame#len′,DECIMAL)

        ELSE NULL END) ASuserpacketLengthPeak,

        COUNT(CASE WHEN ′_ws#col#Protocol′ IN (′ICMP′,′ARP′,

        ′DNS′,′NTP′) THEN 1 ELSE NULL END) AS

        controlPacketNumber,

        AVG(CASE WHEN ′_ws#col#Protocol′ IN (′ICMP′,′ARP′,

        ′DNS′,′NTP′) THEN CONVERT(′frame#len′,DECIMAL)

        ELSE NULL END) AScontrolPacketLengthAvg,

        MAX(CASE WHEN ′_ws#col#Protocol′ IN (′ICMP′,′ARP′,

        ′DNS′,′NTP′) THEN CONVERT(′frame#len′,DECIMAL) ELSE NULL END) AScontrolpacketLengthPeak,

        CASEWHEN (IFNULL(′eth#src′,″)=′44:65:0d:56:cc:d3′ OR

        IFNULL(′eth#dst′,″)=′44:65:0d:56:cc:d3′) THEN 1

        WHEN (IFNULL(′eth#src′,″)=′e0:76:d0:33:bb:85′ OR

        IFNULL(′eth#dst′,″)=′e0:76:d0:33:bb:85′) THEN 2

        WHEN (IFNULL(′eth#src′,″) IN

        (′00:24:e4:11:18:a8′,′70:ee:50:18:34:43′,′00:16:6c:ab:6b:88′) OR

        IFNULL(′eth#dst′,″) IN

        (′00:24:e4:11:18:a8′,′70:ee:50:18:34:43′,′00:16:6c:ab:6b:88′)) THEN 3

        WHEN (IFNULL(′eth#src′,″) IN (′ec:1a:59:79:f4:89′,′50:c7:bf:00:56:39′) OR

        IFNULL(′eth#dst′,″) IN (′ec:1a:59:79:f4:89′,′50:c7:bf:00:56:39′)) THEN 4

        ELSE -1 END ASlabel,

        case WHEN (IFNULL(′eth#src′,″)=′44:65:0d:56:cc:d3′ OR

        IFNULL(′eth#dst′,″)=′44:65:0d:56:cc:d3′) THEN ′Hubs_Amazon Echo_44:65:0d:56:cc:d3′

        WHEN (IFNULL(′eth#src′,″)=′e0:76:d0:33:bb:85′ OR

        IFNULL(′eth#dst′,″)=′e0:76:d0:33:bb:85′) THEN ′Electronics_Pix photo frame_e0:76:d0:33:bb:85′

        WHEN (IFNULL(′eth#src′,″)=′00:24:e4:11:18:a8′ OR

        IFNULL(′eth#dst′,″)=′00:24:e4:11:18:a8′) THEN ′Cameras_Withing Smart Baby Monitor_00:24:e4:11:18:a8′

        WHEN (IFNULL(′eth#src′,″)=′70:ee:50:18:34:43′ OR

        IFNULL(′eth#dst′,″)=′70:ee:50:18:34:43′) THEN ′Cameras_Netatmo Welcome_70:ee:50:18:34:43′

        WHEN (IFNULL(′eth#src′,″)=′00:16:6c:ab:6b:88′ OR

        IFNULL(′eth#dst′,″)=′00:16:6c:ab:6b:88′) THEN ′Cameras_Samsung Smart Camera_00:16:6c:ab:6b:88′

        WHEN (IFNULL(′eth#src′,″)=′ec:1a:59:79:f4:89′ OR

        IFNULL(′eth#dst′,″)=′ec:1a:59:79:f4:89′) THEN

        ′Switches&Triggers_Belkin Wemo Switch_ec:1a:59:79:f4:89′

        WHEN (IFNULL(′eth#src′,″)=′50:c7:bf:00:56:39′ OR

        IFNULL(′eth#dst′,″)=′50:c7:bf:00:56:39′) THEN

        ′Switches&Triggers_TP-Link Smart Plug_50:c7:bf:00:56:39′

        END ASdevice

        FROM world.′16-09-23_export_csv′GROUP BY label,

        device,5MinInterval

        HAVING label !=-1 /*hereunion other tables*/

        ORDER BY label,device,5MinInterval

        上述代碼實現(xiàn)了2016年9月23日的流量統(tǒng)計特征值提取,其他日期的特征提取,僅需在此代碼基礎(chǔ)上更換表名后使用UNION語句連接即可。將SQL查詢結(jié)果導(dǎo)出為CSV文件作為神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練數(shù)據(jù)集,如圖7所示,得到的屬性列可分為流量特征和業(yè)務(wù)特征兩類,其中用戶包數(shù)量(userPacketNumber)﹑用戶包長度平均值(userPacketLengthAvg)﹑用戶包長度峰值(userPacketLengthPeak)﹑控制包數(shù)量(controlPacketNumber)﹑控制包長度平均值(controlPacketLengthAvg)﹑控制包長度峰值(controlPacketLengthPeak)為六個統(tǒng)計特征列,5分鐘時間段(5MinInterval)﹑標(biāo)簽類別(lable)﹑標(biāo)簽對應(yīng)的設(shè)備(device)為三個業(yè)務(wù)特征列,通過六個統(tǒng)計特征列和一個訓(xùn)練標(biāo)簽列即構(gòu)成了深度學(xué)習(xí)領(lǐng)域的訓(xùn)練數(shù)據(jù)集,另外兩個業(yè)務(wù)特征列僅便于人工校驗。得到的這六個統(tǒng)計特征列即完整實現(xiàn)了文獻(xiàn)[5]所提出的對于設(shè)備分類場景區(qū)分度最高的一組特征向量。類似地可生成測試數(shù)據(jù)集,至此完成整個預(yù)處理實驗流程。

        圖7 預(yù)處理后生成的流量統(tǒng)計特征數(shù)據(jù)集(前20條)

        3.3 方法對比

        為了進(jìn)一步說明本文方法的有效性,將本文方法﹑流量提取工具SDN-pcap-Simulator以及傳統(tǒng)Excel統(tǒng)計方式三者進(jìn)行實現(xiàn)對比。SDN-pcap-Simulator是文獻(xiàn)[28]中公開數(shù)據(jù)集所配套的預(yù)處理工具(C語言編寫),根據(jù)說明其調(diào)用方式為bin/sim[pcap-filename][mode]。參數(shù)mode有三種模式,分別為0-獲取所有IP流﹑1-獲取所有NTP流﹑2-獲取所有DNS流,通過一條命令可以提取到所有IP包。雖然是與數(shù)據(jù)集所配套的工具,但其所提供的功能有很大局限性,僅是把解析到的網(wǎng)絡(luò)流寫到一個日志文件里,沒有進(jìn)一步處理且不計算統(tǒng)計特征。作為Office辦公軟件之一的Excel工具,具有十分強(qiáng)大的數(shù)據(jù)處理功能,可以操縱和匯總CSV文件格式數(shù)據(jù),通過其所提供的數(shù)據(jù)透視表功能可以手動實現(xiàn)分類匯總的統(tǒng)計功能,但由于Excel同一工作表的記錄行有數(shù)量限制,在實際操作中提示超出1 048 576行的處理上限,且文件十分龐大操作響應(yīng)緩慢,這對于動輒數(shù)千萬記錄的pcap包文件,顯然已經(jīng)超出了其處理能力,這就導(dǎo)致傳統(tǒng)Excel的預(yù)處理方式效率低﹑易出錯﹑不易維護(hù)。本文方法創(chuàng)新性地提出統(tǒng)計特征規(guī)則抽象與特征提取庫對應(yīng)的思想方法,較現(xiàn)有流量提取工具極大地提升了流量特征提取工作的需求通用性,在處理能力和處理效率方面較Excel手動拖曳數(shù)據(jù)方式有了顯著提升,由于結(jié)合了關(guān)系型數(shù)據(jù)庫及SQL語言的處理優(yōu)勢,后期數(shù)據(jù)調(diào)整的靈活性﹑海量數(shù)據(jù)的批處理能力和代碼的可擴(kuò)展可復(fù)用性均可以得到有效保證。表4為三種預(yù)處理方式的效果對比。

        表4 三種預(yù)處理方式的效果對比

        由于SDN-pcap-Simulator在通用性上無法實現(xiàn)定制需求,下面只對Excel和本文方法進(jìn)行數(shù)據(jù)處理效率的定量比較。對比的統(tǒng)計特征需求為匯總并提取出不同數(shù)據(jù)流的包數(shù)量和包長度平均值,使用的處理機(jī)器配置為Intel i5- 4210M 2.6 GHz處理器﹑4 GB內(nèi)存﹑64位操作系統(tǒng),對比數(shù)據(jù)源選取16-09-23.pcap流量文件,該流量文件中共有947 072條數(shù)據(jù)包記錄。本文方法通過表1中第一項﹑第三項﹑第四項組合實現(xiàn);Excel方法通過數(shù)據(jù)透視表設(shè)置五元組為行標(biāo)簽,數(shù)量和平均值為數(shù)值標(biāo)簽來實現(xiàn)。表5顯示了兩種方法對于上述統(tǒng)計特征需求的處理效率對比,其中統(tǒng)計執(zhí)行階段本文方法用時高于Excel方法是由于Excel在數(shù)據(jù)加載(文件打開)時將數(shù)據(jù)讀取到了內(nèi)存并寫到界面上,等到統(tǒng)計執(zhí)行時Excel就只在界面上和內(nèi)存中操作,不用再讀取物理文件,因為Excel在數(shù)據(jù)加載階段消耗了較長時間,導(dǎo)致了單純的執(zhí)行速度Excel會比較快。不難發(fā)現(xiàn)由于本文方法采用的數(shù)據(jù)載體是數(shù)據(jù)庫表,在數(shù)據(jù)加載和全部處理過程用時上有明顯優(yōu)勢,且若對數(shù)據(jù)字段較為熟悉,可省略數(shù)據(jù)加載過程用時,直接運(yùn)行SQL語句統(tǒng)計執(zhí)行即可,而Excel方法必須經(jīng)過較長的數(shù)據(jù)加載過程。

        表5 數(shù)據(jù)處理效率(平均用時)對比 s

        4 結(jié) 語

        本文提出利用關(guān)系型數(shù)據(jù)庫提取網(wǎng)絡(luò)流統(tǒng)計特征的方法,綜合運(yùn)用了網(wǎng)絡(luò)領(lǐng)域知識和數(shù)據(jù)庫領(lǐng)域知識,并結(jié)合了深度學(xué)習(xí)領(lǐng)域數(shù)據(jù)集的構(gòu)建格式[10],完成了從原始pcap流量文件至神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練文件之間的預(yù)處理轉(zhuǎn)換,實驗結(jié)果顯示了該方法具有很好的實用性和普適性。未來可以進(jìn)一步改進(jìn)為動態(tài)SQL結(jié)合SP(存儲過程)的方式,從而提升大批量pcap文件的處理效率和自動化程度。

        猜你喜歡
        特征提取分類特征
        分類算一算
        如何表達(dá)“特征”
        基于Gazebo仿真環(huán)境的ORB特征提取與比對的研究
        電子制作(2019年15期)2019-08-27 01:12:00
        不忠誠的四個特征
        分類討論求坐標(biāo)
        數(shù)據(jù)分析中的分類討論
        教你一招:數(shù)的分類
        抓住特征巧觀察
        一種基于LBP 特征提取和稀疏表示的肝病識別算法
        基于MED和循環(huán)域解調(diào)的多故障特征提取
        丰满少妇又紧又爽视频| 欧美人伦禁忌dvd放荡欲情| 欧美国产一区二区三区激情无套| 欧美成人久久久免费播放| 国产一级片内射在线视频| 国产三级精品三级男人的天堂| 国产亚洲精品a片久久久| av蓝导航精品导航| 无码av一区在线观看| av一区二区三区观看| 成人国产一区二区三区| 国产乱子乱人伦电影在线观看| 国产成人免费高清激情明星| 国产精品日本一区二区三区在线| 男人国产av天堂www麻豆| 中国凸偷窥xxxx自由视频| 青青国产成人久久91| 日本免费三片在线视频| 成人片黄网站a毛片免费| 午夜dj在线观看免费视频| 国产性一交一乱一伦一色一情| 中文字幕人妻av一区二区| 精品av熟女一区二区偷窥海滩| 久久国产精久久精产国| 被暴雨淋湿爆乳少妇正在播放| 蜜桃视频羞羞在线观看| 中文字幕一区日韩精品| 日韩毛片基地一区二区三区| 天堂av在线一区二区| 亚洲国产精品av在线| 无遮无挡爽爽免费毛片| 国产亚洲午夜精品| 一区二区三区亚洲免费| 国产亚洲精品a片久久久| 亚洲欧美日韩一区在线观看| 国产免费视频一区二区| 色综合久久中文综合网亚洲| 中国农村熟妇性视频| 成人在线免费视频亚洲| 久久久精品国产亚洲av网麻豆| 国产女主播白浆在线观看|