司凱威
國家廣播電視總局二九三臺 河南省 鄭州市451162
近年來,網(wǎng)絡(luò)傳播技術(shù)的發(fā)展帶動了視聽網(wǎng)站、移動應(yīng)用程序、短視頻平臺、互聯(lián)網(wǎng)電視和IPTV智能終端的蓬勃發(fā)展。據(jù)中國互聯(lián)網(wǎng)絡(luò)信息中心的數(shù)據(jù)顯示,截至2020年12月,我國現(xiàn)有網(wǎng)頁數(shù)量達到3155億,移動APP數(shù)量達到345萬款[1]。網(wǎng)絡(luò)視聽行業(yè)繁榮發(fā)展的同時,也出現(xiàn)了部分應(yīng)用程序、智能終端違規(guī)提供淫穢色情、血腥暴力等違反國家網(wǎng)絡(luò)視聽、網(wǎng)絡(luò)安全管理規(guī)定的情況。為規(guī)范網(wǎng)絡(luò)視聽行業(yè)發(fā)展秩序,營造風清氣正的網(wǎng)絡(luò)視聽環(huán)境,特別是保護未成年人身心健康,視聽新媒體監(jiān)管中需要分析視聽節(jié)目傳播的技術(shù)信息。目前,主要通過自主搭建檢測環(huán)境、利用抓包軟件捕獲通信數(shù)據(jù)、人工分析域名和IP、通過公網(wǎng)查詢地理位置等步驟,獲取網(wǎng)絡(luò)協(xié)議、IP地址、歸屬地、域名、鏈接、ICP備案號、開辦單位等技術(shù)信息。該種工作方式存在操作步驟多、監(jiān)看周期長、數(shù)據(jù)分析依賴于工作經(jīng)驗、數(shù)據(jù)存儲不規(guī)范、數(shù)據(jù)加密無法檢測等問題,并且與視聽新業(yè)態(tài)不斷出現(xiàn)、技術(shù)架構(gòu)不斷更新、數(shù)據(jù)傳輸格式日漸多樣等發(fā)展趨勢難以適應(yīng)。
基于現(xiàn)代網(wǎng)絡(luò)數(shù)據(jù)包分析和網(wǎng)絡(luò)爬蟲技術(shù)的發(fā)展成果,本文提出利用鏡像交換機、無線路由器等設(shè)備搭建通用型的技術(shù)數(shù)據(jù)檢測平臺,并基于pyshark等支持庫構(gòu)建具有通信數(shù)據(jù)捕獲、分析、統(tǒng)計、結(jié)果展示等功能的通用型數(shù)據(jù)檢測應(yīng)用軟件。該平臺可較為便捷地完成對網(wǎng)站、應(yīng)用軟件、智能終端等軟硬件的技術(shù)分析,有效提升視聽新媒體技術(shù)檢測的效率和準確度。
基于pyshark的視聽新媒體技術(shù)信息檢測系統(tǒng)主要用于獲取、分析、識別、存儲用戶端的瀏覽器、移動應(yīng)用程序、互聯(lián)網(wǎng)電視及IPTV終端等軟硬件與服務(wù)端的圖片服務(wù)器、視頻服務(wù)器、EPG服務(wù)器等網(wǎng)絡(luò)資源之間的通信信息。為保證系統(tǒng)的兼容性、靈活性和易維護性,該系統(tǒng)硬件部分主要由檢測主機、無線路由器、鏡像交換等部分組成,如圖1所示。
圖1 系統(tǒng)組成示意圖
(1)檢測主機主要用于捕獲檢測對象與網(wǎng)絡(luò)服務(wù)器之間的通信數(shù)據(jù),解析數(shù)據(jù)包、存儲數(shù)據(jù)文件以圖表的形式展示分析結(jié)果。檢測主機與鏡像交換機之間通過高質(zhì)量的網(wǎng)線進行互聯(lián)。
(2)鏡像交換機主要負責將被檢測對象與網(wǎng)絡(luò)服務(wù)器之間的通信數(shù)據(jù)完整轉(zhuǎn)發(fā)至檢測主機。為保證數(shù)據(jù)的轉(zhuǎn)發(fā)能力,在本系統(tǒng)中選用的是提供1個上聯(lián)端口,1個監(jiān)控端口和3個下聯(lián)口的千兆鏡像交換機。鏡像交換機的上聯(lián)口通過公共互聯(lián)網(wǎng)或者專用網(wǎng)絡(luò)連接網(wǎng)絡(luò)服務(wù)器,監(jiān)控口連接至檢測主機,下端口連接至無線路由器。
(3)無線路由器通過有線或者無線的方式保證檢測對象通過鏡像交換機正常訪問網(wǎng)絡(luò)資源。在系統(tǒng)設(shè)計中,選用的是千兆無線路由器。其中,互聯(lián)網(wǎng)電視、IPTV等終端設(shè)備通過有線方式接入。手機、平板等移動智能終端設(shè)備通過無線方式接入。
(4)監(jiān)測載體包括PC主機、移動終端、互聯(lián)網(wǎng)電視終端、IPTV終端等設(shè)備。所有的網(wǎng)站、應(yīng)用程序等均需安裝到相應(yīng)的載體上。為避免通信數(shù)據(jù)免受其他設(shè)備的干擾,一般情況下,同一時間段只允許一個設(shè)備連接至無線路由器。
(5)通過合理走線的方式,將相關(guān)的設(shè)備統(tǒng)一安置在定制化的機箱中,并預(yù)留有視頻、USB、網(wǎng)絡(luò)等接口,以便于進一步擴展使用。
為協(xié)助視聽新媒體監(jiān)管工作人員快速、準確地完成數(shù)據(jù)檢測任務(wù),新媒體技術(shù)數(shù)據(jù)檢測系統(tǒng)軟件具有捕獲視聽新媒體智能終端設(shè)備或軟件與網(wǎng)絡(luò)服務(wù)器之間的通信數(shù)據(jù)、解析通信數(shù)據(jù)包、在線查詢IP地址歸屬地、在線查詢ICP相關(guān)信息、存儲分析結(jié)果和數(shù)據(jù)文件、監(jiān)控服務(wù)運行狀態(tài)等功能。用戶只需經(jīng)過簡單的配置之后,即可獲得數(shù)據(jù)解析結(jié)果。
為提升應(yīng)用軟件的開發(fā)效率和便于后期維護,本系統(tǒng)以python作為開發(fā)語言,充分利用開源的數(shù)據(jù)捕獲、網(wǎng)絡(luò)爬蟲、在線下載、特征值計算、報表生成、數(shù)據(jù)庫管理、文件管理、服務(wù)監(jiān)控等功能程序包研發(fā)而成。同時基于面向?qū)ο蟮木幊趟枷耄瑢⒏鱾€分層之間,通過特定的類接口,完成服務(wù)的調(diào)用,如圖2所示。
圖2 系統(tǒng)組成示意圖
為捕獲檢測對象與網(wǎng)絡(luò)服務(wù)器之間的通訊數(shù)據(jù),本系統(tǒng)主要借助pyshark模塊調(diào)用wireshark的服務(wù)接口對鏡像交換機轉(zhuǎn)發(fā)至檢測主機網(wǎng)卡的數(shù)據(jù)進行采集。
pyshark模塊是使用python語言編制而成的具有網(wǎng)絡(luò)通信數(shù)據(jù)采集、分析功能模塊的程序包。用戶只需對網(wǎng)卡名稱、抓取周期等參數(shù)設(shè)置后,借助該程序包即可調(diào)用專業(yè)網(wǎng)絡(luò)數(shù)據(jù)分析軟件wireshark的實時數(shù)據(jù)采集和離線數(shù)據(jù)的分析功能[2]。在實時采集數(shù)據(jù)時設(shè)置如下cap=pyshark.LiveCapture(interface='eth0'),cap.sniff(timeout=50)。在解析離線數(shù)據(jù)包時,設(shè)置如下cap=pyshark.FileCapture('/xmt_cap.cap')。
在實際應(yīng)用中,該模塊具有實時性高、速度快、兼容格式多、運行穩(wěn)定等優(yōu)點。同時,為了保證數(shù)據(jù)的實時性,優(yōu)先將通信數(shù)據(jù)實時保存至本地,然后使用離線分析功能。
數(shù)據(jù)分析模塊主要是通過解析捕獲得到的數(shù)據(jù)包,獲取網(wǎng)絡(luò)協(xié)議、IP地址、IP歸屬地、ICP號及開辦機構(gòu)等視聽新媒體監(jiān)管中所需的技術(shù)信息。以常見的HTTP數(shù)據(jù)包分析為例,首先是利用pyshark提供的數(shù)據(jù)解析功能,獲取網(wǎng)絡(luò)協(xié)議、源IP地址、目的IP地址、URL鏈接等信息。根據(jù)URL鏈接的不同,對相關(guān)數(shù)據(jù)進行第一次刪除重復(fù)的數(shù)據(jù)。然后是利用urllib2模塊提供的下載功能,將URL對應(yīng)的資源文件下載到本地,同時進行第二次數(shù)據(jù)排重。第三是文件類型判斷和服務(wù)器功能推測。借助filetype模塊提供的文件類型識別功能,判斷資源文件的格式[3]并結(jié)合URL包含文件格式關(guān)鍵字,推測網(wǎng)絡(luò)服務(wù)器的功能。例如包含有“.jpg”“.bmp”等關(guān)鍵字的,推測為圖片服務(wù)器,包含 有“.ts”“.mp4”等文 本的,推測為視頻服務(wù)器。借助網(wǎng)絡(luò)爬蟲模塊抓取IP138、工信部ICP備案系統(tǒng)等權(quán)威數(shù)據(jù),獲取IP歸屬地和ICP備案信息。在網(wǎng)絡(luò)爬蟲中加入了瀏覽器頭、隨機時間間隔等方式,防止頻繁的獲取頁面而被網(wǎng)站屏蔽。
數(shù)據(jù)存儲模塊主要負責存儲與管理數(shù)據(jù)包、網(wǎng)絡(luò)資源文件以及對應(yīng)的特征值。在數(shù)據(jù)存儲過程中,為方便對數(shù)據(jù)包、抽取結(jié)果、檢測對象信息的存儲管理,一是網(wǎng)絡(luò)下載得到的文件采用下載時間命名,避免命名較長不便于管理的情況;二是充分利用文件MD5值唯一性的特征,計算圖片、視頻、數(shù)據(jù)包等文件的MD5值并存儲到數(shù)據(jù)庫中,以便于查找、管理、增加、刪除等操作;三是借助mysqldb功能模塊,完成對mysql數(shù)據(jù)庫的管理,實現(xiàn)對歷史數(shù)據(jù)的規(guī)范化存儲,便于數(shù)據(jù)的長期跟蹤和分析使用。
數(shù)據(jù)展示功能主要是將分析的結(jié)果以Excel表格、圖表等形式進行展示。一是提供域名、URL鏈接、IP地址、功能、ICP、開辦單位、資源文件存儲位置等相關(guān)信息的數(shù)據(jù)查詢、修改、更新、存儲等操作;二是提供相關(guān)結(jié)果數(shù)據(jù)的報表導出功能;三是為進一步分析視聽新媒體數(shù)據(jù)檢測系統(tǒng)監(jiān)測數(shù)據(jù)的變化情況,在數(shù)據(jù)庫中存儲相關(guān)的文件,能夠?qū)С鲎兓€,更加直觀的反映節(jié)目數(shù)的變化,以及服務(wù)器地址的變化情況;四是提供程序執(zhí)行狀況的實時動態(tài)功能,程序讀取程序執(zhí)行過程中的異常信息,對于異常報警進行分級,進而對應(yīng)不同的處理方法。
實踐證明,該系統(tǒng)能夠有效降低視聽新媒體技術(shù)信息檢測的難度,縮短技術(shù)檢測所需的時長,提升檢測數(shù)據(jù)的準確性。伴隨著視聽新媒體業(yè)態(tài)的不斷出現(xiàn),該系統(tǒng)的應(yīng)用場景也不斷的增加,將會極大地提升視聽新媒體監(jiān)管的工作效率。下一步,在繼續(xù)優(yōu)化軟件穩(wěn)定性的基礎(chǔ)上,嘗試引入高性能的計算節(jié)點,加入高靈敏度圖片識別等模塊,推動檢測系統(tǒng)的智能化水平。