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

        ?

        基于Python爬蟲技術的虛假數(shù)據(jù)溯源與過濾

        2021-11-17 03:12:50周力臻
        計算機仿真 2021年3期
        關鍵詞:信息方法

        陳 叢,周力臻

        (福建師范大學協(xié)和學院,福建 福州 350117)

        1 引言

        隨著嵌入式計算與傳感器技術的不斷發(fā)展,推動了無線傳感網(wǎng)絡的迅速崛起,并廣泛應用于軍事、醫(yī)療、建筑等領域[1]。與傳感網(wǎng)絡不同,無線傳感網(wǎng)絡將海量廉價小型傳感器節(jié)點隨機布置在不同區(qū)域,利用自組織形式生成網(wǎng)絡,同時采用多跳方式將信息傳輸給用戶,每個節(jié)點都具有數(shù)據(jù)采集、處理、定位與連接等功能。但無線傳感網(wǎng)絡屬于開放式網(wǎng)絡,其計算性能、儲存空間較為有限,抗捕獲能力較弱,攻擊者可通過捕獲節(jié)點獲得其中敏感信息,并對其注入虛假數(shù)據(jù),如果不能及時過濾掉這些虛假數(shù)據(jù),則會導致網(wǎng)絡癱瘓,引發(fā)錯誤報警,影響用戶決策[2]。為此,該領域研究者對該問題進行了很多研究,并取得了一定成果。

        文獻[3]提出基于能量感知路由和節(jié)點過濾的虛假數(shù)據(jù)過濾方法。該方法將距離與能量相結(jié)合,提出能量感知和節(jié)點過濾方法。與傳統(tǒng)密碼交換機制不同,該方法在會話構(gòu)建前有策略的將重點密鑰傳輸?shù)讲糠止?jié)點中,而不是全部節(jié)點;在選擇過濾節(jié)點時不但參考距離,且綜合分析節(jié)點剩余能量與密鑰傳播信息,有效過濾虛假數(shù)據(jù),更好的均衡網(wǎng)絡能耗。該方法可有效根據(jù)部分節(jié)點進行過濾,但該方法過濾的數(shù)據(jù)覆蓋范圍存在一定局限。文獻[4]提出多路虛假數(shù)據(jù)分層過濾方法。該方法在完成網(wǎng)絡布置后,對每個節(jié)點分配相應密鑰,利用密集認證方式建立封閉區(qū)域,并通過密鑰明確簇內(nèi)節(jié)點和驗證節(jié)點之間的關系,轉(zhuǎn)發(fā)需要檢測的數(shù)據(jù)包,判定其包括的節(jié)點碼、哈希值等信息是否正確;根據(jù)sink節(jié)點對數(shù)據(jù)包進行對比與丟棄,以此實現(xiàn)多路虛假數(shù)據(jù)分層過濾。該方法可以準確過濾掉虛假數(shù)據(jù),但對網(wǎng)絡虛假數(shù)據(jù)出現(xiàn)的溯源追蹤與定位考慮甚少。

        基于上述方法存在的不足,本文利用Python爬蟲技術進行虛假數(shù)據(jù)溯源與途中過濾。爬蟲技術通過一定規(guī)則自動抓取網(wǎng)頁信息的一種程序。其目的是將目標數(shù)據(jù)下載到本地,便于后續(xù)分析。Python語言是一種較為簡潔的開源編程式語言,具有標準庫與第三方庫,用戶可結(jié)合自己喜好選取最適合的編輯工具來編寫爬蟲程序。本文設計了Python爬蟲系統(tǒng),利用該系統(tǒng)生成數(shù)據(jù)包,實現(xiàn)虛假數(shù)據(jù)溯源與途中過濾。與傳統(tǒng)方法相比可以有效追蹤虛假數(shù)據(jù)的溯源,且過濾的數(shù)據(jù)范圍較大,具有一定優(yōu)勢。

        2 虛假數(shù)據(jù)覆蓋的網(wǎng)絡劃分

        為了實現(xiàn)網(wǎng)絡虛假數(shù)據(jù)的溯源與途中過濾,本文首先對虛假數(shù)據(jù)所處的網(wǎng)絡環(huán)境進行劃分。將虛假數(shù)據(jù)網(wǎng)絡覆蓋部分分割為同樣大小的網(wǎng)格,任意一個節(jié)點均有固定監(jiān)測范圍,在此范圍內(nèi)發(fā)生的全部狀況都能被節(jié)點感知。其中,網(wǎng)格便是監(jiān)測網(wǎng)格。此外節(jié)點根據(jù)設置的概率,隨機挑選多個不在自身監(jiān)測范圍內(nèi)的網(wǎng)絡,將其作為認證網(wǎng)格,節(jié)點對認證網(wǎng)格發(fā)生的狀況進行驗證。網(wǎng)絡劃分情況如圖1 所示。

        圖1 虛假數(shù)據(jù)覆蓋的網(wǎng)絡劃分

        圖1 中,存在L個主密鑰組,節(jié)點必須加入其中一個密鑰組,并利用此組中的密鑰生成監(jiān)測和認證網(wǎng)格相對的密鑰。若某事件發(fā)生時,由該事件節(jié)點形成數(shù)據(jù)報告;然后,節(jié)點使用其掌握的事件發(fā)生地點密鑰為詞條數(shù)據(jù)增添消息認證碼MAC(Message Authentication Code)。

        每條合法的數(shù)據(jù)報告需包含T個MAC,且形成這T個消息認證碼節(jié)點必須出自不同密鑰組。當途中節(jié)點接收數(shù)據(jù)報告后,需明確事件發(fā)生地址,結(jié)合掌握的密鑰斷定是否對數(shù)據(jù)報告進行檢測與認證。如果不對其認證,則根據(jù)一定概率對數(shù)據(jù)包進行標記[5],并轉(zhuǎn)發(fā)此數(shù)據(jù)報告;如果認證失敗,直接丟棄此數(shù)據(jù)報告。通過對虛假數(shù)據(jù)覆蓋的網(wǎng)絡劃分,明確其存在的位置以及設置相關密鑰,降低算法復雜度。

        3 基于Python爬蟲的虛假數(shù)據(jù)溯源與途中過濾

        3.1 Python爬蟲系統(tǒng)設計

        3.1.1 爬蟲抓取過程分析

        網(wǎng)絡爬蟲是開發(fā)者編寫的計算機程序或腳本[6],利用設置的規(guī)則,在上述構(gòu)建的網(wǎng)格中向蜘蛛網(wǎng)一樣對網(wǎng)頁不停擴張,從中獲取目標數(shù)據(jù)的過程,其抓取過程如圖2所示。

        圖2 網(wǎng)絡爬蟲抓取過程

        由圖2可知,抓取過程是一個循環(huán)執(zhí)行過程,經(jīng)過不停循環(huán)獲得新的網(wǎng)頁信息。以鏈接構(gòu)成的集合作為種子源,將其放入待爬取隊列中,按照設置的規(guī)則從中選取某個鏈接,并將請求發(fā)送到遠程服務器,等待服務器返回內(nèi)容;爬蟲得到網(wǎng)頁信息后,對內(nèi)容進行解析,提取重要數(shù)據(jù)儲存在數(shù)據(jù)庫中。此外,獲取新的超鏈接,經(jīng)過去重處理,進入新一輪數(shù)據(jù)提取。

        3.1.2 系統(tǒng)需求分析

        利用Python語言設計的爬蟲系統(tǒng)能夠為不同領域用戶提供數(shù)據(jù)采集服務的通用型系統(tǒng)。為達到一定效果,系統(tǒng)需具備下述功能:

        1)適用較多采集場景:系統(tǒng)設計需適用于不同場景,為不同用戶提供服務。

        2)界面可視化:結(jié)合使用場景,設計圖形化界面,確保用戶在瀏覽信息同時,記載用戶操作的相關信息,生成爬蟲任務腳本。

        3)執(zhí)行爬蟲任務:將腳本信息變?yōu)槟軌蜃R別的內(nèi)容,結(jié)合指令驅(qū)動[7],完成數(shù)據(jù)提取。

        4)負載均衡:需針對不同性能機器分配適當任務量。

        3.1.3 Python爬蟲系統(tǒng)設計

        Python爬蟲系統(tǒng)硬件結(jié)構(gòu)分為客戶模塊、服務模塊、爬取模塊與儲存模塊,如圖3所示。

        圖3 爬蟲系統(tǒng)整體架構(gòu)

        其中,客戶端是系統(tǒng)交互的入口,提供編輯、任務管理、信息查看等界面。服務端對客戶請求及時處理,執(zhí)行爬蟲任務的分配與調(diào)度工作。

        為追溯虛假數(shù)據(jù),降低不同模塊之間耦合度,對該系統(tǒng)的硬件部分進行設計。

        1)爬蟲管理器:該管理器對物理節(jié)點啟動提供適當虛擬節(jié)點。結(jié)合節(jié)點負載狀況,對虛擬節(jié)點數(shù)量進行調(diào)整,確保節(jié)點以最佳狀態(tài)執(zhí)行爬取任務,簡化系統(tǒng)負載程度。

        2)爬蟲采集器:主要任務為數(shù)據(jù)采集。包含任務解析與數(shù)據(jù)管理子模塊。

        3)內(nèi)嵌瀏覽器:利用QT(Qualification Test)框架作為內(nèi)嵌瀏覽器,采用Qpush Button部件設置訪問按鈕,確保信息鏈接和網(wǎng)頁相互對應。

        在上述硬件設置后,對系統(tǒng)軟件運行機制進行設置。從系統(tǒng)爬取數(shù)據(jù)角度描述系統(tǒng)軟件各模塊如何協(xié)作,如圖4 所示。

        圖4 軟件運行機制

        3.2 關聯(lián)建立與密鑰分配

        根據(jù)上述構(gòu)建爬蟲系統(tǒng),通過密鑰分配生成數(shù)據(jù)包,分析密鑰驗證的合法性,實現(xiàn)虛假數(shù)據(jù)溯源與途中過濾。

        假設存在大小未是N的全局密鑰池G,將其等分為n個不重合的分區(qū){Ui,0≤i≤n-1},任意一個分區(qū)密鑰數(shù)量表示為m(N=n×m)。在部署區(qū)域?qū)⒐?jié)點任意挑選一個分區(qū)進行保存,將此種密鑰設為R型密鑰。

        在完成節(jié)點部署后,若某節(jié)點的ID最小,將此節(jié)點當作簇頭CH。由于感知半徑大于傳輸半徑,因此,設簇內(nèi)全部節(jié)點可以同時感知發(fā)生事件。CH采集簇內(nèi)數(shù)據(jù)生成hello包:{y,CH,S1,S2,…,Sy},y表示計數(shù)器,原始值是簇內(nèi)節(jié)點數(shù)量,S1,S2,…,Sy為簇中節(jié)點。

        CH將hello向sink方向傳輸,傳輸跳數(shù)取決于y。首個中轉(zhuǎn)節(jié)點Si接收包后,刪除節(jié)點數(shù)最后一位,記錄Sy。Si與Sy是一對協(xié)作節(jié)點,Si處于上游,而Sy為下游。Si將自身節(jié)點號插入節(jié)點數(shù)組首位,并轉(zhuǎn)發(fā)數(shù)據(jù)包,繼續(xù)執(zhí)行爬蟲過程,此時計數(shù)器y減去1。

        hello數(shù)據(jù)包傳輸y跳后停止操作,位于最后的中轉(zhuǎn)節(jié)點Sj形成一個僅包括其本身節(jié)點的ACK包:{Sj},且將其按照hello數(shù)據(jù)包的方向進行傳輸。中轉(zhuǎn)階段順次將自身節(jié)點引入到數(shù)據(jù)包末位,簇內(nèi)節(jié)點從包中ACK記載協(xié)作節(jié)點序號[8-9]。

        協(xié)作節(jié)點間利用消息共享一對密鑰,密鑰類型表示為A′。簇內(nèi)節(jié)點隨機挑選一個R型密鑰對A‘密鑰進行加密,同時傳輸給簇頭,簇頭將這些信息壓縮再傳輸?shù)絪ink節(jié)點。構(gòu)建協(xié)作關系的區(qū)域可以對數(shù)據(jù)進行認證,將其稱作封鎖區(qū)。

        3.3 虛假數(shù)據(jù)包的生成

        在建立關聯(lián)后,如果檢測到突發(fā)事件,簇頭將感知值傳輸給每個簇中的節(jié)點。獲得信息的節(jié)點S將感知數(shù)值與設定的閾值e比較,如果低于設定閾值,認為兩個數(shù)據(jù)相同,并任意選出一個R型密鑰與其A型密鑰生成簽名:MR,MA,將其傳輸給簇頭,當簇頭采集t個節(jié)點簽名信息后形成數(shù)據(jù)報告

        R0={C;e;R1,R2,…,Rt;MR1,MR2,…,MRt

        A1,A2,…,At;MA1,MA2,…,MAt}

        (1)

        式中,C表示跳數(shù)計數(shù)器,其原始值表示為y;R1,…,Rt屬于R型密鑰,MR1為密鑰R1生成的MAC;A1…At描述節(jié)點號,MA1是A1節(jié)點利用對偶密鑰生成的MAC。利用布隆過濾器[10]將兩種MAC映射為d比特字符串,即

        F=b0,b1…bd-1

        (2)

        則生成的虛假數(shù)據(jù)包為

        R={C;e;R1,R2,…,Rt;A1,A2,…,At;F1;F2}

        (3)

        式中,t的取值是過濾性能與能耗情況的折中。

        3.4 虛假數(shù)據(jù)溯源過程

        當sink節(jié)點獲得數(shù)據(jù)包后,使用共享密鑰證明MAC是否合法,如果不合法,啟動溯源過程。

        當檢測到存在虛假數(shù)據(jù)時,選擇新的虛假數(shù)據(jù)包,向上一跳傳輸一個查找請求信息Q,當節(jié)點A1收到消息后,查詢緩沖區(qū)域,并對信息Q進行廣播,其鄰居節(jié)點獲取查詢信息后,檢查緩沖區(qū)日志,若沒有查詢到有關內(nèi)容,則不發(fā)送應答信息ACK;若查找到有關內(nèi)容u.a[i].SrcID==Q.SrcID,則利用sink節(jié)點共享密鑰生成Mu,即

        (4)

        并將應答信息傳輸?shù)紸1,傳輸過程描述為

        (5)

        當節(jié)點A1獲得全部應答信息后,斷定各信息中A1的前一跳節(jié)點是否一致,根據(jù)緩沖區(qū)查詢結(jié)果,挑選與前一跳節(jié)點相同的查詢結(jié)果,并將回復信息傳輸?shù)絪ink節(jié)點。A1傳輸?shù)絪ink節(jié)點的回復消息形式為

        A1→sink=IDu1,…,IDut,IDd1,IDd2,Q.SrcID

        Q.Seqno,Mu1,…,Mut

        (6)

        當sink節(jié)點獲得上游節(jié)點回復的信息后,必須斷定信息中是否包括節(jié)點認證,再結(jié)合共享密鑰驗證信息的合法性,經(jīng)過驗證后,獲取IDd1與IDd2值。當獲得全部回復信息后,可以重構(gòu)路徑,溯源到虛假數(shù)據(jù)。

        3.5 虛假數(shù)據(jù)的途中過濾

        在Python爬蟲系統(tǒng)中,虛假數(shù)據(jù)途中過濾詳細步驟為:

        1)核對數(shù)據(jù)包內(nèi)是否存在t對{Rk,MRk};{Ak,MAk}元組,如果不存在則將數(shù)據(jù)包刪除;

        2)核對數(shù)據(jù)包內(nèi)t個R型密鑰是否出自t個不同區(qū)域,若不存在,則刪除數(shù)據(jù)包;

        3)如果節(jié)點具有數(shù)據(jù)包內(nèi)一個R型密鑰,則使用此密鑰重新獲得R型MAC,且與數(shù)據(jù)包內(nèi)原有MAC進行比較,若不同則刪除數(shù)據(jù)包;

        4)如果節(jié)點中不具有任何一個密鑰,則將數(shù)據(jù)包直接過濾,實現(xiàn)虛假數(shù)據(jù)的過濾。

        4 仿真分析

        4.1 仿真環(huán)境及參數(shù)

        本文使用C++語言構(gòu)建模擬仿真平臺,在一個半徑為100 m區(qū)域內(nèi),隨機布置1000個傳感器節(jié)點,主密鑰數(shù)量設置為6個,在圓形監(jiān)測區(qū)域內(nèi),源節(jié)點與sink節(jié)點分別布置在圓心與圓的四周。具體仿真參數(shù)如表1所示。

        表1 仿真參數(shù)

        4.2 仿真方案

        在上述仿真環(huán)境下,通過對比所提方法、基于能量感知路由和節(jié)點過濾以及傳感器網(wǎng)絡多路虛假數(shù)據(jù)分層過濾方法,以虛假數(shù)據(jù)途中過濾效果、虛假數(shù)據(jù)過濾的覆蓋性以及虛假數(shù)據(jù)追蹤定位準確性為指標,驗證所提方法的科學有效性。

        4.3 實驗結(jié)果

        4.3.1 虛假數(shù)據(jù)途中過濾效果

        在虛假數(shù)據(jù)途中過濾效果分析中,通過分析虛假數(shù)據(jù)途中過濾比例與傳輸跳數(shù)之間的關系,反映方法的過濾效果。實驗對比了所提方法、基于能量感知路由和節(jié)點過濾方法以及傳感器網(wǎng)絡多路虛假數(shù)據(jù)分層過濾方法的過濾效果,如圖5 所示。

        圖5 虛假數(shù)據(jù)途中過濾效果分析

        分析圖5中可以看出,利用本文方法時,虛假數(shù)據(jù)的大部分在前5跳即可被過濾,而其它數(shù)據(jù)也在前15跳全部過濾完成,而其它兩種方法在前5跳基本無法過濾虛假數(shù)據(jù),在15跳后仍有數(shù)據(jù)沒有被過濾。相比之下所提方法途中過濾性能明顯優(yōu)于其它兩種方法。

        4.3.2 虛假數(shù)據(jù)過濾范圍覆蓋性能分析

        實驗分析了所提方法、基于能量感知路由和節(jié)點過濾方法以及傳感器網(wǎng)絡多路虛假數(shù)據(jù)分層過濾方法在過濾時的覆蓋性能,將部署區(qū)域的網(wǎng)絡節(jié)點數(shù)量分別設置為1000、2000和3000個,在每種情況下分別進行100次實驗。實驗結(jié)果如表2 所示。

        表2 不同過濾方法覆蓋性能對比

        由表2可知,隨著節(jié)點數(shù)量的不斷增長,本文方法的覆蓋性能始終保持較高水平,而其它方法覆蓋性下降較快,導致虛假數(shù)據(jù)過濾效果不理想,驗證了所提方法的有效性。

        4.3.3 虛假數(shù)據(jù)追溯跟蹤定位精度分析

        實驗采用三種方法對虛假數(shù)據(jù)進行溯源定位,比較虛假數(shù)據(jù)成功定位的概率,實驗結(jié)果如圖6 所示。

        圖6 不同方法追溯跟蹤性能對比

        從圖6中可以看出,所提方法對虛假數(shù)據(jù)定位的精度更高,始終高于90 %,而其它兩種方法定位精度呈現(xiàn)下降趨勢,且始終低于所提方法,這是由于所提方法利用Python爬蟲系統(tǒng)對虛假數(shù)據(jù)進行溯源,收集更多數(shù)據(jù)報告,提高成功定位的精度。

        5 結(jié)論

        針對傳感器虛假數(shù)據(jù)的注入,利用Python爬蟲技術設計爬蟲系統(tǒng),建立封鎖區(qū)域、生成數(shù)據(jù)包以及判斷數(shù)據(jù)是否合法啟動溯源程序,并對虛假數(shù)據(jù)進行途中過濾。與傳統(tǒng)方法相比具有以下優(yōu)勢:

        1)采用所提方法對虛假數(shù)據(jù)中途過濾的效果較好,且過濾的覆蓋性能具有一定優(yōu)勢。

        2)采用所提方法對虛假數(shù)據(jù)溯源的定位精度始終高于90 %,具有一定可信度。

        猜你喜歡
        信息方法
        學習方法
        訂閱信息
        中華手工(2017年2期)2017-06-06 23:00:31
        可能是方法不對
        用對方法才能瘦
        Coco薇(2016年2期)2016-03-22 02:42:52
        四大方法 教你不再“坐以待病”!
        Coco薇(2015年1期)2015-08-13 02:47:34
        賺錢方法
        捕魚
        展會信息
        中外會展(2014年4期)2014-11-27 07:46:46
        信息
        健康信息
        祝您健康(1987年3期)1987-12-30 09:52:32
        国产内射合集颜射| 久久不见久久见免费影院国语| 蜜桃视频一区二区三区在线观看| 精品国产国产AV一区二区| 亚洲av熟女天堂系列| 久久精品国产亚洲av久按摩| 狠狠躁日日躁夜夜躁2020| 99久久免费看少妇高潮a片特黄| 亚洲AV无码一区二区一二区色戒| 亚洲中文字幕一区二区三区多人| 少妇高潮惨叫久久久久电影69| 久久夜色精品国产噜噜麻豆| 亚洲色欲久久久综合网| 蜜桃av一区二区三区久久| 人妻少妇偷人精品久久性色av| 无码一区二区三区在线| 国产精品亚洲专区无码web | 中国杭州少妇xxxx做受| 国产97在线 | 免费| 国产成人av在线影院无毒| 色噜噜亚洲精品中文字幕| 风流老太婆大bbwbbwhd视频| 亚洲中文有码字幕青青| 免费在线日韩| 精品日本一区二区三区| 日韩一区国产二区欧美三区 | 中文字幕在线乱码日本| 成人无码av一区二区| 在线观看免费a∨网站| 最新国产精品精品视频| 日韩中文字幕一区二区二区| 国产免费av片无码永久免费| 在线观看亚洲AV日韩A∨| 久久精品伊人久久精品| 国产成人av一区二区三区在线观看| 欧美性大战久久久久久久| 18禁国产美女白浆在线| 不卡av网站一区二区三区| 国产精品欧美福利久久| 伊人亚洲综合网色AV另类| 亚洲精品中文字幕91|