鄒建鑫,李紅靈
(云南大學 信息學院 計算機科學與工程系,云南 昆明 650000)
基于網(wǎng)站訪問行為的匿名爬蟲檢測
鄒建鑫,李紅靈
(云南大學 信息學院 計算機科學與工程系,云南 昆明 650000)
通過分析和研究網(wǎng)絡爬蟲訪問網(wǎng)頁內(nèi)容的行為,針對惡意網(wǎng)絡爬蟲偽裝成瀏覽器訪問網(wǎng)站難以甄別、網(wǎng)站日志檢測工具不支持匿名網(wǎng)絡爬蟲檢測等問題,總結了一些基于機器人排斥協(xié)議和基于爬蟲行為的惡意網(wǎng)絡爬蟲檢測算法。通過這些網(wǎng)絡爬蟲檢測算法的啟發(fā),提出一種基于爬蟲行為的檢測匿名爬蟲算法。該算法主要根據(jù)人為訪問網(wǎng)站與網(wǎng)絡爬蟲訪問網(wǎng)站時間的長短、訪問的周期等,對網(wǎng)絡爬蟲進行檢測,同時對算法進行了實驗驗證。實驗數(shù)據(jù)來自一個服務器的網(wǎng)絡日志。應用Python對實驗數(shù)據(jù)進行處理,從而對網(wǎng)絡匿名爬蟲進行檢測,并與當前主流的匿名網(wǎng)絡爬蟲檢測算法進行比較。結果表明,該算法能夠檢測出并發(fā)量小的匿名的網(wǎng)絡爬蟲。
網(wǎng)絡爬蟲;網(wǎng)絡機器人排斥協(xié)議;網(wǎng)站訪問行為;匿名爬蟲檢測
為了批量抓取互聯(lián)網(wǎng)網(wǎng)站中的特定鏈接和內(nèi)容,20世紀90年代出現(xiàn)了一種自身擁有搜索策略的網(wǎng)絡程序,將其命名為網(wǎng)絡爬蟲(Web Crawler)[1]。網(wǎng)絡爬蟲首先廣泛應用于搜索引擎(如Google的Googlebot),其主要任務是從互聯(lián)網(wǎng)抓取內(nèi)容,將抓取的內(nèi)容經(jīng)過整理后放入自己公司搜索引擎的索引庫中,以供用戶進行內(nèi)容查詢。
隨著大數(shù)據(jù)[2]時代的到來和數(shù)據(jù)挖掘[3]的應用,網(wǎng)絡爬蟲也隨之迅猛發(fā)展,從而使其成為全球互聯(lián)網(wǎng)的一大公害。除了一些專門從事搜索引擎[4]的公司,如:Google、微軟、百度外,國內(nèi)大多數(shù)大型門戶網(wǎng)站都開發(fā)了自己的搜索引擎,如:搜狐、騰訊、網(wǎng)易等等,此外還有很多國內(nèi)外不知名的搜索引擎,甚至一些學生組織的科研機構等完成的小型搜索引擎。網(wǎng)絡上充斥著如此數(shù)量巨大的網(wǎng)絡爬蟲[5],會影響網(wǎng)站安全[6],阻塞網(wǎng)絡[7]。
現(xiàn)今主流的網(wǎng)絡爬蟲檢測[8]方法主要為三種。第一:限制單個IP/api token的訪問量,比如15分鐘限制訪問180次;第二:蜜罐資源,在網(wǎng)站頁面中嵌入瀏覽器不能看到的資源,如果有IP訪問了就視為爬蟲;第三:利用網(wǎng)站日志分析工具awstats等對網(wǎng)絡日志進行定期分析,找出并發(fā)量大的匿名訪問IP。但這幾種方法對于并發(fā)量小的,只是抓取特定內(nèi)容的匿名爬蟲顯得無能為力,只有從其訪問行為上才能區(qū)別出來。
網(wǎng)絡爬蟲實質(zhì)上是一種駐留在某個主機之內(nèi)的軟件[9-11],并不會在互聯(lián)網(wǎng)中移動。主體思想是通過主機(如:個人電腦、服務器等)發(fā)送HTTP請求來獲取網(wǎng)頁,應用自身的搜索策略從獲取的網(wǎng)頁中得到超鏈接(URL),又通過超鏈接不斷地遞歸下去。其行為類似于人使用瀏覽器訪問英特網(wǎng)中的網(wǎng)頁,但其行為是根據(jù)爬取策略來自動完成和實現(xiàn)的。
爬蟲的一般遞歸策略為:首先選定要爬取的地址,將這些地址放入列表當中;其次根據(jù)列表中的地址自動發(fā)送HTTP請求,獲取相應的網(wǎng)頁之后,再對網(wǎng)頁進行分析,得到更多的URL;最后對得到的URL進行分析并過濾掉列表中已有的URL,將沒有的URL增加到自己的爬取列表中。重復以上步驟,遞歸地進行爬取操作。
為了使網(wǎng)絡爬蟲和Web服務器協(xié)同工作,在保障網(wǎng)站安全運行的前提下,允許網(wǎng)絡爬蟲抓取網(wǎng)站上的某些數(shù)據(jù),1994年眾多網(wǎng)絡爬蟲作者以及網(wǎng)絡爬蟲愛好者共同商討,提出了網(wǎng)絡機器人排斥標準。
網(wǎng)絡機器人排斥協(xié)議[12](Standard for Robot Exclusion,SRE):由網(wǎng)站管理員或者網(wǎng)站設計人員在服務器的根目錄下,設置robots.txt文件來實現(xiàn)。在這個文件中明確標明了網(wǎng)絡爬蟲不可以抓取本網(wǎng)站的資源信息,文件的內(nèi)容由一條或者多條記錄聯(lián)合構成。每一條記錄包含一個或者多個User-Agent,每個User-Agent后包含一個或者多個Disallow行。User-Agent所記錄的是一些網(wǎng)絡爬蟲的名稱,表示這些爬蟲可以訪問該網(wǎng)站中的網(wǎng)頁。Disallow的值是一些禁止訪問本網(wǎng)站的網(wǎng)頁鏈接名稱,在同一個記錄的User-Agent行中列出的網(wǎng)絡爬蟲將不能訪問這些網(wǎng)頁鏈接名稱。
網(wǎng)絡機器人排斥協(xié)議的Robots.txt范例如圖1所示。
User-agent:Disallow:
圖1 Robots.txt范例
Web服務器日志記錄[13]是用戶訪問該站點發(fā)出請求所產(chǎn)生的信息,對于遵守機器人排斥協(xié)議標準的網(wǎng)絡爬蟲可以直接通過訪問記錄將其檢測出來,方法有以下5種。
網(wǎng)絡機器人排斥協(xié)議中明確規(guī)定,爬蟲訪問站點的網(wǎng)頁前,必須先訪問Robots.txt文件。也就是首先要有一個請求資源robots.txt,從服務器管理的角度,在管理Web服務器時,如果一個網(wǎng)絡爬蟲沒有請求robots.txt就直接按照自身的搜索策略來對網(wǎng)站進行爬取,那么就視這個網(wǎng)絡爬蟲為惡意爬蟲。
對于每個遵守機器人排斥協(xié)議的網(wǎng)絡爬蟲,在發(fā)送網(wǎng)頁請求時,一定會將自己的User-Agent封裝在請求頭當中,而且自身的User-Agent是網(wǎng)絡當中特有的,不會是某個瀏覽器的名稱。由此可以通過User-Agent來檢測是否為爬蟲程序。但是一般惡意爬蟲會通過設置User-Agent的內(nèi)容來偽裝瀏覽器。
IP地址記錄了訪問網(wǎng)站站點的源地址,根據(jù)源地址是否大量發(fā)送鏈接請求,可以用來鑒別是否為網(wǎng)絡爬蟲,確定為網(wǎng)絡爬蟲之后可以通過封禁IP地址來達到控制網(wǎng)站訪問的目的。但目前大部分爬蟲程序IP地址是動態(tài)變化的,或者是直接通過代理IP對網(wǎng)站進行爬取,所以IP地址檢測的漏檢率與誤判率比較高。
一些簡易的爬蟲程序不會在發(fā)送的Request請求當中封裝Referer字段,Web服務器可以通過檢查HTTP請求頭中是否具有Referer字段來識別網(wǎng)絡爬蟲。在地址欄中直接輸入鏈接,產(chǎn)生的Request請求中沒有這個字段,這個字段也可以被封裝進Header當中,所以這種方法的檢錯率也可能較低。
部分網(wǎng)絡爬蟲為了減少請求服務器的開銷回應,在Method域中采用HEAD方法來請求。如果在網(wǎng)絡日志當中有某個IP擁有很多的HEAD請求,則此網(wǎng)站訪問者可能被判定為網(wǎng)絡爬蟲。
以上5種方法主要針對遵循網(wǎng)絡機器人排斥標準的靜態(tài)的網(wǎng)絡爬蟲的檢測,但各有其優(yōu)缺點,結合幾種方法同時考慮會提供準確度。但是網(wǎng)絡機器人排斥協(xié)議所定義的一些內(nèi)容并不能夠限制惡意網(wǎng)絡爬蟲對網(wǎng)站的抓取,因為惡意網(wǎng)絡爬蟲現(xiàn)今基本上都封裝成假冒的Request請求,盡最大努力地模仿瀏覽器[14]的行為,甚至出現(xiàn)了一些專用工具。如Phantomjs,這是一個沒有界面的瀏覽器,專門解析網(wǎng)站中動態(tài)生成的JS文件以及AJXS文件,Phantomjs本身就是瀏覽器,通過它的訪問都可以偽裝成一個真正用戶的請求。只有通過服務器日志的行為分析才能夠區(qū)分出這是一個偽裝爬蟲。檢測出來后,服務器管理員可以通過IP封鎖[15]等方式對這些惡意爬蟲進行相應處理。
遵守網(wǎng)絡機器人排斥協(xié)議的網(wǎng)絡爬蟲很容易通過網(wǎng)站日志等進行判斷和區(qū)分。而現(xiàn)今許多網(wǎng)絡爬蟲是通過偽裝成瀏覽器來進行,這就不能夠簡單地從網(wǎng)站日志當中將其區(qū)分出來,需要根據(jù)其行為進行動態(tài)分析來進行甄別。
在服務器根目錄的robots.txt文件代碼中,加入不允許訪問的網(wǎng)頁[16],例如/admin/hide.html。這個網(wǎng)頁是不存在或者是無關緊要的文件,而且這個網(wǎng)頁或者文件只在robots.txt里面被提及,一個網(wǎng)絡爬蟲只有通過robots.txt才能獲知這個網(wǎng)頁。非惡意爬蟲遵循robots.txt的規(guī)定,不會去訪問這個網(wǎng)頁或者文件,也不會知道這個網(wǎng)頁或者文件的URL,訪問該網(wǎng)頁或者文件的網(wǎng)絡爬蟲極可能就是那些視圖利用robots.txt抓取網(wǎng)站機密文件的惡意爬蟲。
網(wǎng)絡爬蟲通常缺乏足夠的能力去辨別網(wǎng)頁代碼中各鏈接的真?zhèn)蝃17]。根據(jù)這個策略,可以在網(wǎng)頁代碼中加入一些在瀏覽器中不能顯示的或是顯示不明顯的,但是可能被網(wǎng)絡爬蟲訪問的隱藏鏈接,通過這種方式來捕獲惡意爬蟲。例如:鏈接的文本采用與background一樣的顏色,在瀏覽器中很難看出這個鏈接,正常的網(wǎng)站訪問一般情況是不會訪問到這個鏈接的。如果爬蟲爬取了這個鏈接,即被視為惡意爬蟲。另外,如果只是檢測那些不遵守網(wǎng)絡爬蟲限制策略的爬蟲,可以在robots.txt中將這些鏈接進行Disallow描述。
3.3.1 偽裝成瀏覽器的爬蟲行為模式
對于未知的、匿名的、惡意的網(wǎng)絡爬蟲,有幾個共性:不遵守相關的協(xié)議、偽裝自己的User-Agent、構造虛假的Referer信息、設置代理Proxy IP。為了識別它們,不能依靠已經(jīng)存在的協(xié)議,協(xié)議都可能被假冒,只有從其訪問模式上進行識別。
從訪問模式上看,網(wǎng)絡爬蟲與人為通過瀏覽器訪問有很大的區(qū)別,網(wǎng)絡爬蟲有自己早已設定好的訪問策略,而人為瀏覽是漫無目的的。例如:網(wǎng)絡爬蟲的搜索策略有廣度優(yōu)先和深度優(yōu)先,并且可以設置訪問深度,人為瀏覽網(wǎng)站一般跨度不可能如此之大。
人為通過瀏覽器訪問某個網(wǎng)站,步驟是:在瀏覽器當中輸入要訪問網(wǎng)站的URL,瀏覽器解析URL,然后向解析后的URL地址的服務器發(fā)送鏈接請求;Web服務器收到請求后,檢查服務器上是否存在該資源,如果存在,就將資源傳送,如果沒有則返回錯誤信息,如404等信息;通過網(wǎng)絡傳輸之后,瀏覽器收到了網(wǎng)站服務器發(fā)送的文件,接著就會對所收到的文件進行解析。接收到的文件是單一文件體,則直接在瀏覽器頁面當中顯示,例如動畫。接收到的文件是ASPX、JS或者是HTML文件,分析出這些文件當中需要的嵌入對象,包括:JS腳本、CSS、圖片、聲音等,按照嵌入對象順序,發(fā)送嵌入對象請求;服務器收到這些請求后,將對象發(fā)送;瀏覽器收到嵌入對象后,將這些嵌入對象裝進ASPX、JS、HTML文件中,通過頁面處理,將一個完整的網(wǎng)頁呈現(xiàn)出來。綜上所述,人為通過瀏覽器訪問某個網(wǎng)頁,在服務器的訪問日志中,擁有多條請求記錄。
網(wǎng)絡爬蟲的訪問模式則與此有很大的不同:從等待爬取的URL列表當中取出一個URL,假定所請求的是一個HTML,接下來把一些必要的參數(shù)封裝進鏈接請求,將封裝好的請求發(fā)送出去;服務器收到請求后,將HTML框架文件發(fā)送回去;爬蟲在收到文件之后,對接收到的文件進行解析,將該HTML中的超鏈接進行分析,需要的就增加到自己的訪問隊列中,而對于其他的一些鏈接和嵌入對象,根據(jù)網(wǎng)絡爬蟲功能、處理方法的不同,選擇直接丟棄或是選擇特定的對象進行抓取。但是有一個明顯的特點就是并不會馬上向服務器發(fā)送對象請求,所以網(wǎng)絡爬蟲的訪問,一次請求只在服務器日志中留下一條記錄信息。
爬蟲訪問網(wǎng)站和瀏覽器訪問網(wǎng)站的行為差異如圖2所示。
圖2 爬蟲訪問網(wǎng)站和瀏覽器訪問網(wǎng)站的行為差異
3.3.2 基于爬蟲訪問行為模式算法
網(wǎng)絡上一般網(wǎng)頁的訪問都遵循先請求網(wǎng)頁框架,然后再向服務器發(fā)送請求網(wǎng)頁中的內(nèi)容。所以一個網(wǎng)頁由主體的html[18]文件以及嵌入式的網(wǎng)頁成員構成。
定義1 將頁面的成員定義為:W=
在二元組當中,weburl為互聯(lián)網(wǎng)訪問的一般URL,webmember為頁面中所有嵌入式文件對象的URL集合。兩者的不同是服務器訪問日志記錄中訪問狀態(tài)不同,如果說請求到了weburl頁面,服務器日志記錄中所標識的請求狀態(tài)為200,而請求到webmember對象,其服務器日志記錄中的請求狀態(tài)為304。200表示請求成功,而304表示請求重定向到本網(wǎng)站當中的資源。
其中,嵌入式的webmember包括:FRAME之類的框架網(wǎng)頁文件;在HTML中的眾多單一文件,例如圖片、聲音、動畫等;JAVASCRIPT之類語言的腳本文件;CSS之類的樣式文件;Applet Class之類的CODE文件。例如,該算法實驗數(shù)據(jù)網(wǎng)頁index.aspx中包括一個CSS頁面/all.css存在服務器的根目錄當中,還有另外九個圖片文件存在根目錄下的images目錄下。根據(jù)定義構造出index.aspx文件的二元組為:
W=
定義2 將每個訪問成員訪問過的資源定義為:
U=
其中,uid為訪問者的ID;IP為訪問者的IP地址;User-Agent為用戶代理;request為在一段時間內(nèi)向服務器發(fā)出的請求;n為請求定義1的二元組的個數(shù)。
定義3 對每一條網(wǎng)站訪問記錄定義為:
R=
其中,IP為日志訪問記錄中的訪問者IP;User-Agent為用戶代理;Time為訪問時間;Status為返回狀態(tài)碼。
算法1:偽裝爬蟲檢測算法偽代碼。
Procedure BuildUser:
ListR(定義3)W(定義1)
UserListU(定義2) user(定義2)
Begin
Fori=temp;i temp←temp+1#設置臨時變量作為訪問點 IfR[i].request==W.url then #一條日志當中的請求為待檢測的頁面 user←new User()#新建一個訪問用戶 user.request.append(R[i].request) #將當前請求元素放入用戶請求表中 夾層加熱系統(tǒng)的投入減少機組啟動時間,降低上下缸溫差,改善機組啟動條件,有效避免因加熱膨脹不均可能發(fā)生的碰磨引起振動。鍋爐點火起壓后,爐側(cè)壓力為0.2~0.5 MPa,凝汽器建立真空后稍開聯(lián)箱進汽門,維持聯(lián)箱壓力0.1~0.3 MPa,對汽輪機汽缸夾層加熱供汽及聯(lián)箱暖管疏水;汽輪機沖轉(zhuǎn)到500 r/min投入汽缸夾層加熱,控制汽缸溫升率小于1.5 ℃/min,使汽缸內(nèi)外加熱均勻;高壓外缸下半外壁金屬溫度達到320 ℃時停用夾層加熱系統(tǒng)。 Forj=i+1;R[i].ip==R[j].ip&R[i].ag==R[j].ag;j++ 訪問下一條日志判斷條件為ip、agent相同 IfR[j].time-R[i].time<30 then #兩者記錄時間小于30 s user.request.append(R[j].request) #將當前日志請求放入請求表 End If temp←j#臨時變量記錄訪問到哪一個元素 End For U.append(user)#將訪問用戶記錄到用戶表當中 End If End For For eachu∈Udo#訪問用戶表中的每一個元素 Ifu.request在W中的request數(shù)為0 then #如果用戶請求中沒有檢測頁面的請求元素,則認定此用戶為爬蟲 Result.append(u)#將用戶放入結果列表 End If End For Return result#返回檢測出的爬蟲列表 End 通常情況下,人為訪問某個網(wǎng)站[19],通過瀏覽器來訪問幾乎是同時對頁面元素進行請求,時間一般在0~5 s以內(nèi),一般不超過30 s。如果是網(wǎng)絡爬蟲,請求到頁面之后請求頁面內(nèi)容通常會超過30 s。最后得出的結果包含一個用戶表,而有用的信息就是訪問URL成員的數(shù)量,如果數(shù)量為0,幾乎可以判定為偽裝的網(wǎng)絡爬蟲。 對一個網(wǎng)站一段時間的日志進行驗證,實驗結果如表1所示。 表1 算法檢測出來的爬蟲 首先用網(wǎng)站分析工具SEO分析這一段時間內(nèi)的網(wǎng)絡日志,所得結果主要有頁面抓取和爬蟲分析(僅針對爬蟲的項),如表2所示。 表2 網(wǎng)站日志分析工具得出的頁面抓取結果 實驗當中僅僅測試的是/index.asp頁面,可以看到狀態(tài)碼為200,這是已經(jīng)申明自己機構的爬蟲,通過awstats或者其他的網(wǎng)絡日志分析工具都可以查出,而匿名的爬蟲這些分析工具并不能分析出來。綜合網(wǎng)絡日志分析工具,看實驗結果中的IP請求次數(shù),以及在鏈接當中是否跳轉(zhuǎn)過頁面而沒有請求過本站的資源,如表3所示。 表3 實驗所得IP請求次數(shù) 實驗數(shù)據(jù)當中有四個IP是屬于本地局域網(wǎng),有兩個外網(wǎng),其中有一個是只發(fā)送過一次鏈接請求,這與微軟必應爬蟲、百度爬蟲的行為方式相同,只對網(wǎng)站爬取過一次(此為檢測方法的主要特征),初步可以判定此IP為匿名爬蟲。然后在接下來一段時間的日志當中進行此IP的查找,在訪問此網(wǎng)站的頁面資源時只有一個請求,并沒有其他的資源請求,而且此IP會周期性地訪問網(wǎng)站一次,凡是正常的用戶一次訪問可能會出現(xiàn)只請求頁面問題,長期反復的只請求頁面而不請求資源,即可確定此IP為匿名的網(wǎng)絡爬蟲。 該方法的提出主要針對現(xiàn)今網(wǎng)絡爬蟲分析工具匿名爬蟲檢測功能的不足,在用awstats進行網(wǎng)站日志分析時查找匿名網(wǎng)絡爬蟲。實驗結果當中就用了國內(nèi)SEO網(wǎng)站分析工具對網(wǎng)絡日志進行分析,分析結果表3已經(jīng)顯示,對于開源的國外公認的awstats也是基本類似的功能。對此類分析工具所得出的結果只能夠檢測出并發(fā)量高的網(wǎng)絡爬蟲,而不能檢測出并發(fā)量低的網(wǎng)絡爬蟲。 該方法與主流的限制單個ip/api token的訪問量進行比較,限制IP主要的工作是限制而不是檢測,大眾點評網(wǎng)站當中就用到了。如果少量地抓取大眾點評上的信息,限制策略并沒有用。 該方法與蜜罐資源即上文所提及的使用隱藏資源進行比較,不必在設計網(wǎng)站當中加入冗余的東西來增加網(wǎng)站的復雜性,而且對于只抓取特定內(nèi)容的網(wǎng)絡爬蟲蜜罐資源并不能夠檢測出網(wǎng)絡爬蟲。 通過對爬蟲規(guī)范的解析,以及爬蟲行為的分析,檢測匿名爬蟲現(xiàn)今只能夠從爬蟲并發(fā)量、爬蟲訪問網(wǎng)站的行為等方面入手。匿名爬蟲并發(fā)量可以通過設置服務器手段完成,而從爬蟲訪問行為方面并沒有太多的工具以及手段,所以完善現(xiàn)今的網(wǎng)絡日志分析工具對匿名爬蟲的功能,網(wǎng)站才能夠得到有力的保護。 [1] Cho J,Garcia-Molina H. The evolution of the web and implications for an incremental crawler[C]//Proceedings of 26th international conference on very large data bases.San Francisco,CA,USA:Morgan Kaufmann Publishers Inc,2000:200-209. [2] 王 珊,王會舉,覃雄派,等. 架構大數(shù)據(jù):挑戰(zhàn)、現(xiàn)狀與展望[J].計算機學報,2011,34(10):1741-1752. [3] Witten I H, Frank E, Hall M A.Data mining:practical machine learning tools and techniques[M].[s.l.]:Elsevier Science,2011. [4] Croft B, Metzler D, Strohman T.Search engines-information retrieval in practice[J].Computer Journal,2011,54(5):831-832. [5] Raghavan S, Garcia-Molina H. Crawling the hidden web[C]//Proceedings of 27th international conference on very large data bases.San Francisco,CA,USA:Morgan Kaufmann Publishers Inc,2001:129-138. [6] Tan Pangning,Kumar V.Discovery of web robot sessions ba-sed on their navigational patterns[J].Data Mining and Knowledge Discovery,2002,6(1):9-35. [7] 郭偉剛,鞠時光.電子商務網(wǎng)站中Web Robot的檢測技術[J].計算機工程,2005,31(23):219-211. [8] Najork M,Heydon A.High-performance web crawling[M]//Handbook of massive data sets.[s.l.]:Kluwer Academic Publishers,2001:25-45. [9] 詳解網(wǎng)絡爬蟲與Web安全[J].計算機與網(wǎng)絡,2012,38(12):38-39. [10] Shkapenyuk V,Suel T,Shkapenyuk V,et al.Design and implementation of a high-performance distributed web crawler[C]//Proceedings of 18th international conference on data engineering.[s.l.]:IEEE,2002:357-368. [11] Cho J,Garcia-Molina H,Page L.Efficient crawling through URL ordering[J].Computer Networks & ISDN Systems,1998,30(1-7):161-172. [12] 張 峰,付 俊,楊光華,等.Web訪問日志安全分析技術研究[J].北京郵電大學學報,2014,37(2):93-98. [13] 李佳欣,潘 偉.PhantomJS在Web自動化測試中的應用[J].計算機光盤軟件與應用,2013,16(18):76-77. [14] 梁雪松.網(wǎng)絡機器人對網(wǎng)絡安全的影響及其應對策略[J].信息安全與通信保密,2008(8):94-96. [15] Linnér L,Arborelius L,Nomikos G G,et al.Locus coeruleus neuronal activity and noradrenaline availability in the frontal cortex of rats chronically treated with imipramine:effect of alpha 2-adrenoceptor blockade[J].Biological Psychiatry,1999,46(6):766-774. [16] 范純龍,袁 濱,余周華,等.基于陷阱技術的網(wǎng)絡爬蟲檢測[J].計算機應用,2010,30(7):1782-1784. [17] Artail H,Masri Z A,Sraj M,et al.A dynamic honeypot design for intrusion detection[C]//IEEE/ACS international conference on pervasive services.[s.l.]:IEEE,2004:95-104. [18] 常紅要,朱征宇,陳 燁,等.基于HTML標記用途分析的網(wǎng)頁正文提取技術[J].計算機工程與設計,2010,31(24):5187-5191. [19] 賈夢青.基于用戶訪問行為分析的網(wǎng)站分類研究[D].鄭州:鄭州大學,2009. AnonymousCrawlerDetectionBasedonWebAccess ZOU Jian-xin,LI Hong-ling (Department of Computer Science and Engineering,School of Information Science and Engineering,Yunnan University,Kunming 650000,China) web crawler;robot exclusion protocol;website access;camouflage crawler detection TP393.08 A 1673-629X(2017)12-0103-05 10.3969/j.issn.1673-629X.2017.12.023 2016-12-08 2017-04-10 < class="emphasis_bold">網(wǎng)絡出版時間 時間:2017-08-01 國家自然科學基金資助項目(61562090) 鄒建鑫(1991-),男,碩士,研究方向為計算機網(wǎng)絡和信息安全;李紅靈,副教授,研究方向為計算機網(wǎng)絡和信息安全。 http://kns.cnki.net/kcms/detail/61.1450.TP.20170801.1557.076.html Abstarct:By analysis and study of web crawler accessing web page,some detection algorithms of malicious web crawler are summarized based on robot exclusion protocol and crawling,aiming to the problem that it is difficult to identify website accessing from malicious web crawler disguised as a browser,and that web log detection tools don’t support anonymous web crawler detection.In consideration of above algorithms,a new one to identify the camouflage web crawler is proposed based on crawling.It detects the web crawler mainly according to the length of access time and access cycle of website accessing form both human and crawler,and is verified by an experiment,the data of which is from a server web log.The experimental data are processed by Python for anonymous crawler detection.Compared with mainstream detection algorithm of anonymous web crawler,the proposed algorithm can detect the small amount of concurrent anonymous web crawler.4 實驗結果及驗證
5 結束語