CN102495861A - 一种网络爬虫识别系统及方法 - Google Patents

一种网络爬虫识别系统及方法 Download PDF

Info

Publication number
CN102495861A
CN102495861A CN2011103781606A CN201110378160A CN102495861A CN 102495861 A CN102495861 A CN 102495861A CN 2011103781606 A CN2011103781606 A CN 2011103781606A CN 201110378160 A CN201110378160 A CN 201110378160A CN 102495861 A CN102495861 A CN 102495861A
Authority
CN
China
Prior art keywords
session
request
suspicious
execution
queued
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2011103781606A
Other languages
English (en)
Other versions
CN102495861B (zh
Inventor
肖军
张永铮
云晓春
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN 201110378160 priority Critical patent/CN102495861B/zh
Publication of CN102495861A publication Critical patent/CN102495861A/zh
Application granted granted Critical
Publication of CN102495861B publication Critical patent/CN102495861B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

本发明涉及一种网络爬虫识别系统及方法,其特征在于,包括:缓冲模块,用于保存进入系统的请求,在系统开始运行时,所述请求发送至训练模块,在训练时间结束,该请求发送至识别模块;训练模块,用于将所述请求进行训练以及学习相应的请求,进行可疑度运算;识别模块,用于分析提交至识别模块的请求,识别爬虫,记录其源地址,依据源地址进行过滤,对来自爬虫地址的数据进行丢弃;转发模块,用于转发训练模块以及识别模块允许通过的请求。

Description

一种网络爬虫识别系统及方法
技术领域
本发明涉及网络安全检测和控制领域,具体涉及一种网络爬虫识别系统及方法。
背景技术
网络爬虫是指自动提取网页的程序,能够按照一定的规则,自动抓取网站信息。当前对网络爬虫的检测方法主要是基于阈值的方法,即计算一个IP地址访问的次数,如果访问次数超过了检测阈值,则认定该IP地址采用网络爬虫获取网站信息。
显然,该方法具有检测滞后时间长等不足。根据访问次数的检测方法,为了获得降低检测误差,需要将检测阈值设置的足够大,以便于能够准确区分爬虫行为与正常访问行为,由于检测阈值较大,检测滞后时间较长。
发明内容
为解决上述问题,本文提供了一种网络爬虫识别方法及系统。
与现有技术中已公开的方法相比,本发明具有如下目的:(1)识别迅速;(2)识别准确率高。
一种网络爬虫识别系统,其特征在于,包括:
缓冲模块,用于保存进入系统的请求,在系统开始运行时,所述请求发送至训练模块,在训练时间结束,该请求发送至识别模块;
训练模块,用于将所述请求进行训练以及学习相应的请求,进行可疑度运算;
识别模块,用于分析提交至识别模块的请求,识别爬虫,记录其源地址,依据源地址进行过滤,对来自爬虫地址的数据进行丢弃;
转发模块,用于转发训练模块以及识别模块允许通过的请求。
所述的识别系统,其特征在于,所述训练模块还包括:
学习模块,用于初始化参数,设定训练时间阈值,收到不同请求,根据所述不同请求建立数据结构。
所述的识别系统,其特征在于,所述学习模块收到的不同请求包括:新的请求会话、内嵌对象请求会话和/或历史请求会话。
所述的识别系统,其特征在于,所述学习模块,用于收到的不同请求时,根据当前时间,淘汰已经不活跃的会话,删除相应数据结构。
所述的识别系统,其特征在于,所述学习模块,用于收到历史请求会话,找到对应会话的数据结构,记录该请求会话的URL,为该请求会话的前一个请求的URL,与该请求会话的URL计数加1,进行可疑度运算。
所述的识别系统,其特征在于,所述学习模块,用于收到内嵌对象请求会话,为该请求会话新建一个数据结构,并设该请求会话的第一个请求会话为空,同时空为该请求会话的第一个请求会话的计数加1,进行可疑度运算。
所述的识别系统,其特征在于,所述学习模块,用于收到新的请求会话,为该会话建立相应的数据结构,并记录该请求会话的URL,该请求会话作为会话的第一个请求的次数加1,进行可疑度运算。
所述的识别系统,其特征在于,还包括:
可疑度运算模块,用于对会话的一个请求,设所有请求计数的最大值为M,那么对一个计数为X的请求,其可疑度为1-X/M;对一个请求URL,其所有后续请求URL计数的最大值为M,那么对一个请求计数为X的URL,其访问请求转换可疑度为1-X/M,通过所有页面,作为会话第一个请求的计数,设所有请求的最大值为M,那么对一个计数为X的请求,其作为一个会话首请求的可疑度为1-X/M,其中M为最大化网页页面统计次数、X为单一网页页面统计次数。
所述的识别系统,其特征在于,所述识别模块还包括:
过滤模块,用于初始化参数:设定可疑判别阈值、可疑次数计数、可疑次数阈值,不活跃会话淘汰时间阈值,收到不同请求,根据所述不同请求建立数据结构。
所述的识别系统,其特征在于,所述过滤模块收到的不同请求包括:新的请求会话、内嵌对象请求会话和/或历史请求会话。
所述的识别系统,其特征在于,所述过滤模块,用于收到不同请求,根据当前时间,淘汰已经停止的会话,删除相应数据结构。
所述的识别系统,其特征在于,所述过滤模块,还用于收到内嵌请求会话时,该请求来自一个新请求会话,为该会话新建数据结构,并设该会话的第一个请求URL为空,获取首请求为空的异常度,如果异常度大于可疑判别阈值,可疑次数计数加1,根据当前时间,淘汰已经停止的会话,删除相应数据结构。
所述的识别系统,其特征在于,所述过滤模块,还用于收到新的请求会话,为该会话新建数据结构,并设该会话的第一个请求为当前请求,获取该请求作为会话首请求的可疑度,如果可疑度大于可疑判别阈值,可疑次数计数加1,如果可疑次数计数大于可疑判别阈值,则认为该会话为爬虫。
所述的识别系统,其特征在于,所述过滤模块,还用于收到历史请求会话时,获取计算请求转换可疑度,如果可疑度大于可疑判别阈值,可疑次数计数加1,如果可疑次数计数大于可疑判别阈值,则认为该会话为爬虫。
本发明公开一种网络爬虫识别方法,其特征在于,包括如下步骤:
步骤100,用于保存进入系统的请求,在系统开始运行时,所述请求执行步骤200,在训练时间结束,该请求执行步骤300;
步骤200,将所述请求进行训练以及学习相应的请求,进行可疑度运算;
步骤300,分析从步骤200提交的请求,识别爬虫,记录其源地址,依据源地址进行过滤,对来自爬虫地址的数据进行丢弃;
步骤400,转发步骤200、300允许通过的请求。
所述的识别方法,其特征在于,所述步骤200还包括:
步骤201,初始化参数,设定训练时间阈值,收到不同请求,根据所述不同请求建立数据结构。
所述的识别方法,其特征在于,所述步骤201收到的不同请求包括:新的请求会话、内嵌对象请求会话和/或历史请求会话。
所述的识别方法,其特征在于,所述步骤201还包括,
步骤202,收到的不同请求时,根据当前时间,淘汰已经不活跃的会话,删除相应数据结构。
所述的识别方法,其特征在于,所述步骤202还包括,
步骤203,如果收到历史请求会话,找到对应请求会话的数据结构,记录该请求会话的URL,为该请求会话的前一个请求的URL,与该请求会话的URL计数加1,执行步骤204;
步骤204,检测训练时间,如果训练时间结束执行步骤205,如果未结束执行步骤202;
步骤205,进行可疑度运算。
所述的识别方法,其特征在于,所述步骤202还包括,
步骤206,如果收到内嵌对象请求会话,执行步骤207;
步骤207,为该请求会话新建一个数据结构,执行步骤208;
步骤208,为该请求会话新建数据结构,并设该请求会话的第一个请求会话为空,同时空为该请求会话的第一个请求会话的计数加1,执行步骤209;
步骤209,检测训练时间,如果训练时间结束执行步骤210,如果未结束执行步骤202;
步骤210,进行可疑度运算。
所述的识别方法,其特征在于,所述步骤202还包括,
步骤211,收到新的请求会话,为该会话建立相应的数据结构,并记录该请求会话的URL,执行步骤212;
步骤212,该请求会话作为会话的第一个请求的次数加1,执行步骤213;
步骤213,检测训练时间,如果训练时间结束执行步骤214,如果未结束执行步骤202
步骤214,进行可疑度运算。
所述的识别方法,其特征在于,所述可疑度运算为,对会话的一个请求,设所有请求计数的最大值为M,那么对一个计数为X的请求,其可疑度为1-X/M;对一个请求URL,其所有后续请求URL计数的最大值为M,那么对一个请求计数为X的URL,其访问请求转换可疑度为1-X/M,通过所有页面,作为会话第一个请求的计数,设所有请求的最大值为M,那么对一个计数为X的请求,其作为一个会话首请求的可疑度为1-X/M,其中M为最大化网页页面统计次数、X为单一网页页面统计次数。
所述的识别方法,其特征在于,所述步骤300还包括:
步骤301,初始化参数:设定可疑判别阈值、可疑次数计数、可疑次数阈值,不活跃会话淘汰时间阈值,收到不同请求,根据所述不同请求建立数据结构。
所述的识别方法,其特征在于,所述步骤301收到的不同请求包括:新的请求会话、内嵌对象请求会话和/或历史请求会话。
所述的识别方法,其特征在于,所述步骤301还包括,
步骤302,收到不同请求,根据当前时间,淘汰已经停止的会话,删除相应数据结构。
所述的识别方法,其特征在于,所述步骤302还包括,
步骤303,收到内嵌请求会话时,执行步骤304;
步骤304,该请求来自一个新请求会话,执行步骤305,如果不是新请求会话执行步骤302;
步骤305,为该请求会话新建数据结构,并设该会话的第一个请求URL为空,执行步骤306;
步骤306,获取首请求为空的异常度,如果异常度大于可疑判别阈值,可疑次数计数加1,执行步骤302。
所述的识别方法,其特征在于,所述步骤302还包括,
步骤307,收到新的请求会话,执行步骤308;
步骤308,为该会话新建数据结构,并设该会话的第一个请求为当前请求,执行步骤309;
步骤309,获取该请求作为会话首请求的可疑度,如果可疑度大于可疑判别阈值,执行步骤310,如果不大于可疑判别阈值,执行步骤302;
步骤310,可疑次数计数加1,执行步骤311;
步骤311,如果可疑次数计数大于可疑判别阈值,则认为该会话为爬虫,如果不大于可疑判别阈值,执行步骤302。
所述的识别方法,其特征在于,所述步骤302还包括,
步骤312,收到历史请求会话时,获取计算请求转换可疑度,执行步骤313;
步骤313,如果可疑度大于可疑判别阈值,执行步骤314,不大于可疑判别阈值,执行步骤302;
步骤314,可疑次数计数加1,执行步骤315;
步骤315,如果可疑次数计数大于可疑判别阈值,则认为该请求会话为爬虫,如果不大于可疑判别阈值,执行步骤302。
本发明公开了一种网站爬虫识别方法及系统。能有效识别网络爬虫,并且具有较低的计算复杂性,独立于服务器和客户端运行,无需对现有的服务器和客户端进行任何修改。
附图说明
图1为本发明网络爬虫识别方法的训练流程图;
图2为本发明网络爬虫识别流程图;
图3为本发明网络爬虫识别系统部署连接图;
图4为本发明网络爬虫识别系统结构图;
图5为本发明的具体实施方式示意图。
具体实施方式
下面给出本发明的具体实施方式,结合附图对本发明做出了详细描述。
如图1所示为训练过程,具体步骤如下:
步骤S101,初始化参数:设不活跃的会话(session)淘汰时间阈值(Remove_THD)为75秒-200秒,优选的淘汰时间阈值为100秒;
步骤S102,收到一个请求(Req,该请求是网络的一个请求,首先进入缓存模块,然后才被训练模块接受),即一个数据包,根据当前时间,(当前时间就是这个数据包到达时当前系统时间。为了淘汰会话,需要记录会话的最后一个数据包到达时间;对任意会话,如果当前时间-会话最后一个数据包到达时间>淘汰时间阈值(Remove_THD),则认为该会话已经结束,不再活跃,淘汰该会话)淘汰已经不活跃的会话;具体方法是如果会话最后一个请求的时间距当前时间超过了时间阈值(Remove_THD),则淘汰此会话,删除相应数据结构,进入步骤S103;
步骤S103,如果请求(Req)是内嵌对象请求,(请求分为两种,一种是主请求,一种是内嵌对象请求。主请求是指一个页面请求,如新浪主页,或者新浪新闻页面的请求,内嵌对象请求是指嵌在一个页面中的请求,如广告,音乐等)转入步骤S104;否则转入步骤S106。
步骤S104,如果请求来自一个新的会话,转入步骤S105;否则转入步骤S110;
步骤S105,为该会话新建一个数据结构,并设该会话的第一个请求为空(NULL),同时NULL为一个会话的第一个请求的计数+1,转入步骤S110;
步骤S106,如果请求Req来自一个新的会话,为该会话建立相应的数据结构,并记录该请求Req的URL,转入步骤S107;否则转入步骤S108;
步骤S107,该请求作为一个会话的第一个请求的次数加1,转入步骤S109;
步骤S108,找到对应会话的数据结构,记录该请求的URL,设该会话的前一个请求的URL为URL_pref(中文含义就是这个URL请求之前的一个URL。例如当前的URL是新浪新闻页面http://news.sina.com.cn/,而在这个URL之前的请求URL是http://www.sina.com.cn,则http://www.sina.com.cn就是URL_pref),URL_pref后跟URL的计数+1;转入步骤S109;
步骤S109,如果训练时间未结束,转入步骤S102,否则转入步骤S110;
步骤S110,可疑度计算:对会话的一个请求,设所有请求计数的最大值为M,那么对一个计数为X的请求,其可疑度为1-X/M;对一个请求URL,其所有后续请求URL计数的最大值为M,那么对一个请求计数为X的URL,其访问请求转换可疑度为1-X/M。通过所有页面,作为会话第一个请求的计数,设所有请求的最大值为M,那么对一个计数为X的请求,其作为一个会话首请求的可疑度为1-X/M。
解释其中M,X的意义:
现有一个网页页面A,训练过程中,它后续的页面(指用户先访问A,然后接下来访问的页面)包括B、C、D、E。另Nb表示统计中,A后跟B的次数,其余变量意义类似。
其中M=max(Nb,Nc,Nd,Ne)。
假设M为Nb,则A后跟B的可疑度即为1-Nb/Nb=0。(这里X为Nb)
A后跟C的可疑度即为1-Nc/Nb=0。(这里X为Nc)。
可见,1-X/M的意义在于,如果对一个页面,其后跟的页面次数越小,可疑度越高。对出现次数最大的页面,可疑度是0,对训练过程中没有出现过的页面,其可疑度是1。(其中X为单一网页页面统计次数,M为X最大值)
这里介绍本发明训练过程的思路:
爬虫的工作原理是从一个页面(如新浪主页)的所有内嵌URL(通过url,可以从这个页面链接到别的页面,如通过新浪主页,可以点击左上的新闻,跳转到新闻的页面。)中随机抽取一个,作为下一个访问请求URL,对网站进行访问,以此来遍历一个网站所有的页面。
人访问页面,具有一定的规律,比如在军事页面(http://mil.news.sina.com.cn/)转到新闻版面和综艺版面的概率是不同的,因为军事信息通常由男性关注,男性关注新闻的可能性比关注综艺的概率要高。而对爬虫而言,从军事页面转到新闻和综艺的概率是相同的,均为随机选择结果。
本发明正是通过分析这种页面的转换概率来判断是爬虫还是人为访问。
S101-S110的作用就是建立这种页面间转换的概率,以此判断是爬虫还是人为访问。
如图2所示为识别过程,具体步骤如下:
步骤S201,初始化参数:令可疑判别阈值susp_thd为0.75-0.92优选的可疑判别阈值为0.85,可疑次数计数susp_count为0,可疑次数阈值susp_count_thd为3-6,优选的可疑次数阈值为4,不活跃会话淘汰时间阈值Remove_THD为75秒-200秒,优选的淘汰时间阈值范围为100秒;
步骤S202,收到一个请求,根据当前时间,淘汰已经停止会话的数据结构,具体方法是如果会话最后一个请求的时间距当前时间超过了时间阈值Remove_THD,则淘汰此会话,删除相应数据结构,转入步骤S203;
步骤S203,判断请求是否是内嵌对象请求,如果是内嵌对象请求,转入步骤S204,否则转入步骤S208;
步骤S204,如果该请求来自一个新会话,则转入步骤S205,否则转入步骤S202;
步骤S205,为该会话新建数据结构,并设该会话的第一个请求URL为空(NULL),转入步骤S206;
步骤S206,获取首请求为空(NULL)的异常度,如果异常度大于可疑判别阈值susp_thd,转入步骤S207,否则转入步骤S202;
步骤S207,可疑次数计数susp_count加1,转入步骤S202;
步骤S208,如果该请求来自一个新会话,则转入步骤S209,否则转入步骤S211;
步骤S209,为该会话新建数据结构,并设该会话的第一个请求为当前请求,转入步骤S210;
步骤S210,获取该请求作为会话首请求的可疑度,如果可疑度大于可疑判别阈值susp_thd,转入步骤S213,否则转入步骤S202;
步骤S211,根据该会话的上一个请求和当前请求,获取计算请求转换可疑度,转入步骤S212;
步骤S212,如果可疑度大于可疑判别阈值susp_thd,转入步骤S213,否则转入步骤S202;
步骤S213,可疑次数计数(susp_count)加1,转入步骤S214;
步骤S214,如果可疑次数计数(susp_count)大于可疑判别阈值(susp_count_thd),则认为该会话为爬虫,否则转入步骤S202;
下面简述识别方法:
通过一个请求的URL,和这个URL之前的请求URL,得到两者之间转换的概率,与阈值susp_thd相比,如果超过的次数超过可疑判别阈值susp_count_thd,则认为异常次数过多,为爬虫访问。采用可疑判别阈值,而不是一次就断定是爬虫,是为了降低误报率。
本发明公开了一种网站爬虫识别方法及系统。能有效识别网络爬虫,并且具有较低的计算复杂性,独立于服务器和客户端运行,无需对现有的服务器和客户端进行任何修改。
本发明公开的识别系统具有有效识别网站爬虫的能力,连接到保护网站的接入路由器,接受分光流量进行识别,具体的部署连接方式可参见图2所示。
如图3所示为本发明应用于网络系统的部署连接图,将来自于互联网络的请求数据由路由器连接到网络爬虫识别系统中,同时对于路由器连接的被保护的信息系统来说,由该识别系统对于互联网络中的请求数据进行训练以及识别的操作,从而保护信息系统不受侵害,更加有利于系统的安全与稳定。
如图4所示为本发明网络爬虫识别系统的结构图,包括:
缓冲模块100,用于保存进入系统的请求,在系统开始运行时,所述请求发送至训练模块,在训练时间结束,该请求发送至识别模块;
训练模块200,用于将所述请求进行训练以及学习相应的请求,进行可疑度运算;
识别模块300,用于分析提交至识别模块的请求,识别爬虫,记录其源地址,依据源地址进行过滤,对来自爬虫地址的数据进行丢弃;
转发模块400,用于转发训练模块以及识别模块允许通过的请求。
所述训练模块还包括:
学习模块,用于初始化参数,设定训练时间阈值,收到不同请求,根据所述不同请求建立数据结构。
所述学习模块收到的不同请求包括:新的请求会话、内嵌对象请求会话和/或历史请求会话。
所述学习模块,用于收到的不同请求时,根据当前时间,淘汰已经不活跃的会话,删除相应数据结构。
所述学习模块,用于收到历史请求会话,找到对应会话的数据结构,记录该请求会话的URL,为该请求会话的前一个请求的URL,与该请求会话的URL计数加1,进行可疑度运算。
所述学习模块,用于收到内嵌对象请求会话,为该请求会话新建一个数据结构,并设该请求会话的第一个请求会话为空,同时空为该请求会话的第一个请求会话的计数加1,进行可疑度运算。
所述学习模块,用于收到新的请求会话,为该会话建立相应的数据结构,并记录该请求会话的URL,该请求会话作为会话的第一个请求的次数加1,进行可疑度运算。
所述的识别系统,还包括:
可疑度运算模块,用于对会话的一个请求,设所有请求计数的最大值为M,那么对一个计数为X的请求,其可疑度为1-X/M;对一个请求URL,其所有后续请求URL计数的最大值为M,那么对一个请求计数为X的URL,其访问请求转换可疑度为1-X/M,通过所有页面,作为会话第一个请求的计数,设所有请求的最大值为M,那么对一个计数为X的请求,其作为一个会话首请求的可疑度为1-X/M,其中M为最大化网页页面统计次数、X为单一网页页面统计次数。
所述识别模块还包括:
过滤模块,用于初始化参数:设定可疑判别阈值、可疑次数计数、可疑次数阈值,不活跃会话淘汰时间阈值,收到不同请求,根据所述不同请求建立数据结构。
所述过滤模块收到的不同请求包括:新的请求会话、内嵌对象请求会话和/或历史请求会话。
所述过滤模块,用于收到不同请求,根据当前时间,淘汰已经停止的会话,删除相应数据结构。
所述过滤模块,还用于收到内嵌请求会话时,该请求来自一个新请求会话,为该会话新建数据结构,并设该会话的第一个请求URL为空,获取首请求为空的异常度,如果异常度大于可疑判别阈值,可疑次数计数加1,根据当前时间,淘汰已经停止的会话,删除相应数据结构。
所述过滤模块,还用于收到新的请求会话,为该会话新建数据结构,并设该会话的第一个请求为当前请求,获取该请求作为会话首请求的可疑度,如果可疑度大于可疑判别阈值,可疑次数计数加1,如果可疑次数计数大于可疑判别阈值,则认为该会话为爬虫。
所述过滤模块,还用于收到历史请求会话时,获取计算请求转换可疑度,如果可疑度大于可疑判别阈值,可疑次数计数加1,如果可疑次数计数大于可疑判别阈值,则认为该会话为爬虫。
下面,给出一个具体实例(如图5所示)
有两个首请求为p1,p2,其可疑度均为0.5。连接两个页面的连线,表示两个页面间存在方法的先后顺序关系,数值表示可疑度。如p1->p3,表示先页面p1,然后访问页面p3的可疑度为0.54.
对于如下会话,其访问页面的顺序为:
会话1:p1p1p1p1p1p1,可疑度均超过0.85,因而认为该会话为攻击;
会话2:p1p3p6p7,可疑度均低于阈值,认为该会话为正常会话;
会话3:p2p4p8p13p18,该会话为攻击行为。
本领域的技术人员在不脱离权利要求书确定的本发明的精神和范围的条件下,还可以对以上内容进行各种各样的修改。因此本发明的范围并不仅限于以上的说明,而是由权利要求书的范围来确定的。

Claims (28)

1.一种网络爬虫识别系统,其特征在于,包括:
缓冲模块,用于保存进入系统的请求,在系统开始运行时,所述请求发送至训练模块,在训练时间结束,该请求发送至识别模块;
训练模块,用于将所述请求进行训练以及学习相应的请求,进行可疑度运算;
识别模块,用于分析提交至识别模块的请求,识别爬虫,记录其源地址,依据源地址进行过滤,对来自爬虫地址的数据进行丢弃;
转发模块,用于转发训练模块以及识别模块允许通过的请求。
2.如权利要求1所述的识别系统,其特征在于,所述训练模块还包括:
学习模块,用于初始化参数,设定训练时间阈值,收到不同请求,根据所述不同请求建立数据结构。
3.如权利要求2所述的识别系统,其特征在于,所述学习模块收到的不同请求包括:新的请求会话、内嵌对象请求会话和/或历史请求会话。
4.如权利要求2所述的识别系统,其特征在于,所述学习模块,用于收到的不同请求时,根据当前时间,淘汰已经不活跃的会话,删除相应数据结构。
5.如权利要求3所述的识别系统,其特征在于,所述学习模块,用于收到历史请求会话,找到对应会话的数据结构,记录该请求会话的URL,为该请求会话的前一个请求的URL,与该请求会话的URL计数加1,进行可疑度运算。
6.如权利要求3所述的识别系统,其特征在于,所述学习模块,用于收到内嵌对象请求会话,为该请求会话新建一个数据结构,并设该请求会话的第一个请求会话为空,同时空为该请求会话的第一个请求会话的计数加1,进行可疑度运算。
7.如权利要求3所述的识别系统,其特征在于,所述学习模块,用于收到新的请求会话,为该会话建立相应的数据结构,并记录该请求会话的URL,该请求会话作为会话的第一个请求的次数加1,进行可疑度运算。
8.如权利要求1、5、6或7所述的识别系统,其特征在于,还包括:
可疑度运算模块,用于对会话的一个请求,设所有请求计数的最大值为M,那么对一个计数为X的请求,其可疑度为1-X/M;对一个请求URL,其所有后续请求URL计数的最大值为M,那么对一个请求计数为X的URL,其访问请求转换可疑度为1-X/M,通过所有页面,作为会话第一个请求的计数,设所有请求的最大值为M,那么对一个计数为X的请求,其作为一个会话首请求的可疑度为1-X/M,其中M为最大化网页页面统计次数、X为单一网页页面统计次数。
9.如权利要求1所述的识别系统,其特征在于,所述识别模块还包括:
过滤模块,用于初始化参数:设定可疑判别阈值、可疑次数计数、可疑次数阈值,不活跃会话淘汰时间阈值,收到不同请求,根据所述不同请求建立数据结构。
10.如权利要求9所述的识别系统,其特征在于,所述过滤模块收到的不同请求包括:新的请求会话、内嵌对象请求会话和/或历史请求会话。
11.如权利要求9所述的识别系统,其特征在于,所述过滤模块,用于收到不同请求,根据当前时间,淘汰已经停止的会话,删除相应数据结构。
12.如权利要求10所述的识别系统,其特征在于,所述过滤模块,还用于收到内嵌请求会话时,该请求来自一个新请求会话,为该会话新建数据结构,并设该会话的第一个请求URL为空,获取首请求为空的异常度,如果异常度大于可疑判别阈值,可疑次数计数加1,根据当前时间,淘汰已经停止的会话,删除相应数据结构。
13.如权利要求10所述的识别系统,其特征在于,所述过滤模块,还用于收到新的请求会话,为该会话新建数据结构,并设该会话的第一个请求为当前请求,获取该请求作为会话首请求的可疑度,如果可疑度大于可疑判别阈值,可疑次数计数加1,如果可疑次数计数大于可疑判别阈值,则认为该会话为爬虫。
14.如权利要求10所述的识别系统,其特征在于,所述过滤模块,还用于收到历史请求会话时,获取计算请求转换可疑度,如果可疑度大于可疑判别阈值,可疑次数计数加1,如果可疑次数计数大于可疑判别阈值,则认为该会话为爬虫。
15.一种网络爬虫识别方法,其特征在于,包括如下步骤:
步骤100,用于保存进入系统的请求,在系统开始运行时,所述请求执行步骤200,在训练时间结束,该请求执行步骤300;
步骤200,将所述请求进行训练以及学习相应的请求,进行可疑度运算;
步骤300,分析从步骤200提交的请求,识别爬虫,记录其源地址,依据源地址进行过滤,对来自爬虫地址的数据进行丢弃;
步骤400,转发步骤200、300允许通过的请求。
16.如权利要求15所述的识别方法,其特征在于,所述步骤200还包括:
步骤201,初始化参数,设定训练时间阈值,收到不同请求,根据所述不同请求建立数据结构。
17.如权利要求16所述的识别方法,其特征在于,所述步骤201收到的不同请求包括:新的请求会话、内嵌对象请求会话和/或历史请求会话。
18.如权利要求16所述的识别方法,其特征在于,所述步骤201还包括,
步骤202,收到的不同请求时,根据当前时间,淘汰已经不活跃的会话,删除相应数据结构。
19.如权利要求18所述的识别方法,其特征在于,所述步骤202还包括,
步骤203,如果收到历史请求会话,找到对应请求会话的数据结构,记录该请求会话的URL,为该请求会话的前一个请求的URL,与该请求会话的URL计数加1,执行步骤204;
步骤204,检测训练时间,如果训练时间结束执行步骤205,如果未结束执行步骤202;
步骤205,进行可疑度运算。
20.如权利要求18所述的识别方法,其特征在于,所述步骤202还包括,
步骤206,如果收到内嵌对象请求会话,执行步骤207;
步骤207,为该请求会话新建一个数据结构,执行步骤208;
步骤208,为该请求会话新建数据结构,并设该请求会话的第一个请求会话为空,同时空为该请求会话的第一个请求会话的计数加1,执行步骤209;
步骤209,检测训练时间,如果训练时间结束执行步骤210,如果未结束执行步骤202;
步骤210,进行可疑度运算。
21.如权利要求18所述的识别方法,其特征在于,所述步骤202还包括,
步骤211,收到新的请求会话,为该会话建立相应的数据结构,并记录该请求会话的URL,执行步骤212;
步骤212,该请求会话作为会话的第一个请求的次数加1,执行步骤213;
步骤213,检测训练时间,如果训练时间结束执行步骤214,如果未结束执行步骤202
步骤214,进行可疑度运算。
22.如权利要求15、19、20或,21所述的识别方法,其特征在于,所述可疑度运算为,对会话的一个请求,设所有请求计数的最大值为M,那么对一个计数为X的请求,其可疑度为1-X/M;对一个请求URL,其所有后续请求URL计数的最大值为M,那么对一个请求计数为X的URL,其访问请求转换可疑度为1-X/M,通过所有页面,作为会话第一个请求的计数,设所有请求的最大值为M,那么对一个计数为X的请求,其作为一个会话首请求的可疑度为1-X/M,其中M为最大化网页页面统计次数、X为单一网页页面统计次数。
23.如权利要求15所述的识别方法,其特征在于,所述步骤300还包括:
步骤301,初始化参数:设定可疑判别阈值、可疑次数计数、可疑次数阈值,不活跃会话淘汰时间阈值,收到不同请求,根据所述不同请求建立数据结构。
24.如权利要求23所述的识别方法,其特征在于,所述步骤301收到的不同请求包括:新的请求会话、内嵌对象请求会话和/或历史请求会话。
25.如权利要求23所述的识别方法,其特征在于,所述步骤301还包括,
步骤302,收到不同请求,根据当前时间,淘汰已经停止的会话,删除相应数据结构。
26.如权利要求25所述的识别方法,其特征在于,所述步骤302还包括,
步骤303,收到内嵌请求会话时,执行步骤304;
步骤304,该请求来自一个新请求会话,执行步骤305,如果不是新请求会话执行步骤302;
步骤305,为该请求会话新建数据结构,并设该会话的第一个请求URL为空,执行步骤306;
步骤306,获取首请求为空的异常度,如果异常度大于可疑判别阈值,可疑次数计数加1,执行步骤302。
27.如权利要求25所述的识别方法,其特征在于,所述步骤302还包括,
步骤307,收到新的请求会话,执行步骤308;
步骤308,为该会话新建数据结构,并设该会话的第一个请求为当前请求,执行步骤309;
步骤309,获取该请求作为会话首请求的可疑度,如果可疑度大于可疑判别阈值,执行步骤310,如果不大于可疑判别阈值,执行步骤302;
步骤310,可疑次数计数加1,执行步骤311;
步骤311,如果可疑次数计数大于可疑判别阈值,则认为该会话为爬虫,如果不大于可疑判别阈值,执行步骤302。
28.如权利要求25所述的识别方法,其特征在于,所述步骤302还包括,
步骤312,收到历史请求会话时,获取计算请求转换可疑度,执行步骤313;
步骤313,如果可疑度大于可疑判别阈值,执行步骤314,不大于可疑判别阈值,执行步骤302;
步骤314,可疑次数计数加1,执行步骤315;
步骤315,如果可疑次数计数大于可疑判别阈值,则认为该请求会话为爬虫,如果不大于可疑判别阈值,执行步骤302。
CN 201110378160 2011-11-24 2011-11-24 一种网络爬虫识别系统及方法 Expired - Fee Related CN102495861B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201110378160 CN102495861B (zh) 2011-11-24 2011-11-24 一种网络爬虫识别系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110378160 CN102495861B (zh) 2011-11-24 2011-11-24 一种网络爬虫识别系统及方法

Publications (2)

Publication Number Publication Date
CN102495861A true CN102495861A (zh) 2012-06-13
CN102495861B CN102495861B (zh) 2013-09-04

Family

ID=46187686

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110378160 Expired - Fee Related CN102495861B (zh) 2011-11-24 2011-11-24 一种网络爬虫识别系统及方法

Country Status (1)

Country Link
CN (1) CN102495861B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102880698A (zh) * 2012-09-21 2013-01-16 新浪网技术(中国)有限公司 一种抓取网站确定方法及装置
CN103631830A (zh) * 2012-08-29 2014-03-12 华为技术有限公司 网络爬虫检测方法和装置
CN106027564A (zh) * 2016-07-08 2016-10-12 携程计算机技术(上海)有限公司 检测反爬虫策略安全性的方法及装置
CN106156055A (zh) * 2015-03-27 2016-11-23 阿里巴巴集团控股有限公司 搜索引擎爬虫的识别、处理方法及装置
CN106294368A (zh) * 2015-05-15 2017-01-04 阿里巴巴集团控股有限公司 网络爬虫识别方法和装置
CN106528779A (zh) * 2016-11-03 2017-03-22 北京知道未来信息技术有限公司 一种基于可变url的爬虫识别方法
CN106534062A (zh) * 2016-09-23 2017-03-22 南京途牛科技有限公司 一种防爬虫的方法
CN107147640A (zh) * 2017-05-09 2017-09-08 网宿科技股份有限公司 识别网络爬虫的方法及系统
CN107800684A (zh) * 2017-09-20 2018-03-13 贵州白山云科技有限公司 一种低频爬虫识别方法及装置
CN108429721A (zh) * 2017-02-15 2018-08-21 腾讯科技(深圳)有限公司 一种网络爬虫的识别方法及装置
CN109818949A (zh) * 2019-01-17 2019-05-28 济南浪潮高新科技投资发展有限公司 一种基于神经网络的反爬虫方法
CN111224936A (zh) * 2019-11-07 2020-06-02 中冶赛迪重庆信息技术有限公司 用户异常请求检测方法、系统、设备以及机器可读介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040010584A1 (en) * 2002-07-15 2004-01-15 Peterson Alec H. System and method for monitoring state information in a network
CN101902438A (zh) * 2009-05-25 2010-12-01 北京启明星辰信息技术股份有限公司 一种自动识别网页爬虫的方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040010584A1 (en) * 2002-07-15 2004-01-15 Peterson Alec H. System and method for monitoring state information in a network
CN101902438A (zh) * 2009-05-25 2010-12-01 北京启明星辰信息技术股份有限公司 一种自动识别网页爬虫的方法和装置

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103631830A (zh) * 2012-08-29 2014-03-12 华为技术有限公司 网络爬虫检测方法和装置
CN102880698A (zh) * 2012-09-21 2013-01-16 新浪网技术(中国)有限公司 一种抓取网站确定方法及装置
CN106156055A (zh) * 2015-03-27 2016-11-23 阿里巴巴集团控股有限公司 搜索引擎爬虫的识别、处理方法及装置
CN106156055B (zh) * 2015-03-27 2019-10-15 阿里巴巴集团控股有限公司 搜索引擎爬虫的识别、处理方法及装置
CN106294368B (zh) * 2015-05-15 2019-11-05 阿里巴巴集团控股有限公司 网络爬虫识别方法和装置
CN106294368A (zh) * 2015-05-15 2017-01-04 阿里巴巴集团控股有限公司 网络爬虫识别方法和装置
CN106027564B (zh) * 2016-07-08 2019-05-21 携程计算机技术(上海)有限公司 检测反爬虫策略安全性的方法及装置
CN106027564A (zh) * 2016-07-08 2016-10-12 携程计算机技术(上海)有限公司 检测反爬虫策略安全性的方法及装置
CN106534062B (zh) * 2016-09-23 2019-05-10 南京途牛科技有限公司 一种防爬虫的方法
CN106534062A (zh) * 2016-09-23 2017-03-22 南京途牛科技有限公司 一种防爬虫的方法
CN106528779A (zh) * 2016-11-03 2017-03-22 北京知道未来信息技术有限公司 一种基于可变url的爬虫识别方法
CN108429721A (zh) * 2017-02-15 2018-08-21 腾讯科技(深圳)有限公司 一种网络爬虫的识别方法及装置
CN108429721B (zh) * 2017-02-15 2020-08-04 腾讯科技(深圳)有限公司 一种网络爬虫的识别方法及装置
CN107147640A (zh) * 2017-05-09 2017-09-08 网宿科技股份有限公司 识别网络爬虫的方法及系统
CN107800684A (zh) * 2017-09-20 2018-03-13 贵州白山云科技有限公司 一种低频爬虫识别方法及装置
CN107800684B (zh) * 2017-09-20 2018-09-18 贵州白山云科技有限公司 一种低频爬虫识别方法及装置
CN109818949A (zh) * 2019-01-17 2019-05-28 济南浪潮高新科技投资发展有限公司 一种基于神经网络的反爬虫方法
CN111224936A (zh) * 2019-11-07 2020-06-02 中冶赛迪重庆信息技术有限公司 用户异常请求检测方法、系统、设备以及机器可读介质
CN111224936B (zh) * 2019-11-07 2022-08-02 中冶赛迪重庆信息技术有限公司 用户异常请求检测方法、系统、设备以及机器可读介质

Also Published As

Publication number Publication date
CN102495861B (zh) 2013-09-04

Similar Documents

Publication Publication Date Title
CN102495861B (zh) 一种网络爬虫识别系统及方法
CN109951500B (zh) 网络攻击检测方法及装置
CN106534114B (zh) 基于大数据分析的防恶意攻击系统
US9787640B1 (en) Using hypergraphs to determine suspicious user activities
US20180191764A1 (en) Automatic webpage change detection
WO2018028430A1 (zh) 识别及辅助识别虚假流量的方法、装置及系统
EP4344134A1 (en) Traffic detection method and apparatus, device and storage medium
CN109818964B (zh) 一种DDoS攻击检测方法、装置、设备以及存储介质
CN113486334A (zh) 网络攻击预测方法、装置、电子设备及存储介质
CN113194058B (zh) Web攻击检测方法、设备、网站应用层防火墙及介质
US20150365334A1 (en) Junk information filtering method and apparatus
CN109413016B (zh) 一种基于规则的报文检测方法和装置
CN110768946A (zh) 一种基于布隆过滤器的工控网络入侵检测系统及方法
CN107426136B (zh) 一种网络攻击的识别方法和装置
Xiang et al. Detecting mobile advanced persistent threats based on large-scale DNS logs
CN112532624A (zh) 一种黑链检测方法、装置、电子设备及可读存储介质
CN112953938A (zh) 网络攻击防御方法、装置、电子设备及可读存储介质
CN110519266B (zh) 一种基于统计学方法的cc攻击检测的方法
CN103595729A (zh) 一种协议解析方法及装置
CN105653941A (zh) 一种启发式检测钓鱼网站的方法及系统
CN115426135B (zh) 流量检测规则的处理、网络流量的检测方法、装置及设备
CN111740999A (zh) 一种ddos攻击的识别方法、系统及相关装置
EP3580677B1 (en) Identifying human interaction with a computer
CN113328982B (zh) 一种入侵检测方法、装置、设备、介质
KR20160089995A (ko) 분산 병렬 처리 기반의 html5 문서 수집 및 분석 장치 및 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130904

Termination date: 20201124