999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

微博數據爬蟲的檢測方法研究

2023-10-30 04:32:52黃志高
現代計算機 2023年16期
關鍵詞:程序檢測方法

黃志高

(泉州師范學院物理與信息工程學院,泉州 362000)

0 引言

網絡爬蟲在各個領域用于收集數據,即使目標站點禁止機器人爬蟲,某些網絡爬蟲也會收集數據,某些Web 服務嘗試通過反爬蟲程序方法檢測爬蟲活動并阻止爬蟲程序訪問網頁,但某些惡意Web 爬蟲通過修改其標頭值或分發源IP 地址來偽裝自己[1],從而繞過檢測方法,就好像它們是普通用戶一樣。

一些公司禁止網絡爬蟲訪問他們的網頁,原因如下:首先,網絡爬蟲可能會降低網絡服務器的可用性;其次,網絡服務器中的內容被視為公司的知識產權。競爭公司可以復制網絡服務器中提供的全部數據,競爭公司可能會向客戶提供類似的服務。本文研究了傳統的反爬蟲方法和各種回避技術,表明傳統的反爬蟲方法不能阻止分布式爬蟲。然后,提出了一種新的反爬蟲方法,即長尾閾值模型(LTM)方法,該方法逐漸將分布式爬蟲的節點IP 地址添加到阻止列表中。實驗結果表明,該方法能夠有效識別誤報率為0.02%的分布式爬蟲。在傳統的基于頻率的方法中[2],當增加閾值以檢測更多的爬蟲節點時,誤報也會相應增加。

1 傳統反爬蟲方法及其缺陷

1.1 使用HTTP標頭信息進行過濾

基本爬蟲程序發送請求而不修改其標頭信息,Web 服務器可以通過檢查請求標頭來區分合法用戶和爬蟲程序,此標頭檢查方法是一種基本的反爬蟲方法。但是,如果爬蟲試圖將自己偽裝成合法用戶,它將使用來自Web 瀏覽器的標頭信息或類似于瀏覽器的HTTP 標頭信息重置[3]。這使得Web 服務器很難通過簡單地檢查請求標頭來確定客戶端是爬蟲程序還是合法用戶。

1.2 基于訪問模式的反爬蟲

基于訪問模式的反爬蟲方法根據客戶端生成的請求模式將合法用戶與爬蟲程序進行分類。如果客戶端僅連續請求特定網頁,而不調用通常應請求的網頁,則該客戶端將被視為爬蟲程序。執行主動爬蟲的爬蟲程序預定義了爬蟲程序想要收集的核心網頁,爬蟲程序請求特定的網頁而不請求不必要的網頁。在這種情況下,Web 服務器可以識別客戶端不是合法用戶。通過分析客戶端訪問模式的Web 服務,該服務可以根據預定義的普通用戶的訪問模式將爬蟲程序與普通用戶區分開來。雖然這種方法可以根據訪問模式識別爬蟲,但一些爬蟲甚至通過分析網絡日志來偽裝他們的訪問模式。

1.3 基于訪問頻率的反爬蟲

基于訪問頻率的反爬蟲方法通過訪問頻率閾值作為特定時間范圍內的最大訪問次數來確定客戶端是爬蟲還是合法用戶。如果來自客戶端的請求數在預定義的持續時間內超過某個閾值,則Web 服務器會將客戶端分類為爬蟲程序。這種方法有兩個眾所周知的問題。首先,它對分布式爬蟲有漏洞。如果攻擊者使用分布式爬蟲(如Crawlera),則可以管理每個爬蟲節點的訪問速率保持在閾值以下[4]。其次,普通用戶和爬蟲程序共享單個公共IP 地址,容易被誤識別為爬蟲程序。

2 阻止分布式爬蟲

如上所述,分布式爬蟲程序可以繞過傳統的反爬蟲方法。我們提出了一種新技術來檢測和阻止傳統反爬蟲技術無法防御的分布式爬蟲。

2.1 所需的爬蟲節點數

為了使分布式爬蟲收集網站的全部數據,必須滿足以下條件:

其中:Um是一個月內更新的項目數,Td是每個IP 地址的最大請求數,Cn是爬蟲程序節點數(IP 地址),30 是一個月的天數。Td乘以 30 得到每月的請求數。

爬蟲程序節點需要收集每月所有更新的數據。每月更新數據數除以每月最大請求數。例如,如果一個月內有Web 服務更新30000 個項目,并且該服務具有限制規則,即具有多個(例如100)請求的IP 地址將被阻止,并且嘗試從Web 服務收集每個項目的攻擊者將需要例如10個爬蟲程序節點來避免限制。因此,隨著Um增加或Td減少,應該增加Cn并以數字表示網站難以抓取的級別。

2.2 生成長尾區域

一個月內更新的項目數量不能隨意增加。因此,防止分布式爬蟲的一種簡單方法是Td減少,但這也會顯著增加誤報。在本文中,我們通過反轉Web 流量的一般特征并利用分布式爬蟲嘗試復制Web 服務器的整個數據的事實來解決這個問題。如果項目按訪問率排序,我們可以在圖表中看到指數遞減曲線,如圖1 所示。大多數網絡流量集中在最常請求的項目上,并且有一個長尾區域具有較低的訪問率。我們計算了此長尾區域的最大請求計數,并將此值設置為Td3。

圖1 每個鏈接的訪問頻率

在信息論中,不太可能的事件比可能的事件更具信息量,而長尾地區的事件比其他事件更不可能。這意味著Web 服務可以從長尾區域的請求中查找更多信息。因此,當客戶端不斷請求長尾區域中的項目時,Web 服務可以增加計數,直到達到Td3,而不是達到Td平均值。這意味著Web 服務可以設置更敏感的閾值,而不會增加誤報率。

2.3 長尾區域節點縮減

為了使攻擊者從Web 服務收集整個數據,攻擊者還必須訪問長尾區域中的項目。但是,攻擊者并不確切知道哪些項目屬于長尾區域。利用這種信息不對稱性,服務提供商可以輕松識別比其他IP 地址更頻繁地訪問項目的IP 地址。這些已識別的爬蟲程序的IP 地址將包含在阻止列表中,并且阻止列表中的IP 地址數將為Cm。如果我們開始通過長尾間隔增加該Cm值,攻擊者將使用較少數量的IP 地址進行爬行,并且會在Td間隔內增加Cm[5]。

2.4 虛擬項目

服務提供商可能會添加虛擬項目來檢測爬蟲程序,并且合法用戶無法訪問虛擬項目,因為虛擬項目沒有用戶界面或隱藏。生成虛擬項目的方法很少,它可能以HTML 標簽的形式存在,但屬性設置不會顯示在屏幕上,或者可能包含普通用戶不感興趣的垃圾信息。但是,對服務執行順序訪問的爬蟲程序可能會訪問虛擬項目。通過這一特性,虛擬項目可以作為長尾區域的延伸。在本文中,我們不會在實驗中包含虛擬項目,以便與不包含任何虛擬項目的真實流量日志進行公平比較[6]。

3 實驗測試

實驗旨在評估爬蟲檢測模塊對網絡流量的分類性能。將LTM 方法與基于正常訪問頻率的反爬蟲方法在爬蟲節點的最大數量和誤報率上進行了比較[7]。在實驗中使用這個數據集有兩個因素,一個是用戶數,另一個是網站中的項目數。用戶數量很重要,因為如果用戶數量較少,某些用戶可能會偏向流量模式。為了實現這一目標,我們開發了一個基于Python 的數據工具和一個模擬器。在數據預處理工具中,如圖2所示對原始流量數據進行預處理,以計算單個URL 的訪問頻率,并對屬于長尾區域的集進行分類。每當發生新的訪問時,模擬器根據預處理的數據確定訪問節點是否為爬蟲程序。

圖2 爬蟲檢測流程

3.1 數據源

NASA 在2005 年7月共公布了2493425份訪問日志。我們將這些日志解析為csv 格式,該格式由四列組成,包括IP 地址、日期、訪問目標和訪問結果。連接的IP 地址總數為41958,項目數為21534。

3.2 數據預處理和流量分配

我們在實驗的預處理階段執行了三個步驟。第一步將日志拆分為兩個數據集:訓練集和測試集。在NASA 訪問日志中,前24 天日志設置為訓練集,最后一個日志設置為測試集。第二步篩選出一些訪問日志,以計算更準確的訪問計數。某些請求合并為單個請求,以防止重復計數。例如,當用戶訪問html 文件時,他們還可以訪問鏈接的圖像文件。這可能會強制訪問計數成倍增加。因此,我們刪除了一些對圖像文件的請求。此外,我們還從實驗中排除了訪問結果不成功的請求日志。

表1 預處理的網絡流量數據

實驗中構建了一個預處理的流量數據集,該數據集由來自21649 個原始數據的6649 個項目組成,并且它有一個由5355 個項目組成的長尾區域。總訪問數平均值為184.76,長尾區的平均訪問數為1.88。兩個平均值之間的差異只是表明可以在爬蟲檢測算法中設置一個更靈敏的閾值。

實驗還統計了按訪問頻率排序時最常訪問的鏈接,到最不常訪問的鏈接的特征[8]。比率是指按訪問計數對所有項目進行排序時每個組所在的間隔。訪問平均值是指屬于每個組的每個項目的平均訪問次數,最大訪問量是指每個組中項目之間的最大訪問計數。

3.3 虛擬仿真

在仿真實驗中,檢查LTM 是否能夠檢測和禁用分布式爬蟲程序IP 地址組,將實際Web 流量輸入到LTM 時檢查誤報率。整個爬蟲程序檢測流程如圖2所示。

3.4 分布式爬蟲檢測模擬

從表2的實驗數據,我們可以觀察到爬蟲IP地址集合逐漸減少,直到所有IP 地址都被完全阻止。當第一個爬蟲節點IP 地址超過Td3閾值IP被封禁,節點減少計數呈指數級增長。這是因為其他爬蟲節點得到了更多的訪問負荷,并且當爬蟲節點被訪問時,更多的項目必須訪問被阻止。

表2 實驗數據

實驗閾值設置為20,爬蟲項目包含222 節點。LTM 檢測到了整個爬蟲項目所有節點,錯誤率約為0.0275%,遠低于傳統的基于頻率的爬蟲檢測方法。在表2 中,我們將LTM 的結果與通用的基于頻率的反爬蟲(FBA)方法的結果進行了比較。LTM 對分布式的爬蟲檢測性能非常依賴于項目的數量和長尾比率。考慮到這個限制,仿真實驗是使用舊的NASA 交通數據進行[9],項目的總數比通常的現代網絡項目要小得多。如果有10 倍數據和類似訪問的頻率分布的項目,我們提出的方法可以從由2000 個節點組成的網絡項目中檢測出分布式爬蟲。

在實驗中,LTM 達到了最小的錯誤率為0.0046%,而FBA 僅達到0.0367%,這意味著LTM 的檢測可靠性比經典FBA 方法提高了500%。當我們將閾值設置為35,這時LTM 達到最小誤報率的值,FBA 方法比LTM 方法多了19.400%的誤報率。

4 結語

本文介紹了長尾閾值模型(LTM),并展示了LTM 如何有效地檢測分布式爬蟲,相比之下先前的方法是脆弱的。通過模擬真實的網絡流量數據,LTM 有效地識別了分布式爬蟲,并顯示出極低的誤報率。針對網絡服務的非法網絡爬取成為嚴重的安全威脅[10]。考慮到一些爬蟲開發者將分布式爬蟲代理服務用于非法目的,LTM 可以提高網絡服務的數據安全性。

猜你喜歡
程序檢測方法
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
小波變換在PCB缺陷檢測中的應用
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
主站蜘蛛池模板: 亚洲啪啪网| a毛片在线播放| 日韩高清中文字幕| 欧美午夜小视频| 国产成人免费手机在线观看视频 | 国产第四页| 2021国产精品自拍| 久久国产精品电影| 亚洲一级色| 国产无码精品在线播放| 亚洲狼网站狼狼鲁亚洲下载| AV色爱天堂网| 久久无码av三级| 亚洲人妖在线| 日本不卡免费高清视频| 熟妇人妻无乱码中文字幕真矢织江| 亚洲精品视频免费| 91福利国产成人精品导航| 亚洲最大看欧美片网站地址| 日韩精品欧美国产在线| 亚洲天堂免费| 免费在线成人网| 456亚洲人成高清在线| 成人在线观看一区| 国产成人a毛片在线| 伊人久久青草青青综合| yjizz视频最新网站在线| 在线观看国产精品第一区免费| 中文字幕久久波多野结衣| 亚洲另类第一页| 无码不卡的中文字幕视频| 国产aⅴ无码专区亚洲av综合网 | 国产成人av大片在线播放| 中国丰满人妻无码束缚啪啪| 波多野结衣在线se| 在线观看亚洲成人| 另类欧美日韩| 午夜日b视频| jizz亚洲高清在线观看| 国内精品视频| 女人18毛片水真多国产| 成人在线欧美| 欧美午夜理伦三级在线观看| 色亚洲成人| 成人免费视频一区二区三区| 久久精品中文字幕免费| 久久综合伊人 六十路| 国产成人在线小视频| 天天色综网| 欧美曰批视频免费播放免费| 日韩精品专区免费无码aⅴ| 四虎AV麻豆| 性视频一区| 日韩欧美中文在线| 亚洲欧洲日产国码无码av喷潮| 日韩国产高清无码| 成人无码一区二区三区视频在线观看 | 无码福利视频| 日韩欧美国产区| 国产视频自拍一区| 波多野结衣一区二区三区四区 | 国产黄网永久免费| 露脸国产精品自产在线播| 色男人的天堂久久综合| 国产av无码日韩av无码网站| 最新国产成人剧情在线播放| 一区二区欧美日韩高清免费| 欧美亚洲一区二区三区在线| 国产香蕉国产精品偷在线观看| 欧美亚洲激情| 亚洲人成成无码网WWW| 香蕉网久久| 久久免费观看视频| A级毛片高清免费视频就| 色九九视频| 久久人人妻人人爽人人卡片av| 天堂成人在线| 中文字幕啪啪| 成人国产小视频| 亚洲无限乱码| 国产精品成人第一区| 97综合久久|