CN102467555A - 实现非法站点扫描的方法和系统 - Google Patents

实现非法站点扫描的方法和系统 Download PDF

Info

Publication number
CN102467555A
CN102467555A CN2010105505038A CN201010550503A CN102467555A CN 102467555 A CN102467555 A CN 102467555A CN 2010105505038 A CN2010105505038 A CN 2010105505038A CN 201010550503 A CN201010550503 A CN 201010550503A CN 102467555 A CN102467555 A CN 102467555A
Authority
CN
China
Prior art keywords
url
page
scanning
download
downloading
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.)
Pending
Application number
CN2010105505038A
Other languages
English (en)
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.)
BEIJING CE OPEN SOURCE SOFTWARE Co Ltd
Original Assignee
BEIJING CE OPEN SOURCE SOFTWARE Co Ltd
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 BEIJING CE OPEN SOURCE SOFTWARE Co Ltd filed Critical BEIJING CE OPEN SOURCE SOFTWARE Co Ltd
Priority to CN2010105505038A priority Critical patent/CN102467555A/zh
Publication of CN102467555A publication Critical patent/CN102467555A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本发明公开了一种实现非法站点扫描的方法,包括:根据URL下载页面,分析出下载的页面的所有URL,使用二分法对下载的URL中的文档进行扫描,获得非法关键字信息。本发明还公开了一种实现非法站点扫描的系统,包括:页面下载单元,用于根据被通知的URL下载页面,并将下载的页面反馈给URL处理单元;URL处理单元,用于将涉及页面下载的URL通知给页面下载单元,以及分析出所述页面下载单元所下载的页面的所有URL,再通知给扫描单元;扫描单元,用于使用二分法对被通知的所述URL中的文档进行扫描,获得非法关键字信息。综上所述可见,无论是方法还是系统,本发明实现非法站点扫描的技术能够实现对非法站点的有效扫描,并且比目前的遍历法的扫描效率高。

Description

实现非法站点扫描的方法和系统
技术领域
本发明涉及网络技术,具体涉及实现非法站点扫描的方法和系统。
背景技术
现在的网站发展给我们的工作和生活带来极大的便利,可信互联网是发展的必由之路,但是互联网本身的发展导致了很多危害和约束性,比如互联网病毒、钓鱼木马、黄色站点等都属于网络的非法信息,这些非法信息会给用户带来不良后果。
因此,需要对包含上述非法信息的非法站点进行有效扫描,但目前尚未出现有效的非法站点扫描技术。
发明内容
有鉴于此,本发明的主要目的在于提供一种实现非法站点扫描的方法和系统,以实现对非法站点的有效扫描。
为达到上述目的,本发明的技术方案是这样实现的:
一种实现非法站点扫描的方法,包括:根据URL下载页面,分析出下载的页面的所有URL,使用二分法对下载的URL中的文档进行扫描,获得非法关键字信息。
所述根据URL下载页面的过程为:应用扫描管理进程从未扫描URL队列中取出URL,根据取出的URL使用HTTP协议下载页面。
所述根据URL下载页面的方法为:将URL分配给网页下载组件,由网页下载组件应用自身的URL队列访问并下载相关web文件。
使用二分法进行所述扫描的方法为:根据设置的查找区间,使用二分法对下载的URL中的文档进行扫描。
该方法进一步包括以下操作中至少之一:
提交扫描出的非法关键字信息;
在下载页面时对抓取目标进行控制,防止下载页面过程中的服务器过载。
一种实现非法站点扫描的系统,包括:页面下载单元、URL处理单元、扫描单元;其中,
所述页面下载单元,用于根据被通知的URL下载页面,并将下载的页面反馈给URL处理单元;
所述URL处理单元,用于将涉及页面下载的URL通知给页面下载单元,以及分析出所述页面下载单元所下载的页面的所有URL,再通知给扫描单元;
所述扫描单元,用于使用二分法对被通知的所述URL中的文档进行扫描,获得非法关键字信息。
所述页面下载单元根据URL下载页面时,用于:应用扫描管理进程从未扫描URL队列中取出URL,根据取出的URL使用HTTP协议下载页面。
所述页面下载单元根据URL下载页面时,具体用于:将URL分配给网页下载组件,由网页下载组件应用自身的URL队列访问并下载相关web文件。
所述扫描单元使用二分法进行所述扫描时,用于:根据设置的查找区间,使用二分法对下载的URL中的文档进行扫描。
该系统进一步包括防止服务器过载模块,用于在下载页面时对抓取目标进行控制,防止下载页面过程中的服务器过载;
和/或,所述扫描单元进一步用于:提交扫描出的非法关键字信息。
综上所述可见,无论是方法还是系统,本发明实现非法站点扫描的技术能够实现对非法站点的有效扫描,并且比目前的遍历法的扫描效率高。
附图说明
图1为本发明实施例的实现非法站点扫描的原理示意图;
图2为本发明实施例的实现非法站点扫描的流程图;
图3为本发明实施例的实现非法站点扫描的系统图。
具体实施方式
在实际应用中,可以根据非法关键字确定扫描空间,并对扫描空间进行二分法查找。
非法信息关键字数据量一般较大,但一个Web页面中所含的关键字数量会非常少,这样就能够以建立索引的方式将非法信息关键字排序,并按照二分法的算法思路进入对web页面的词语的快速定位。这样就可以逐字缩小查询范围。
需要说明的是,可以控制待检测种子页面URL进入扫描URL队列,如:进程开始时,从数据库中取出待扫描的URL,并将取出的URL同时放入进程中所有扫描的URL和未扫描URL集合中。
扫描系统分为扫描管理进程和扫描进程。扫描管理进程负责对扫描的URL进行管理。扫描管理进程开多线程进程扫描。使用消息队列,不必考虑线程同步问题。一个线程管理一个扫描进程。
URL的结构代码如下:
  typedef struct tagURL
     {
       char url[128];
       bool state;
       int layer;
  }URL,*PURL;
typedef struct tagURLbag
  {
     PURL purl;
     bool operator<(const tagURLbag&right)const
        {
        return strcmp(purl->url,right.purl->url)<0;
     }
  }
  urlbag;
set<urlbag>urls;//进程中所有扫描的URL
set<urlbag>untreateds;//未扫描的URL
set<urlbag>treatments;//未完成的
set<urlbag>completes;//已完成的
在进行非法站点扫描是可以使用C语言的环境技术。C语言数据结构丰富,具有现代化语言的各种数据结构,是良好的结构化语言,符合非法扫描实现的性能要求。
针对非法站点扫描,涉及类成员变量通常为:
EventEnd_:线程池结束事件
EventComplete_:线程池内所有线程结束事件
SemaphoreCall_:新任务信号量
SemaphoreDel_:调整线程池内线程数量信号量
pJobQueueCS_:工作任务队列临界变量
JobQueue_:工作任务队列
Idle_:空闲的线程数量
Alive_:忙碌的线程数量
Max_:线程池内线程最多数量,为Idle和Alivre_之和
接口函数:bool Init(LONG iNUM=5,int idle_timeout=5)
有关二分法技术:
1)二分查找(Binary Search)
二分查找又称折半查找,它是一种效率较高的查找方法。
二分查找要求:线性表是有序表,即表中结点按关键字有序,并且要用向量作为表的存储结构。不妨设有序表是递增有序的。
2)二分查找的基本思想
二分查找的基本思想是:(设由低位到高位的区间R[low..high]是当前的查找区间)
(1)首先确定该区间的中点位置;
(2)然后将待查的K值与中间位置的关键字R[mid].key比较,若相等,则查找成功并返回此位置;否则须确定新的查找区间,继续二分查找,具体方法如下:
①若R[mid].key>K,则由表的有序性可知R[mid..n].keys均大于K,因此若表中存在关键字等于K的结点,则该结点必定是在位置mid左边的子表R[1..mid-1]中,故新的查找区间是左子表R[1..mid-1]。
②类似地,若R[mid].key<K,则要查找的K必在mid的右子表R[mid+1..n]中,即新的查找区间是右子表R[mid+l..n]。下一次查找是针对新的查找区间进行的。
因此,从初始的查找区间R[1..n]开始,每经过一次与当前查找区间的中点位置上的结点关键字的比较,就可确定查找是否成功,不成功时当前的查找区间就缩小一半。重复上述过程,直至找到关键字为K的结点,或者直至当前的查找区间为空(即查找失败)时为止。
3)二分查找算法如下:
 int  BinSearch(SeqList  R,KeyType  K){//在有序表R[1..n]中进行二分查找,成功时返回结点的位置,失败时返回零
          int low=1,high=n,mid;  //置当前查找区间上、下界的初值
             while(low<=high){  //当前查找区间R[low..high]非空
                 mid=(low+high)/2;
              if(R[mid].key==K)retum  mid;//查找成功返回
              if(R[mid].kdy>K)
                  high=mid-1;//继续在R[low..mid-1]中查找
              else
                  low=mid+1;//继续在R[mid+1..high]中查找
                  }
          return 0;//当low>high时表示查找区间为空,查找失败
          }//BinSeareh
4)二分查找算法的执行过程:
设算法的输入实例中有序的关键字序列为:(05,13,19,21,37,56,64,75,80,88,92),那么要查找的关键字K分别是21和85。
5)性能数据:
非法关键字数量在8500个左右,机器为普通的PC机,Web页面大小为120KB左右,搜索耗时1.39s;而采用目前的遍历法则需401s。可见本发明在应用的速度性能方面对大型行业站点信息有很大帮助。
二分查找的优点和缺点
针对二分查找的平均查找长度,设内部结点的总数为n=2h-1,则判定树是深度为h=lg(n+1)的满二叉树(深度h不计外部结点)。树中第k层上的结点个数为2k-1,查找它们所需的比较次数是k。因此在等概率假设下,二分查找成功时的平均查找长度为:ASLbn≈lg(n+1)-1;
通常,二分查找适用于顺序存储结构,尤其适用于一经建立就很少改动、而又经常需要查找的线性表。对查找少而又经常需要改动的线性表,可采用链表作存储结构以进行顺序查找,但链表上无法实现二分查找。
在实际应用中,可以将时间复杂度由遍历法的O(m*n)减少为二分法的O(log2(m)*n)。其中,m为非法关键字数量,n为待搜索web页面的长度。
在实际进行非法站点扫描时,可以选择行业站点首页作为种子扫描首页,解析出其中的链接并保存到URL队列,网页下载管理器负责分配网页下载目标网页,其URL经过Web分析器分析后得到非法站点信息。每个阶段开始,可以在已经抓取并被保存在候选网页队列中的网页中,选择相关度权值最高的网页以作为种子网页。
具体的非法站点扫描原理如图1所示。图1中,对互联网的非法信息进行扫描时,可以选择站点首页作为种子扫描首页,解析出其中的链接并保存到URL队列,网页下载管理器负责下载目标网页,经过Web分析器分析网页中的URL后得到非法站点信息。每次下载开始,可以从已经抓取并被保存在候选网页队列中的网页中,选择相关度权值最高的网页以作为种子网页。在使用配置上可以灵活增加、删除或修改关键字以及网页信息等,在设计上能实现复杂的系统环境,并且占用系统性能小、系统性能分析能力强,还可执行对非法站点的预警管理、黑名单等多项决策管理。
上述操作可以适用于行业网站服务器。
图1中各功能实体的主要功能如下所示:
监控网页集:在系统初始阶段,可以指定一个站点的首页作为种子网页。每次下载开始时,将会从候选网页队列中选择相关度权值最高的网页以作为种子网页。
URL队列:种子网页中会存在大量指向其它网页的URL。这些URL将被提取出来并存放到URL队列中,以等待网页下载管理器将URL分配给网页下载组件。
网页下载管理器:主要用于从网络中下载相关Web页面。首先从URL队列中取得URL并存放到URL缓冲区中(该缓冲区是一个FIFO队列)。动态创建网页下载组件以下载目标URL文件。同时,网页下载管理器还监视网页下载组件的工作状态,以控制网页下载组件的速度,还控制各网页下载组件间的负载平衡。
网页下载组件:主要负责下载网页下载管理器所提供的URL地址目标文件。每个网页下载组件都拥有自身的URL队列,用于保存需要下载的Web的URL。网页下载组件从URL队列中取得URL,据此访问并下载相关web文件。同时,其它网页下载组件可能访问同一Web服务器,从而导致服务器的过载。因此可以引入防止服务器过载模块,该模块存放网页下载组件已经发出访问请求并等待服务器响应的URL;并且,如果之前没有对该URL的Web服务器的访问请求,针对该URL的访问请求将立即发送到网页下载组件,否则进入等待访问URL队列。
防止服务器过载模块:网页下载组件消耗大量服务器资源,同时占用大量带宽,如果不对网页下载组件的抓取目标进行控制,很可能导致众多网页下载组件同时访问同一Web服务器,造成服务器过载,使得网页下载组件的性能急剧下降,甚至网络阻塞。所以防止服务器过载模块将限制网页下载组件对服务器的同时访问。
URL解析器:用于从Web库中提取Web文件,并解析出其中的URL地址和网贞内容,删除重复的URL地址。之后,将相关信息(URL地址,内容等)传送给Web分析器。
Web分析器:用于接收来自URL解析器的网页相关信息,据此根据查找区间对网页进行扫描。将包含非法字符的站点等信息存放到非法网页队列中。
上述各功能实体所进行的具体扫描流程如下所示。
待检测种子页面URL进入扫描URL队列:进程开始时,从数据库中取出待扫描的URL,将取出的URL同时放入进程中所有扫描的URL和未扫描URL集合中。
扫描管理进程从未扫描URL集合中取出一个URL。如:从未扫描URL集合中取出一个URL,并将该URL添加到未完成URL集合中。
根据取出的URL使用HTTP协议下载页面。
分析出下载的页面中的所有URL,如:判断正在扫描的页面是否达到需要扫描的最大层数,如果没有达到,则把分析出的URL同时放入进程中所有扫描的URL和未扫描URL集合中。
文档转换,如:检测下载的页面的编码格式,如果为UTF-8,则转换为GB2312,以使编码格式一致。
使用二分法对下载的页面中的文档进行扫描。把扫描出的非法关键字及非法关键字在该页面出现的次数等信息提交给非法信息数据库。非法信息可以通过展示页面实时浏览。
检测未扫描的URL集合和未完成的URL的总长度是否为0,如果长度为0,表明该次扫描已经完成;否则,继续下一次扫描工作。
结合上述技术内容可知,本发明实现非法站点扫描的操作思路可以表示如图2所示。参见图2,图2为本发明实施例的实现非法站点扫描的流程图,该流程包括以下步骤:
步骤210:扫描管理进程从未扫描URL队列中取出URL。当然,根据实际应用场景,也可能从已扫描URL队列中取出URL,以重新进行扫描。
步骤220:根据取出的URL使用HTTP协议下载页面。当然,下载页面时可以遵循的协议不止HTTP协议一种,还可以是TCP/IP协议等。
步骤230:分析出下载的页面的所有URL。
步骤240:使用二分法对下载的URL中的文档进行扫描,获得非法关键字信息。还可以进一步将扫描出的非法关键字信息提交给非法信息数据库。
为了保证上述技术内容能够顺利实现,可以进行如图3所示的设置。参见图3,图3为本发明实施例的实现非法站点扫描的系统图,该系统包括相连的页面下载单元、URL处理单元、扫描单元。其中,页面下载单元可以表现为页面下载管理器;URL处理单元可以包括URL解析器;扫描单元可以包括Web分析器。
具体应用时,URL处理单元能够从未扫描URL队列中取出URL并通知给页面下载单元,由页面下载单元根据被通知的所述URL使用HTTP协议下载页面,并将下载的页面反馈给URL处理单元,由URL处理单元分析出下载的页面的所有URL,再通知给扫描单元,由扫描单元使用二分法对被通知的所述URL中的文档进行扫描,获得非法关键字信息,还可以进一步将扫描出的非法关键字信息提交给非法信息数据库。
可见,所述页面下载单元根据URL下载页面时,用于:应用扫描管理进程从未扫描URL队列中取出URL,根据取出的URL使用HTTP协议下载页面。
所述页面下载单元根据URL下载页面时,具体用于:将URL分配给网页下载组件,由网页下载组件应用自身的URL队列访问并下载相关web文件。
所述扫描单元使用二分法进行所述扫描时,用于:根据设置的查找区间,使用二分法对下载的URL中的文档进行扫描。
该系统进一步包括防止服务器过载模块,用于在下载页面时对抓取目标进行控制,防止下载页面过程中的服务器过载;
和/或,所述扫描单元进一步用于:提交扫描出的非法关键字信息。
综上所述可见,无论是方法还是系统,本发明实现非法站点扫描的技术能够实现对非法站点的有效扫描,并且比目前的遍历法的扫描效率高。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种实现非法站点扫描的方法,其特征在于,该方法包括:
根据URL下载页面,分析出下载的页面的所有URL,使用二分法对下载的URL中的文档进行扫描,获得非法关键字信息。
2.根据权利要求1所述的方法,其特征在于,所述根据URL下载页面的过程为:
应用扫描管理进程从未扫描URL队列中取出URL,根据取出的URL使用HTTP协议下载页面。
3.根据权利要求2所述的方法,其特征在于,所述根据URL下载页面的方法为:
将URL分配给网页下载组件,由网页下载组件应用自身的URL队列访问并下载相关web文件。
4.根据权利要求1至3任一项所述的方法,其特征在于,使用二分法进行所述扫描的方法为:
根据设置的查找区间,使用二分法对下载的URL中的文档进行扫描。
5.根据权利要求4所述的方法,其特征在于,该方法进一步包括以下操作中至少之一:
提交扫描出的非法关键字信息;
在下载页面时对抓取目标进行控制,防止下载页面过程中的服务器过载。
6.一种实现非法站点扫描的系统,其特征在于,该系统包括:页面下载单元、URL处理单元、扫描单元;其中,
所述页面下载单元,用于根据被通知的URL下载页面,并将下载的页面反馈给URL处理单元;
所述URL处理单元,用于将涉及页面下载的URL通知给页面下载单元,以及分析出所述页面下载单元所下载的页面的所有URL,再通知给扫描单元;
所述扫描单元,用于使用二分法对被通知的所述URL中的文档进行扫描,获得非法关键字信息。
7.根据权利要求6所述的系统,其特征在于,所述页面下载单元根据URL下载页面时,用于:
应用扫描管理进程从未扫描URL队列中取出URL,根据取出的URL使用HTTP协议下载页面。
8.根据权利要求7所述的系统,其特征在于,所述页面下载单元根据URL下载页面时,具体用于:
将URL分配给网页下载组件,由网页下载组件应用自身的URL队列访问并下载相关web文件。
9.根据权利要求6至8任一项所述的系统,其特征在于,所述扫描单元使用二分法进行所述扫描时,用于:
根据设置的查找区间,使用二分法对下载的URL中的文档进行扫描。
10.根据权利要求9所述的系统,其特征在于,
该系统进一步包括防止服务器过载模块,用于在下载页面时对抓取目标进行控制,防止下载页面过程中的服务器过载;
和/或,所述扫描单元进一步用于:提交扫描出的非法关键字信息。
CN2010105505038A 2010-11-18 2010-11-18 实现非法站点扫描的方法和系统 Pending CN102467555A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010105505038A CN102467555A (zh) 2010-11-18 2010-11-18 实现非法站点扫描的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010105505038A CN102467555A (zh) 2010-11-18 2010-11-18 实现非法站点扫描的方法和系统

Publications (1)

Publication Number Publication Date
CN102467555A true CN102467555A (zh) 2012-05-23

Family

ID=46071198

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010105505038A Pending CN102467555A (zh) 2010-11-18 2010-11-18 实现非法站点扫描的方法和系统

Country Status (1)

Country Link
CN (1) CN102467555A (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5903892A (en) * 1996-05-24 1999-05-11 Magnifi, Inc. Indexing of media content on a network
CN101158951A (zh) * 2007-11-19 2008-04-09 无敌科技(西安)有限公司 一种功能导航方法及其系统
US20080147643A1 (en) * 2006-12-14 2008-06-19 Konica Minolta Business Technologies, Inc. Information-processing apparatus searching web server and downloading data, data searching method and data searching program executed in information-processing apparatus

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5903892A (en) * 1996-05-24 1999-05-11 Magnifi, Inc. Indexing of media content on a network
US20080147643A1 (en) * 2006-12-14 2008-06-19 Konica Minolta Business Technologies, Inc. Information-processing apparatus searching web server and downloading data, data searching method and data searching program executed in information-processing apparatus
CN101158951A (zh) * 2007-11-19 2008-04-09 无敌科技(西安)有限公司 一种功能导航方法及其系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
赖静: "非法互联网网站及服务实时监管取证系统", 《四川大学工程硕士专业学位论文》 *
郭辉,蔡庆生: "web主题信息监控系统设计与实现", 《计算机应用》 *

Similar Documents

Publication Publication Date Title
US6643641B1 (en) Web search engine with graphic snapshots
US8799262B2 (en) Configurable web crawler
US9195698B2 (en) Selectively retrieving search results in accordance with different logical relationships
CN102436513B (zh) 分布式检索方法和系统
US20050050044A1 (en) Processing structured/hierarchical content
CN1202257A (zh) 用于定位万维网页以及计算机网络文件的系统和方法
US6938034B1 (en) System and method for comparing and representing similarity between documents using a drag and drop GUI within a dynamically generated list of document identifiers
CN101089856A (zh) 一种提取网页数据的方法和Web爬虫系统
EP1713010A2 (en) Using attribute inheritance to identify crawl paths
CN102577237A (zh) 网站托管服务调度方法、应用访问处理方法、装置及系统
CN1766876A (zh) 用于管理结构化文件的系统和方法
CN110309386B (zh) 一种网页爬取的方法和装置
CN106033428B (zh) 统一资源定位符的选择方法和统一资源定位符的选择装置
CN101727471A (zh) 网站内容检索系统及方法
CN105808615A (zh) 一种基于分词权重的文档索引生成方法和装置
CN104778232B (zh) 一种基于长查询的搜索结果的优化方法和装置
US20090106270A1 (en) System and Method for Maintaining Persistent Links to Information on the Internet
CN105488218A (zh) 一种基于搜索的加载瀑布流的方法和装置
CN104778233A (zh) 一种基于点击量的搜索方法和装置
Hurst et al. Social streams blog crawler
KR102169143B1 (ko) 유해 콘텐츠 웹 페이지 url 필터링 장치
Jin Research on data retrieval and analysis system based on Baidu reptile technology in big data era
CN102467555A (zh) 实现非法站点扫描的方法和系统
Agrawal et al. A survey on content based crawling for deep and surface web
US20130226900A1 (en) Method and system for non-ephemeral search

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20120523