王學(xué)婷+劉尚東+李劍+周瑋
摘要:研究安卓系統(tǒng)在連入網(wǎng)絡(luò)的情況下,手機(jī)收發(fā)流量基于應(yīng)用類型的分類情況。通過(guò)截取手機(jī)收發(fā)的流量包,并從中提取具有標(biāo)志特征的流屬性,生成矩陣數(shù)據(jù),采用合適的分類算法,進(jìn)行流關(guān)于應(yīng)用類型的識(shí)別劃分。
關(guān)鍵詞:安卓系統(tǒng);流量;抓包;應(yīng)用劃分
1引言
隨著智能手機(jī)和3G、4G網(wǎng)絡(luò)的普及,流量也成為話費(fèi)支出的一大巨頭。據(jù)著名分析機(jī)構(gòu)Strategy Analytics公司發(fā)布的一份關(guān)于Android用戶數(shù)據(jù)流量使用情況最新調(diào)研報(bào)告顯示,有近四分之_的Android用戶被歸類為“重度用戶(Power User)”,每天使用的數(shù)據(jù)流量超過(guò)300M。日益增長(zhǎng)的手機(jī)流量消費(fèi)以及手機(jī)流量分類對(duì)于運(yùn)行商改善網(wǎng)絡(luò)發(fā)展規(guī)劃、提供高能效業(yè)務(wù)等方面的重大影響,都使得對(duì)于手機(jī)流量的應(yīng)用分類成為我們關(guān)注的目標(biāo)。而安卓手機(jī)作為手機(jī)系統(tǒng)中的主流,自然地被選作了手機(jī)系統(tǒng)分類研究的目標(biāo)。
目前,網(wǎng)絡(luò)流量的分類已經(jīng)被廣大研究者關(guān)注,在流量分類上也取得了較大的成果。本實(shí)驗(yàn)的目的就是將網(wǎng)絡(luò)流量的分類算法引入到安卓手機(jī)流量分類中來(lái),基于應(yīng)用將手機(jī)上進(jìn)出的流量進(jìn)行識(shí)別劃分。針對(duì)這個(gè)目的,我們的工作主要流程是獲取安卓手機(jī)不同類型應(yīng)用的報(bào)文,提取某些流測(cè)度,訓(xùn)練出一個(gè)分類器,當(dāng)安卓手機(jī)有應(yīng)用傳輸數(shù)據(jù)時(shí),抓取報(bào)文,利用訓(xùn)練出來(lái)的分類器進(jìn)行流量的識(shí)別,判斷是哪類應(yīng)用。
每個(gè)報(bào)文的頭部都有相同的指標(biāo),但是不同的應(yīng)用交換的流的指標(biāo)參數(shù)都有其獨(dú)特的特征,這也是本文將流為劃分不同應(yīng)用的依據(jù)?;谡_的分類算法,能夠較為準(zhǔn)確的判斷出應(yīng)用類別。
檢測(cè)流的應(yīng)用分類,本文將其分為以下幾個(gè)步驟。(1)獲取不同類型應(yīng)用的流的特征參數(shù)出訓(xùn)練分類器。(2)用抓包軟件抓取手機(jī)后臺(tái)吞吐的流量包,保存,提取特征參數(shù)。(3)通過(guò)域名地址對(duì)應(yīng)表或分類器進(jìn)行應(yīng)用確定。本文監(jiān)測(cè)的流量和訓(xùn)練分類器所用的流量,都是來(lái)源于運(yùn)行配備android系統(tǒng)的手機(jī)上的不同應(yīng)用而捕捉到的。
2相關(guān)工作
關(guān)于網(wǎng)絡(luò)流量分類的研究成果,主要可以歸納為4種方法:基于標(biāo)準(zhǔn)端口匹配、基于深度包檢測(cè)、基于協(xié)議解析和基于統(tǒng)計(jì)學(xué)習(xí)方法。每種方法各有優(yōu)缺點(diǎn)和適用范圍。鑒于基于端口和基于協(xié)議的局限性,本文將采用較為靈活的基于統(tǒng)計(jì)學(xué)習(xí)的分類算法。前人在此已經(jīng)有了較為豐富的成果:周劍峰等人改進(jìn)了C4.5算法,提高決策樹的構(gòu)建速度;林平、雷振明等人通過(guò)程序?qū)Σ杉臄?shù)據(jù)進(jìn)行特征提取,利用兩類流的特征,將單個(gè)流檢驗(yàn)的正確率大幅度提高,同時(shí)也將最終模型從35個(gè)特征參數(shù)降維到26個(gè),進(jìn)一步降低了復(fù)雜度。
綜上,可以總結(jié)出基于統(tǒng)計(jì)學(xué)習(xí)的流量分類的內(nèi)容:基于統(tǒng)計(jì)學(xué)習(xí)的流量分類方法通過(guò)計(jì)算特定的應(yīng)用流量的統(tǒng)計(jì)信息,利用各種機(jī)器學(xué)習(xí)算法,包括有監(jiān)督和無(wú)監(jiān)督學(xué)習(xí)算法,對(duì)捕獲的數(shù)據(jù)包進(jìn)行鑒別。
3數(shù)據(jù)采集以及特征參數(shù)獲取
分類器的訓(xùn)練是整個(gè)研究的中心和重點(diǎn),訓(xùn)練分類器的數(shù)據(jù)是影響分類的準(zhǔn)確性的重要因素。為了減少不確定因素,本文用來(lái)訓(xùn)練分類器的數(shù)據(jù)都是通過(guò)運(yùn)行安卓手機(jī)應(yīng)用獲取的。獲取數(shù)據(jù)的方法是用電腦建立wifi,將手機(jī)連接至電腦,利用電腦的wireshark軟件抓取流量包,編寫Java程序,提取出所需的三個(gè)特征參數(shù),保存為txt文件。本文中為了訓(xùn)練分類器選取了三個(gè)特征參數(shù)(Time——流持續(xù)時(shí)間,Packets——流報(bào)文總數(shù),Bytes——流字節(jié)總數(shù)),利用不同應(yīng)用具有相應(yīng)的特性的特點(diǎn),來(lái)訓(xùn)練分類器和檢測(cè)應(yīng)用。
分類器的訓(xùn)練需要通過(guò)大量不同類型應(yīng)用數(shù)據(jù),主要可分為三類。(1)電話應(yīng)用——由微信軟件打電話生成的流參數(shù)。(2)語(yǔ)音應(yīng)用——由微信軟件發(fā)語(yǔ)音生成的流參數(shù)。(3)消息應(yīng)用——由微信軟件發(fā)消息生成的流參數(shù)。
但是,不同的數(shù)據(jù)在流特征很小的地方重合度較高,因此,在訓(xùn)練分類器的之前,應(yīng)該通過(guò)數(shù)據(jù)過(guò)濾,將小于某一特定流測(cè)度的數(shù)據(jù)點(diǎn)全部過(guò)濾掉,只利用具有代表性特征的數(shù)據(jù)點(diǎn)去進(jìn)行訓(xùn)練。在利用訓(xùn)練好的分類器進(jìn)行判斷的時(shí)候也可以像這樣,對(duì)后臺(tái)的包進(jìn)行過(guò)濾后,再判斷其應(yīng)用類型。
通過(guò)圖通過(guò)排除具有誤導(dǎo)性和干擾性的數(shù)據(jù)后,分類器的精確度會(huì)大大提升,為本次實(shí)驗(yàn)的成功奠定了基礎(chǔ)。
4分類器模型
分類器模型的建立主要是依靠經(jīng)過(guò)處理后分為三類的訓(xùn)練數(shù)據(jù)以及做出分類的算法。主要是利用圖形來(lái)表示。
利用gnuplot軟件畫聚類之后的三維圖如圖1所示。
可以從圖上看出不同類型的數(shù)據(jù)分散較開,當(dāng)一組數(shù)據(jù)過(guò)來(lái)時(shí),就可以通過(guò)觀察它的在圖中的分布狀況,就可以得出它屬于哪一類應(yīng)用。
5結(jié)語(yǔ)
文章研究了基于統(tǒng)計(jì)學(xué)習(xí)方法的安卓手機(jī)流量分類,從應(yīng)用這個(gè)角度切入,將手機(jī)流量大致分為三類一一語(yǔ)音、電話和消息。從上面的實(shí)驗(yàn)可以看到不同的統(tǒng)計(jì)學(xué)習(xí)方法具有不同的準(zhǔn)確性。
基于統(tǒng)計(jì)學(xué)習(xí)方法的流量分類具有較高的靈活性,操作簡(jiǎn)便。但是由于基于統(tǒng)計(jì)學(xué)習(xí)的方法對(duì)數(shù)據(jù)的選取要求較高,準(zhǔn)確性易受其影響,如果檢驗(yàn)采用的流不包含或僅含有較少的具有代表性的報(bào)文,將會(huì)難以辨別其屬于哪一類應(yīng)用,所以此方法具有一定的局限性。
目前已經(jīng)做好的分類是僅僅利用了三個(gè)流測(cè)度來(lái)進(jìn)行劃分,而實(shí)際應(yīng)用中流的特征遠(yuǎn)遠(yuǎn)不止這些,如果將更多能作為分類依據(jù)的特征參數(shù)加入到分類的因素中,分類的效果應(yīng)該會(huì)更好、更精確。