專利名稱::P2p-tv頻道特征碼出現(xiàn)規(guī)律的提取方法及基于其的p2p-tv頻道識別方法和識別系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及P2P流量識別領(lǐng)域,更具體地說,涉及到網(wǎng)絡(luò)流量所對應(yīng)的P2P-TV頻道的識別技術(shù)。
背景技術(shù):
:P2P-TV作為一種新興的網(wǎng)絡(luò)業(yè)務(wù)在網(wǎng)上迅速流行,人們可以很方便地利用P2P-TV平臺觀看電視,電影等,現(xiàn)在網(wǎng)上流行的P2P-TV平臺有PPLive、PPStream、QQLive、UUSee、SOPCast等等。這些平臺給人們帶來便捷的同時,同樣也帶來一系列的問題基于P2P的應(yīng)用技術(shù)大規(guī)模的使用大量的占用了網(wǎng)絡(luò)帶寬;由于各采用不同的私有協(xié)議,容易脫離監(jiān)管的范圍;加之網(wǎng)絡(luò)本身的脆弱性,這些平臺很容易成為一些不法分子和反動勢力的攻擊對象,使之成為傳播非法信息的渠道,危及到國家和社會的利益。所以加大對P2P-TV平臺的監(jiān)管顯得十分緊迫。國內(nèi)外許多研究機(jī)構(gòu)進(jìn)行了大量關(guān)于P2P-TV平臺的研究,主要集中在測量和識別兩個方面。識別是監(jiān)管的基礎(chǔ),過去的工作主要集中在P2P-TV平臺的識別方面,這方面的技術(shù)也逐漸趨向成熟,平臺識別的方法主要集中在以下兩個方面—是基于特征碼的識別,找出不同平臺應(yīng)用層數(shù)據(jù)中的特種字碼段,形成特征庫,識別的過程中從待識別流量中提取特征碼進(jìn)行匹配。二是基于行為特征的識別方法,該方法主要是根據(jù)包大小、傳輸層協(xié)議、端口數(shù)量、會話持續(xù)時間等行為特征對P2P-TV平臺進(jìn)行識別。如今對P2P流媒體的平臺監(jiān)管需更加精細(xì)化的控制,除了采用上述方法識別出平臺以外,還需要識別出發(fā)生異常的具體頻道,因此對P2P流媒體的平臺內(nèi)各頻道的進(jìn)一步識別變得非常有必要。
發(fā)明內(nèi)容針對上述現(xiàn)有技術(shù),本發(fā)明的目的旨在提供一種P2P-TV頻道特征碼出現(xiàn)規(guī)律的提取方法及基于其的P2P-TV頻道識別方法和識別系統(tǒng),以便能夠在園區(qū)網(wǎng)的出口端識別出網(wǎng)內(nèi)哪些節(jié)點(diǎn)在觀看P2P-TV平臺內(nèi)的哪些具體頻道,對園區(qū)網(wǎng)的數(shù)據(jù)進(jìn)行更加精確的監(jiān)控,且該識別方法快速,易于實(shí)現(xiàn),得出的識別結(jié)果準(zhǔn)確無誤。為了實(shí)現(xiàn)上述目的,本發(fā)明采取了如下技術(shù)方案—種P2P-TV頻道特征碼出現(xiàn)規(guī)律的提取方法,包括以下步驟步驟一,數(shù)據(jù)采集數(shù)據(jù)采集在兩個不同的時間段分別進(jìn)行,每次從連接于園區(qū)網(wǎng)的PC上采集同一P2P-TV平臺的兩個頻道的兩段t時長的凈流量數(shù)據(jù),其中兩次采集的兩個頻道相同;步驟二、數(shù)據(jù)處理對采集到的四段數(shù)據(jù)流進(jìn)行協(xié)議過濾和端口過濾,保留主要UDP端口內(nèi)的UDP數(shù)據(jù),其中主要UDP端口是指t時長的采樣時間段內(nèi)數(shù)據(jù)量最大的UDP端□;步驟三、統(tǒng)計UDP數(shù)據(jù)中字節(jié)碼段的出現(xiàn)頻率對于每一段數(shù)據(jù)流中所有數(shù)據(jù)包中的有效載荷數(shù)據(jù)前n個字節(jié),分別統(tǒng)計長度為m(mG[4,l],4<l<n)字節(jié)的連續(xù)的字節(jié)碼段的出現(xiàn)頻率,對n-3個統(tǒng)計結(jié)果按照出現(xiàn)頻率由大到小進(jìn)行排序;步驟四、分析字節(jié)碼段,初步得出頻道特征碼對于同一平臺的兩個頻道,分別從每個頻道的兩段不同的字節(jié)碼出現(xiàn)頻率統(tǒng)計結(jié)果中,找到字符完全匹配且出現(xiàn)頻率都比較大的字節(jié)碼段;兩個頻道對應(yīng)的這兩個字節(jié)碼段如滿足以下條件1、兩個字節(jié)碼段的長度相同;2、兩個字節(jié)碼段的內(nèi)容不相同;3、兩個字節(jié)碼段的出現(xiàn)位置具有相同的規(guī)律;則初步設(shè)定這兩個字節(jié)碼段為對應(yīng)頻道的特征碼;步驟五、檢驗(yàn)初步得出的頻道特征碼使用同一平臺不同頻道不同時間段的數(shù)據(jù)檢驗(yàn)兩個字節(jié)碼段的唯一性和恒定性,其中唯一性是指同一平臺其它頻道對應(yīng)位置上的字節(jié)碼段互為不同,恒定性是指該字節(jié)碼段在大于6個月的時間段內(nèi)不發(fā)生變化;不能通過檢驗(yàn)則返回步驟四,通過檢驗(yàn)則認(rèn)為該字節(jié)碼段是該頻道的頻道特征碼;步驟六、分析總結(jié)出頻道特征碼出現(xiàn)規(guī)律,包括頻道特征碼的包大小規(guī)律和位置規(guī)律,其中包大小規(guī)律是指特征碼主要出現(xiàn)在大小為多少的數(shù)據(jù)包;所述位置規(guī)律是指頻道特征碼主要出現(xiàn)在數(shù)據(jù)包中有效載荷數(shù)據(jù)中的哪個位置。作為實(shí)施方案,步驟一中,所述兩個不同的時間段一般取時間差為一天以上。所述步驟四中,出現(xiàn)頻率都比較大的字節(jié)碼是指兩個字節(jié)碼的出現(xiàn)頻率均位于出現(xiàn)頻率統(tǒng)計結(jié)果的前5位?;谏鲜鯬2P-TV頻道特征碼出現(xiàn)規(guī)律,本發(fā)明還提供一種P2P-TV頻道識別方法,包括如下步驟(—)頻道特征庫建立步驟S101,設(shè)有K個P2P-TV平臺需要進(jìn)行頻道識別,根據(jù)P2P-TV頻道特征碼提取方法分別找到K個平臺的頻道特征碼出現(xiàn)規(guī)律;步驟S102,根據(jù)各平臺的頻道特征碼出現(xiàn)規(guī)律,提取K個平臺所有頻道的頻道特征碼;步驟S103,根據(jù)所獲得的頻道特征碼建立頻道特征庫,頻道特征庫中各頻道特征碼至少包含以下信息平臺號、頻道號和頻道特征碼;并根據(jù)具體情況對平臺和頻道進(jìn)行編號;(二)頻道識別過程步驟S104,從園區(qū)網(wǎng)出口的交換機(jī)上采集網(wǎng)絡(luò)數(shù)據(jù);步驟S105,對采集到的網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行UDP協(xié)議過濾,僅留下UDP協(xié)議數(shù)據(jù);步驟S106,對過濾好的網(wǎng)絡(luò)數(shù)據(jù)流按照每個出現(xiàn)的(I皿erIP,Port)進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)分流,得到細(xì)化到端口的子數(shù)據(jù)流,其中I皿erIP為園區(qū)網(wǎng)內(nèi)部IP地址;步驟S107,子數(shù)據(jù)流中的數(shù)據(jù)包按(I皿erIP,Port)匯聚成新的數(shù)據(jù)流;步驟S108,從數(shù)據(jù)流中讀取短時間窗口At內(nèi)的數(shù)據(jù)包;步驟S109,K種P2P-TV平臺共對應(yīng)K種特征碼出現(xiàn)規(guī)律,使用其中一種特征碼出現(xiàn)規(guī)律對短時間窗口At內(nèi)的數(shù)據(jù)包進(jìn)行頻道特征碼的提??;步驟S110,將步驟S109提取的頻道特征碼和步驟S103得到的頻道特征庫中的頻道特征碼進(jìn)行匹配,匹配失敗則進(jìn)入步驟Slll,匹配成功進(jìn)入步驟SI17;步驟S111,判斷該短時間窗口內(nèi)的數(shù)據(jù)包是否遍歷了K種平臺的特征碼提取規(guī)律,如果全部用過則進(jìn)入步驟S112,如果沒有全部用過則返回步驟S109;步驟S112,將At累加到T,其中T表示連續(xù)匹配失敗的時間累積長度,然后判斷T是否大于閾值M,其中M為判斷為未知流量的時間閾值,如所有T大于M,進(jìn)入步驟S113,否則,進(jìn)入步驟S114;步驟S113,連續(xù)匹配失敗的時間累積長度T大于閾值M,判斷該數(shù)據(jù)流為未知數(shù)據(jù)流,并且退出識別過程;步驟S114,該At時間段內(nèi)的數(shù)據(jù)沒有匹配成功,且T小于閾值M,判定該數(shù)據(jù)流為需進(jìn)一步識別的數(shù)據(jù)流,然后進(jìn)入步驟S115;步驟S115,判斷該數(shù)據(jù)流是否讀完,如果沒有讀完則返回步驟S108,數(shù)據(jù)讀完則進(jìn)入步驟S116;步驟S116,判斷未知識別流的判斷開關(guān)m是否等于零,未知識別流的判斷開關(guān)m的作用是對持續(xù)時間小于M同時又檢測不到頻道特征的的數(shù)據(jù)流進(jìn)行判斷,如果等于零則判斷該數(shù)據(jù)流為未知數(shù)據(jù)流,并退出識別過程,否則直接退出識別過程;步驟S117,特征碼匹配成功,返回識別結(jié)果,同時將連續(xù)匹配失敗的時間累積長度T置為零,并將未知識別的判斷開關(guān)m自加1,然后進(jìn)入步驟S115。作為一種優(yōu)選實(shí)施方案,所述步驟S110中的頻道特征碼與特征碼庫相匹配的方法可采用字符串匹配方法實(shí)現(xiàn)。同樣作為實(shí)施方案,所述步驟S106中網(wǎng)絡(luò)數(shù)據(jù)分流的過程是為每個(I皿erIP,Port)數(shù)據(jù)流分配一段存儲空間,每個數(shù)據(jù)包均被存儲到對應(yīng)存儲空間中,即實(shí)現(xiàn)數(shù)據(jù)分流。本發(fā)明還提出了一種P2P-TV頻道識別系統(tǒng),包括以下模塊各平臺頻道特征碼提取模塊,根據(jù)各平臺的頻道特征碼出現(xiàn)規(guī)律,提取各平臺所有頻道的頻道特征碼;頻道特征庫模塊,接收各平臺頻道特征碼的提取模塊提取到的頻道特征碼,建立一個頻道特征庫;園區(qū)網(wǎng)出口數(shù)據(jù)采集模塊,從園區(qū)網(wǎng)出口采集園區(qū)網(wǎng)和互聯(lián)網(wǎng)交互數(shù)據(jù);網(wǎng)絡(luò)數(shù)據(jù)過濾模塊,對園區(qū)網(wǎng)出口數(shù)據(jù)采集模塊采集到的數(shù)據(jù)進(jìn)行UDP過濾,保留只含UDP數(shù)據(jù)包的數(shù)據(jù)流;網(wǎng)絡(luò)數(shù)據(jù)分流模塊,按照(I皿erIP,Port)對網(wǎng)絡(luò)數(shù)據(jù)過濾模塊輸出的數(shù)據(jù)流進(jìn)行分流,數(shù)據(jù)流中每個出現(xiàn)的(I皿erIP,Port)對均會產(chǎn)生一個子數(shù)據(jù)流;頻道特征碼提取與匹配模塊,接收網(wǎng)絡(luò)數(shù)據(jù)分流模塊輸出的子數(shù)據(jù)流,并逐一按照頻道特征碼出現(xiàn)規(guī)律提取出頻道特征碼,與頻道特征庫內(nèi)的頻道特征碼進(jìn)行匹配,產(chǎn)生匹配結(jié)果;識別結(jié)果輸出模塊,輸出匹配識別結(jié)果;其中園區(qū)網(wǎng)出口數(shù)據(jù)采集模塊的輸出端經(jīng)網(wǎng)絡(luò)數(shù)據(jù)過濾模塊接入網(wǎng)絡(luò)數(shù)據(jù)分流模塊;各平臺頻道特征碼提取模塊經(jīng)頻道特征庫模塊,與該網(wǎng)絡(luò)數(shù)據(jù)分流模塊一并再接入頻道特征碼提取與匹配模塊的輸入端,所述頻道特征碼提取與匹配模塊的輸出端最后接入識別結(jié)果輸出模塊。作為實(shí)施方案,所述園區(qū)網(wǎng)出口數(shù)據(jù)采集模塊和網(wǎng)絡(luò)數(shù)據(jù)過濾模塊采用裝有Wireshark軟件的數(shù)據(jù)采集服務(wù)器實(shí)現(xiàn),其中數(shù)據(jù)采集服務(wù)器接入園區(qū)網(wǎng)內(nèi)的交換機(jī)。頻道特征庫模塊采用通過園區(qū)網(wǎng)接入P2P-TV頻道識別終端的數(shù)據(jù)庫服務(wù)器實(shí)現(xiàn)。本發(fā)明所述P2P-TV頻道特征碼出現(xiàn)規(guī)律的提取方法及基于其的P2P-TV頻道識別方法和系統(tǒng),具體的工作原理結(jié)合附圖如下所述在互聯(lián)網(wǎng)上所有播放同一P2P-TV平臺同一頻道的用戶即構(gòu)成了一個覆蓋網(wǎng)絡(luò),為了與同一平臺不同頻道相區(qū)別,播放同一頻道的用戶之間交互的數(shù)據(jù)中肯定有該頻道唯一的標(biāo)示。該標(biāo)示應(yīng)當(dāng)具有唯一性,即該平臺的每一個頻道的標(biāo)示互不相同;該標(biāo)示應(yīng)當(dāng)還具有恒定性,即能維持較長時間段的不變性。由于當(dāng)前國內(nèi)主流P2P-TV平臺(例如PPLive、PPStream、QQLive、UUSee等)主要是采用UDP協(xié)議進(jìn)行數(shù)據(jù)交互,而這些數(shù)據(jù)又主要通過一個UDP端口(所述采樣時間段內(nèi)下行數(shù)據(jù)量最大的UDP端口)進(jìn)行傳輸,所以本發(fā)明針對的對象是那些主要采用UDP協(xié)議進(jìn)行數(shù)據(jù)交互的P2P-TV平臺,技術(shù)方案主要包括如下三大部分—、P2P-TV頻道特征碼出現(xiàn)規(guī)律的提取方法,包括以下步驟步驟一,數(shù)據(jù)采集數(shù)據(jù)采集在在兩個不同的時間段(兩個時間相差一天以上)分別進(jìn)行,每次從連接于園區(qū)網(wǎng)的PC上采集同一P2P-TV平臺的兩個頻道(兩次采集的兩個頻道相同)的兩段t時長的凈流量數(shù)據(jù)(包括上行和下行數(shù)據(jù));步驟二、數(shù)據(jù)處理對采集到的四段數(shù)據(jù)進(jìn)行協(xié)議過濾和端口過濾,保留主要UDP端口內(nèi)的UDP數(shù)據(jù),其中主要UDP端口是指t時長采樣時間段內(nèi)數(shù)據(jù)量最大的UDP端口;步驟三、統(tǒng)計UDP數(shù)據(jù)中字節(jié)碼段的出現(xiàn)頻率對于每一段數(shù)據(jù)流中所有數(shù)據(jù)包中的Payload數(shù)據(jù)(即有效載荷數(shù)據(jù))的前n個字節(jié),分別統(tǒng)計長度為m(mG[4,1],4<1<n)字節(jié)的連續(xù)的字節(jié)碼段的出現(xiàn)頻率,對n-3個統(tǒng)計結(jié)果按照出現(xiàn)頻率由大到小進(jìn)行排序;步驟四、分析字節(jié)碼段,初步得出頻道特征碼對于同一平臺的兩個頻道,分別從每個頻道的兩段不同的字節(jié)碼出現(xiàn)頻率統(tǒng)計結(jié)果中,找到字節(jié)碼相同(字符完全匹配)的且出現(xiàn)頻率都比較大(兩個字節(jié)碼的出現(xiàn)頻率均位于統(tǒng)計結(jié)果的前5位)的字節(jié)碼段;兩個頻道對應(yīng)的這兩個字節(jié)碼段如滿足以下條件1、兩個字節(jié)碼段的長度相同;2、兩個字節(jié)碼段的內(nèi)容不相同;3、兩個字節(jié)碼段的出現(xiàn)位置具有相同的規(guī)律;則初步設(shè)定這兩個字節(jié)碼段為對應(yīng)頻道的特征碼;步驟五、檢驗(yàn)初步得出的頻道特征碼使用同一平臺不同頻道不同時間段的數(shù)據(jù)檢驗(yàn)兩個字節(jié)碼段的唯一性和恒定性,其中唯一性是指同一平臺其它頻道對應(yīng)位置上的字節(jié)碼段互為不同,恒定性是指該字節(jié)碼段在大于6個月的時間段內(nèi)不發(fā)生變化;不能通過檢驗(yàn)則返回步驟四,通過檢驗(yàn)則認(rèn)為該字節(jié)碼段是該頻道的頻道特征碼;步驟六、分析總結(jié)出頻道特征碼出現(xiàn)規(guī)律,包括頻道特征碼的包大小規(guī)律和位置規(guī)律,其中包大小規(guī)律是指特征碼主要出現(xiàn)在大小為多少的數(shù)據(jù)包;所述位置規(guī)律是指頻道特征碼主要出現(xiàn)在數(shù)據(jù)包Payload數(shù)據(jù)(有效載荷數(shù)據(jù))中的哪個位置。二、如圖1所示,基于應(yīng)用層簽名的P2P-TV頻道識別方法,包括如下步驟假定共有K個P2P-TV平臺需要進(jìn)行頻道識別。(—)頻道特征庫建立步驟S101,根據(jù)上面所述的P2P-TV頻道特征碼提取方法分別找到K個平臺的頻道特征碼出現(xiàn)規(guī)律;步驟S102,根據(jù)步驟S101找到的各平臺頻道出現(xiàn)規(guī)律,提取K個平臺所有頻道的頻道特征碼;步驟S103,將所獲得的頻道特征碼建立頻道特征庫,頻道特征庫中各頻道特征碼至少應(yīng)包含以下信息平臺號、頻道號和頻道特征碼;根據(jù)具體情況對平臺和頻道進(jìn)行編號;由于平臺軟件的更新,每個平臺中的頻道可能發(fā)生變化,對于后來增加的頻道可以根據(jù)該頻道的提取方法提取頻道特征碼對頻道特征庫進(jìn)行更新。(二)頻道識別過程步驟S104,從園區(qū)網(wǎng)出口的交換機(jī)上通過端口鏡像或其它技術(shù)手段采集網(wǎng)絡(luò)數(shù)據(jù);步驟S105,對采集到的網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行UDP協(xié)議過濾,僅留下UDP協(xié)議數(shù)據(jù);步驟S106,對過濾好的網(wǎng)絡(luò)數(shù)據(jù)流按照每個出現(xiàn)的(I皿erIP,Port)進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)分流,得到細(xì)化到端口的子數(shù)據(jù)流,其中I皿erIP為園區(qū)網(wǎng)內(nèi)部IP地址;步驟S107,子數(shù)據(jù)流中的數(shù)據(jù)包按(I皿erIP,Port)匯聚成新的數(shù)據(jù)流;步驟S108,從數(shù)據(jù)流中讀取短時間窗口At內(nèi)的數(shù)據(jù)包;步驟S109,K種P2P-TV平臺共對應(yīng)K種特征碼出現(xiàn)規(guī)律,使用其中一種特征碼出現(xiàn)規(guī)律對短時間窗口At內(nèi)的數(shù)據(jù)包進(jìn)行頻道特征碼的提??;步驟SllO,將步驟S109提取的頻道特征碼和步驟S103得到的頻道特征庫中的頻道特征碼進(jìn)行匹配,匹配失敗則進(jìn)入步驟Slll,匹配成功進(jìn)入步驟SI17;步驟S111,判斷該短時間窗口內(nèi)的數(shù)據(jù)包是否遍歷了K種平臺的特征碼提取規(guī)律,如果全部用過則進(jìn)入步驟SI12,如果沒有全部用過則返回步驟S109;步驟S112,將At累加到T(T表示連續(xù)匹配失敗的時間累積長度),然后判斷T是否大于閾值M(M為判斷為未知流量的時間閾值),如所有T大于M,進(jìn)入步驟S113,否則,進(jìn)入步驟S114;步驟S113,連續(xù)匹配失敗的時間累積長度T大于閾值M,判斷該數(shù)據(jù)流為未知數(shù)據(jù)流,并且退出識別過程;步驟S114,該At時間段內(nèi)的數(shù)據(jù)沒有匹配成功,且T小于閾值M,判定該數(shù)據(jù)流為需進(jìn)一步識別的數(shù)據(jù)流,然后進(jìn)入步驟S115;步驟S115,判斷該數(shù)據(jù)流是否讀完,如果沒有讀完則返回步驟S108,數(shù)據(jù)讀完則進(jìn)入步驟S116;步驟S116,判斷m(m為未知識別流的判斷開關(guān),m的作用是對持續(xù)時間小于M同時又檢測不到頻道特征的的數(shù)據(jù)流進(jìn)行判斷)是否等于零,如果等于零則判斷該數(shù)據(jù)流為未知數(shù)據(jù)流,并退出識別過程,否則直接退出識別過程;步驟S117,特征碼匹配成功,返回識別結(jié)果,同時將連續(xù)匹配失敗的時間累積長度T置為零,并將未知識別的判斷開關(guān)m自加1,然后進(jìn)入步驟S115;如果事先知道園區(qū)網(wǎng)內(nèi)有這K個平臺中的一個或多個在播放P2P-TV,想識別出其中N個平臺所播放的頻道,則需將上述步驟中的S109和Sill作如下修改,其它步驟保持不變步驟S109,N種P2P-TV平臺共對應(yīng)N種特征碼出現(xiàn)規(guī)律,使用其中一種特征碼出現(xiàn)規(guī)律對短時間窗口At內(nèi)的數(shù)據(jù)包進(jìn)行頻道特征碼的提?。徊襟ES111,判斷該短時間窗口內(nèi)的數(shù)據(jù)包是否遍歷了N種平臺的特征碼提取規(guī)律,如果全部用過則將At累加到T(T表示連續(xù)匹配失敗的時間累積長度)然后進(jìn)入步驟S112,如果沒有全部用過則返回步驟S109;步驟S107到步驟SI17每個(I皿erIP,Port)對應(yīng)的數(shù)據(jù)流都要進(jìn)行。三、如圖2所示,P2P-TV頻道識別系統(tǒng)包括如下模塊S201為頻道特征碼的提取模塊,該模塊主要是根據(jù)各平臺的頻道特征碼出現(xiàn)規(guī)律,提取各平臺所有頻道的頻道特征碼;S201為頻道特征庫模塊,該模塊主要是接收模塊S201提取的頻道特征碼,建立一個頻道特征庫;S203為園區(qū)網(wǎng)出口數(shù)據(jù)采集模塊,該模塊主要是從園區(qū)網(wǎng)的出口采集園區(qū)網(wǎng)和互聯(lián)網(wǎng)交互數(shù)據(jù);S204為網(wǎng)絡(luò)數(shù)據(jù)過濾模塊,該模塊主要是接收模塊S203采集的網(wǎng)絡(luò)數(shù)據(jù),對數(shù)據(jù)進(jìn)行UDP過濾,僅保留UDP數(shù)據(jù)包;S205為網(wǎng)絡(luò)數(shù)據(jù)分流模塊,該模塊接收模塊S203過濾好的網(wǎng)絡(luò)數(shù)據(jù),按照(I皿erIP,Port)對進(jìn)行分流,數(shù)據(jù)流中每個出現(xiàn)的(I皿erIP,Port)對均會產(chǎn)生一個子數(shù)據(jù)流;S206為頻道特征碼提取與匹配模塊,接收模塊S205產(chǎn)生的子數(shù)據(jù)流,逐一按照K種頻道特征碼出現(xiàn)規(guī)律提取頻道特征碼與頻道特征庫進(jìn)行匹配,產(chǎn)生匹配結(jié)果;S207輸出模塊,輸出S206產(chǎn)生的匹配識別結(jié)果。本發(fā)明所述P2P-TV頻道特征碼出現(xiàn)規(guī)律的提取方法及基于其的P2P-TV頻道識別方法和識別系統(tǒng),能對園區(qū)網(wǎng)的數(shù)據(jù)進(jìn)行更加精確的監(jiān)控,且該識別方法快速,易于實(shí)現(xiàn),得出的識別結(jié)果準(zhǔn)確無誤。圖1是本發(fā)明中P2P-TV頻道識別方法的流程框圖;圖2是本發(fā)明中P2P-TV頻道識別系統(tǒng)的模塊連接圖;圖3是實(shí)施例所述P2P-TV頻道識別系統(tǒng)的部署圖。具體實(shí)施方式實(shí)施例1本實(shí)施例采用本發(fā)明技術(shù)方案中頻道特征碼出現(xiàn)規(guī)律的提取方法對PPLive、PPStream、QQLive和UUSee四種平臺的頻道特征碼出現(xiàn)規(guī)律進(jìn)行提取四個平臺中UUSee最為特殊,在UUSee客戶端軟件的安裝目錄下有一個UUTV_UUPlayer.xml文件,其中包括了UUSee所有頻道的特征碼信息,例如〈Channelid=〃{004A3C5E-A8EF-424A-993F-FD61DA08AFF8}〃name=〃湖南衛(wèi)視〃>將該字節(jié)碼的前三段變換字節(jié)順序,即004A3C5E-A8EF-424A變換為5E3C4A00-EFA8-4A42,轉(zhuǎn)換后整個字節(jié)碼段即為該頻道的特征碼。為了分析出頻道特征碼的出現(xiàn)規(guī)律,在園區(qū)網(wǎng)內(nèi)的一臺PC上使用Wireshark分別采集UUSee兩個不同頻道湖南衛(wèi)視和第一財經(jīng)的1800秒的數(shù)據(jù),使用Wireshark讀取離線數(shù)據(jù),通過搜索該頻道數(shù)據(jù)對應(yīng)的頻道特征碼,找出該頻道特征碼的出現(xiàn)規(guī)律。對于PPLive、PPStream和QQLive三個平臺按照P2P-TV頻道特征碼出現(xiàn)規(guī)律的提取方法發(fā)現(xiàn)每個平臺頻道特征碼的出現(xiàn)規(guī)律,其中對這三個平臺作統(tǒng)計分析時,分析的對象是每個數(shù)據(jù)包Payload數(shù)據(jù)中的前36個字節(jié),分別統(tǒng)計4_16字節(jié)的連續(xù)字節(jié)碼段的出現(xiàn)頻率。使用Wireshak軟件連接在兩個不同的時間段分別抓取每個平臺的兩個頻道湖南衛(wèi)視和第一財經(jīng)的1800秒數(shù)據(jù),共六段數(shù)據(jù),Wireshark根據(jù)各平臺運(yùn)行的主要UDP端口設(shè)置過濾規(guī)則,抓取到的數(shù)據(jù)即為該平臺主要UDP端口的數(shù)據(jù),基于libpc即使用0++語言編寫統(tǒng)計4-16字節(jié)連續(xù)字節(jié)碼段出現(xiàn)頻率的代碼,得到統(tǒng)計結(jié)果后,分析統(tǒng)計出三個平臺兩個頻道的頻道特征碼結(jié)果如表1所示表1:四個平臺湖南衛(wèi)視和第一財經(jīng)的特征碼<table>tableseeoriginaldocumentpage11</column></row><table>根據(jù)找到的特征碼即可找到每個平臺特征碼的出現(xiàn)規(guī)律,四個平臺的特征碼出現(xiàn)規(guī)律如表2所示表2:四個平臺特征碼出現(xiàn)規(guī)律<table>tableseeoriginaldocumentpage12</column></row><table>第一步建立四個平臺的頻道特征庫。在園區(qū)網(wǎng)內(nèi)的PC上在分別運(yùn)行四個平臺的十個頻道,各平臺頻道如表3所示的頻道列表表3:頻道列表<table>tableseeoriginaldocumentpage13</column></row><table>利用每個平臺頻道特征碼的出現(xiàn)規(guī)律提取表3中的40個頻道的特征碼,建立這四個平臺四十個頻道的頻道特征庫,頻道特征庫示例如表4:表4:頻道特征庫示例<table>tableseeoriginaldocumentpage13</column></row><table><table>tableseeoriginaldocumentpage14</column></row><table><table>tableseeoriginaldocumentpage15</column></row><table>與上述頻道識別方法對應(yīng)的頻道識別系統(tǒng)采用libpc即庫基于C++語言實(shí)現(xiàn),系統(tǒng)部署如圖3所示,校園網(wǎng)內(nèi)的出口數(shù)據(jù)在交換機(jī)處通過網(wǎng)絡(luò)數(shù)據(jù)鏡像傳輸?shù)綌?shù)據(jù)采集服務(wù)器里,數(shù)據(jù)采集服務(wù)器采用Wireshark對數(shù)據(jù)進(jìn)行捕獲,同時Wireshark設(shè)置UDP過濾規(guī)則,抓取數(shù)據(jù)的同時即完成數(shù)據(jù)的過濾,數(shù)據(jù)庫服務(wù)器存儲有頻道特征庫,并且記錄每次識別結(jié)果。P2P-TV頻道識別終端從數(shù)據(jù)采集服務(wù)器讀取過濾好的數(shù)據(jù),分流過程由下述方法實(shí)現(xiàn)識別系統(tǒng)為每個(I皿erIP,Port)數(shù)據(jù)流建立一個vector容器,每個數(shù)據(jù)包均被存儲到對應(yīng)的vector中,這樣就實(shí)現(xiàn)了分流。識別過程是針對每個vector中的數(shù)據(jù)進(jìn)行。在園區(qū)網(wǎng)內(nèi)的一臺PC(IP為172.20.12.90)分別運(yùn)行四個平臺的十個頻道,同時P2P-TV識別系統(tǒng)進(jìn)行識別,這里暫設(shè)At=5秒,M=300秒,識別結(jié)果如表7到表10所示,從表7和表10可以看出PPLive的個別頻道和UUSee的大部分頻道出現(xiàn)較低的查全率,這并不是系統(tǒng)沒有識別出來,是因?yàn)閁USee的頻道特征碼出現(xiàn)的頻率比其它三個平臺低,但這并不影響該平臺頻道的準(zhǔn)確識別,這兩個平臺個頻道在識別過程中T值均不會大于M。表7:PPLive頻道識別結(jié)果<table>tableseeoriginaldocumentpage15</column></row><table>表8:PPStream頻道識別結(jié)果<table>tableseeoriginaldocumentpage16</column></row><table><table>tableseeoriginaldocumentpage17</column></row><table>權(quán)利要求一種P2P-TV頻道特征碼出現(xiàn)規(guī)律的提取方法,其特征是包括以下步驟步驟一,數(shù)據(jù)采集數(shù)據(jù)采集在兩個不同的時間段分別進(jìn)行,每次從連接于園區(qū)網(wǎng)的PC上采集同一P2P-TV平臺的兩個頻道的兩段t時長的凈流量數(shù)據(jù),其中兩次采集的兩個頻道相同;步驟二、數(shù)據(jù)處理對采集到的四段數(shù)據(jù)流進(jìn)行協(xié)議過濾和端口過濾,保留主要UDP端口內(nèi)的UDP數(shù)據(jù),其中主要UDP端口是指t時長的采樣時間段內(nèi)數(shù)據(jù)量最大的UDP端口;步驟三、統(tǒng)計UDP數(shù)據(jù)中字節(jié)碼段的出現(xiàn)頻率對于每一段數(shù)據(jù)流中所有數(shù)據(jù)包中的有效載荷數(shù)據(jù)前n個字節(jié),分別統(tǒng)計長度為m字節(jié)的連續(xù)的字節(jié)碼段的出現(xiàn)頻率,其中m∈[4,l],4<l<n,對n-3個統(tǒng)計結(jié)果按照出現(xiàn)頻率由大到小進(jìn)行排序;步驟四、分析字節(jié)碼段,初步得出頻道特征碼對于同一平臺的兩個頻道,分別從每個頻道的兩段不同的字節(jié)碼出現(xiàn)頻率統(tǒng)計結(jié)果中,找到字符完全匹配且出現(xiàn)頻率都比較大的字節(jié)碼段;兩個頻道對應(yīng)的這兩個字節(jié)碼段如滿足以下條件1)兩個字節(jié)碼段的長度相同;2)兩個字節(jié)碼段的內(nèi)容不相同;3)兩個字節(jié)碼段的出現(xiàn)位置具有相同的規(guī)律;則初步設(shè)定這兩個字節(jié)碼段為對應(yīng)頻道的特征碼;步驟五、檢驗(yàn)初步得出的頻道特征碼使用同一平臺不同頻道不同時間段的數(shù)據(jù)檢驗(yàn)兩個字節(jié)碼段的唯一性和恒定性,其中唯一性是指同一平臺其它頻道對應(yīng)位置上的字節(jié)碼段互為不同,恒定性是指該字節(jié)碼段在大于6個月的時間段內(nèi)不發(fā)生變化;不能通過檢驗(yàn)則返回步驟四,通過檢驗(yàn)則認(rèn)為該字節(jié)碼段是該頻道的頻道特征碼;步驟六、分析總結(jié)出頻道特征碼出現(xiàn)規(guī)律,包括頻道特征碼的包大小規(guī)律和位置規(guī)律,其中包大小規(guī)律是指特征碼主要出現(xiàn)在大小為多少的數(shù)據(jù)包;所述位置規(guī)律是指頻道特征碼主要出現(xiàn)在數(shù)據(jù)包中有效載荷數(shù)據(jù)中的哪個位置。2.根據(jù)權(quán)利要求1所述P2P-TV頻道特征碼出現(xiàn)規(guī)律的提取方法,其特征是所述步驟一中,所述兩個不同的時間段取時間差為一天以上。3.根據(jù)權(quán)利要求1所述P2P-TV頻道特征碼出現(xiàn)規(guī)律的提取方法,其特征是所述步驟四中,出現(xiàn)頻率都比較大的字節(jié)碼是指兩個字節(jié)碼的出現(xiàn)頻率均位于出現(xiàn)頻率統(tǒng)計結(jié)果的前5位。4.一種基于權(quán)利要求1所述P2P-TV頻道特征碼出現(xiàn)規(guī)律的提取方法的P2P-TV頻道識別方法,其特征是包括如下步驟(一)頻道特征庫建立步驟S101,設(shè)有K個P2P-TV平臺需要進(jìn)行頻道識別,根據(jù)權(quán)利要求1所述P2P-TV頻道特征碼出現(xiàn)規(guī)律的提取方法分別找到K個平臺的頻道特征碼出現(xiàn)規(guī)律;步驟S102,根據(jù)各平臺的頻道特征碼出現(xiàn)規(guī)律,提取K個平臺所有頻道的頻道特征碼;步驟S103,根據(jù)所獲得的頻道特征碼建立頻道特征庫,頻道特征庫中各頻道特征碼至少包含以下信息平臺號、頻道號和頻道特征碼;并根據(jù)具體情況對平臺和頻道進(jìn)行編號;(二)頻道識別過程步驟S104,從園區(qū)網(wǎng)出口的交換機(jī)上采集網(wǎng)絡(luò)數(shù)據(jù);步驟S105,對采集到的網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行UDP協(xié)議過濾,僅留下UDP協(xié)議數(shù)據(jù);步驟S106,對過濾好的網(wǎng)絡(luò)數(shù)據(jù)流按照每個出現(xiàn)的(I皿erIP,Port)進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)分流,得到細(xì)化到端口的子數(shù)據(jù)流,其中I皿erIP為園區(qū)網(wǎng)內(nèi)部IP地址;步驟S107,子數(shù)據(jù)流中的數(shù)據(jù)包按(I皿erIP,Port)匯聚成新的數(shù)據(jù)流;步驟S108,從數(shù)據(jù)流中讀取短時間窗口At內(nèi)的數(shù)據(jù)包;步驟S109,K種P2P-TV平臺共對應(yīng)K種特征碼出現(xiàn)規(guī)律,使用其中一種特征碼出現(xiàn)規(guī)律對短時間窗口At內(nèi)的數(shù)據(jù)包進(jìn)行頻道特征碼的提?。徊襟ESllO,將步驟S109提取的頻道特征碼和步驟S103得到的頻道特征庫中的頻道特征碼進(jìn)行匹配,匹配失敗則進(jìn)入步驟Slll,匹配成功進(jìn)入步驟SI17;步驟Slll,判斷該短時間窗口內(nèi)的數(shù)據(jù)包是否遍歷了K種平臺的特征碼提取規(guī)律,如果全部用過則進(jìn)入步驟S112,如果沒有全部用過則返回步驟S109;步驟S112,將At累加到T,其中T表示連續(xù)匹配失敗的時間累積長度,然后判斷T是否大于閾值M,其中M為判斷為未知流量的時間閾值,如所有T大于M,進(jìn)入步驟S113,否則,進(jìn)入步驟S114;步驟S113,連續(xù)匹配失敗的時間累積長度T大于閾值M,判斷該數(shù)據(jù)流為未知數(shù)據(jù)流,并且退出識別過程;步驟S114,該At時間段內(nèi)的數(shù)據(jù)沒有匹配成功,且T小于閾值M,判定該數(shù)據(jù)流為需進(jìn)一步識別的數(shù)據(jù)流,然后進(jìn)入步驟S115;步驟S115,判斷該數(shù)據(jù)流是否讀完,如果沒有讀完則返回步驟S108,數(shù)據(jù)讀完則進(jìn)入步驟S116;步驟S116,判斷未知識別流的判斷開關(guān)m是否等于零,未知識別流的判斷開關(guān)m對持續(xù)時間小于M同時又檢測不到頻道特征的的數(shù)據(jù)流進(jìn)行判斷,如果等于零則判斷該數(shù)據(jù)流為未知數(shù)據(jù)流,并退出識別過程,否則直接退出識別過程;步驟S117,特征碼匹配成功,返回識別結(jié)果,同時將連續(xù)匹配失敗的時間累積長度T置為零,并將未知識別的判斷開關(guān)m自加1,然后進(jìn)入步驟S115。5.根據(jù)權(quán)利要求4所述P2P-TV頻道識別方法,其特征是所述步驟S110中的頻道特征碼與特征碼庫相匹配的方法采用字符串匹配方法實(shí)現(xiàn)。6.根據(jù)權(quán)利要求4所述P2P-TV頻道識別方法,其特征是所述步驟S106中網(wǎng)絡(luò)數(shù)據(jù)分流的過程是為每個(InnerIP,Port)數(shù)據(jù)流分配一段存儲空間,每個數(shù)據(jù)包均被存儲到對應(yīng)存儲空間中,實(shí)現(xiàn)數(shù)據(jù)分流。7.—種P2P-TV頻道識別系統(tǒng),其特征是,包括以下模塊各平臺頻道特征碼提取模塊,根據(jù)各平臺的頻道特征碼出現(xiàn)規(guī)律,提取各平臺所有頻道的頻道特征碼;頻道特征庫模塊,接收各平臺頻道特征碼的提取模塊提取到的頻道特征碼,建立一個頻道特征庫;園區(qū)網(wǎng)出口數(shù)據(jù)采集模塊,從園區(qū)網(wǎng)出口采集園區(qū)網(wǎng)和互聯(lián)網(wǎng)交互數(shù)據(jù);網(wǎng)絡(luò)數(shù)據(jù)過濾模塊,對園區(qū)網(wǎng)出口數(shù)據(jù)采集模塊采集到的數(shù)據(jù)進(jìn)行UDP過濾,保留只含UDP數(shù)據(jù)包的數(shù)據(jù)流;網(wǎng)絡(luò)數(shù)據(jù)分流模塊,按照(I皿erIP,Port)對網(wǎng)絡(luò)數(shù)據(jù)過濾模塊輸出的數(shù)據(jù)流進(jìn)行分流,數(shù)據(jù)流中每個出現(xiàn)的(I皿erIP,Port)對均會產(chǎn)生一個子數(shù)據(jù)流;頻道特征碼提取與匹配模塊,接收網(wǎng)絡(luò)數(shù)據(jù)分流模塊輸出的子數(shù)據(jù)流,并逐一按照頻道特征碼出現(xiàn)規(guī)律提取出頻道特征碼,與頻道特征庫內(nèi)的頻道特征碼進(jìn)行匹配,產(chǎn)生匹配結(jié)果;識別結(jié)果輸出模塊,輸出匹配識別結(jié)果;其中園區(qū)網(wǎng)出口數(shù)據(jù)采集模塊的輸出端經(jīng)網(wǎng)絡(luò)數(shù)據(jù)過濾模塊接入網(wǎng)絡(luò)數(shù)據(jù)分流模塊;各平臺頻道特征碼提取模塊經(jīng)頻道特征庫模塊,與該網(wǎng)絡(luò)數(shù)據(jù)分流模塊一并再接入頻道特征碼提取與匹配模塊的輸入端,所述頻道特征碼提取與匹配模塊的輸出端最后接入識別結(jié)果輸出模塊。8.根據(jù)權(quán)利要求7所述P2P-TV頻道識別系統(tǒng),其特征是,所述園區(qū)網(wǎng)出口數(shù)據(jù)采集模塊和網(wǎng)絡(luò)數(shù)據(jù)過濾模塊采用裝有Wireshark軟件的數(shù)據(jù)采集服務(wù)器實(shí)現(xiàn),其中數(shù)據(jù)采集服務(wù)器接入園區(qū)網(wǎng)內(nèi)的交換機(jī);頻道特征庫模塊采用通過園區(qū)網(wǎng)接入P2P-TV頻道識別終端的數(shù)據(jù)庫服務(wù)器實(shí)現(xiàn)。全文摘要本發(fā)明涉及P2P流量識別領(lǐng)域,具體公開了一種P2P-TV頻道特征碼出現(xiàn)規(guī)律的提取方法及基于其的P2P-TV頻道識別方法和識別系統(tǒng)。本發(fā)明通過對采集到的數(shù)據(jù)進(jìn)行分析,得出UDP數(shù)據(jù)中字節(jié)碼段的出現(xiàn)頻率,并據(jù)此找出頻道特征碼的出現(xiàn)規(guī)律;再基于該種頻道特征碼的出現(xiàn)規(guī)律得到各個平臺的頻道特征碼,進(jìn)一步與特征碼庫進(jìn)行匹配,分析得出各個平臺的頻道信息,實(shí)現(xiàn)了對各平臺頻道的準(zhǔn)確識別。本發(fā)明所述頻道識別方法運(yùn)行速度快,識別結(jié)果精確,且識別系統(tǒng)結(jié)構(gòu)簡單,有效實(shí)現(xiàn)了對待控網(wǎng)絡(luò)的安全監(jiān)控。文檔編號H04L29/06GK101778115SQ20101010543公開日2010年7月14日申請日期2010年2月3日優(yōu)先權(quán)日2010年2月3日發(fā)明者姜志宏,張鑫,李進(jìn),樊鵬翼,王暉申請人:中國人民解放軍國防科學(xué)技術(shù)大學(xué)