一种代理检测系统和方法

文档序号:7958410阅读:141来源:国知局
专利名称:一种代理检测系统和方法
技术领域
本发明涉及网络安全中的代理检测技术,更具体的说,是一种检测计算机是否存在代理的代理检测系统和方法。
背景技术
在当今的网络管理中,用户使用代理一直是网络服务提供商(ISP)非常头疼的问题。网络用户只申请一个用户帐号,但通过配置一台代理服务器,可以保证多人共用帐号上网,这种情况对管理者进行网络服务收费造成很大的困扰。而校园网的情况尤其严重,如一个学生宿舍申请了一个帐号或IP地址,通过把一台双网卡的机器设置为代理服务器或在一台单网卡的机器上安装代理软件作为代理服务器,同宿舍的多台机器甚至其他宿舍的机器都可以通过这台机器使用网络资源,达到逃避计费的目的,从而对使用计时或包月收费的网络管理者造成困扰。
目前,代理检测技术一般采用端口扫描技术,对某些知名端口进行扫描,但端口扫描有几个主要缺点(1)由于只对知名进程监视和知名端口扫描,所以容易遗漏代理检测;(2)增加网络负载,耗费高;代理服务器端运行扫描软件,需要发送大量的试探报文,增加网络负担,并对代理服务器的资源消耗也很大。

发明内容
本发明的目的在于提供一种代理检测系统和方法,能够防范和检测用户使用共享上网技术。
本发明具体是这样实现的一种代理检测系统,包括网卡抓包引擎,用以抓取本机网卡的网络进出的所有特定数据包;数据包分析模块,用以分析抓取的特定数据包并获取特征数据;数据包队列模块,用以存储分析并获取的特征数据;
代理检测模块,用以根据预先设定的代理检测规则,检测本机是否存在代理服务;所述网卡抓包引擎与数据包分析模块连接;所述数据包分析模块与数据包队列模块连接;所述数据包队列模块与代理检测模块连接。
所述网卡抓包引擎,通过监听复制获取特定数据包。
所述特定数据包,包括外部网络传送给网卡,或者应用系统通过网卡向外部网络发送的数据包。
所述数据包分析模块,根据数据包头部和部分数据,提取数据包的特征数据,将其存储到数据包队列模块。
所述代理检测模块对获取的特征数据,根据数据包包头特征、数据包数据特征进行分析比较,完全匹配,则返回存在代理,并按照预定响应策略进行响应;若不完全匹配,则继续进行代理检测。
一种代理检测方法,包括以下步骤步骤1、网卡抓包引擎抓取本机网卡的网络进出的所有特定数据包,并将数据包传送给数据分析模块;步骤2、数据分析模块把收到的数据包经过特征分析和提取,将其每个数据包中的特征数据存储到数据包队列模块;步骤3、当数据包队列模块中存储的特征数据达到预设数量后,代理检测模块对数据包的特征数据进行分析比较,以检测代理是否存在;如果检测不存在代理,则把数据包队列模块中的特征数据全部清除,并执行步骤1;如果检测存在代理,则清除所有数据,并返回。
所述步骤2,根据数据包头部和部分数据,提取数据包的特征数据,将其存储到数据包队列模块。
所述步骤3中的预设数量,是指存储的特征数据数量达到预设数量后,代理检测模块进行所有存储的特征数据包之间的分析比较。
所述步骤3,从数据包队列模块中提取特征数据,根据数据包头部特征和数据部分特征进行分析比较,完全匹配,则返回存在代理,并按照预定响应策略进行响应;若不完全匹配,则继续进行代理检测。
采用本发明所述的代理检测的系统和方法,与现有技术相比具有以下优点(1)从代理的根本属性出发,能精确查找代理检测的存在与否,不遗漏和不错误检测;(2)本发明方法不影响数据包和网络负担,只需要计算机很小的CPU和内存消耗,不影响其它程序的正常运行。


图1是客户机通过代理服务器连接外网服务器的示意图;图2是本发明代理检测系统与系统内核结合的示意图;图3是本发明代理检测系统的模块结构图;图4是本发明代理检测方法的流程图。
具体实施例方式
以下结合附图对本发明所述代理检测系统和方法作进一步说明如图1所示,客户机通过代理服务器连接外网服务器,代理服务器的代理方式一般有NAT服务程序代理,双网卡代理和单网卡代理等。
单网卡有两种代理方式,即单网卡NAT代理和单网卡一般代理,但在代理服务器上它们有共同的数据包头部特征一个包进(出)源(目的)数据包的MAC地址与另一个包出(进)目的(源)数据包的MAC地址相同,但同时这个包出(进)目的(源)MAC地址与另一个包的进(出)源(目的)数据包的MAC地址不同。
为了避免可能存在代理服务器在上外网服务器的同时,将客户机访问代理服务器的情况检测为代理,则增加对数据包数据部分特征内容进行检测。
双网卡也有两种代理方式,即双网卡NAT代理和双网卡一般代理,但在代理服务器上它们有共同的数据包头部特征一个包进(出)源(目的)数据包的MAC地址与另一个包出(进)目的(源)数据包的MAC地址不同,但同时这个包出(进)目的(源)MAC地址与另一个包的进(出)源(目的)数据包的MAC地址也不同,即两个数据包的MAC地址两两互不相同。
为了避免可能存在代理服务器在上外网服务器的同时,将客户机访问代理服务器的情况检测为代理,则增加对数据包数据部分特征内容进行检测。
因此本发明采用了数据包头部特征和数据部分特征相结合达到代理检测。当进行代理检测时,代理检测系统使用抓包引擎,通过监听复制数据包的方法,将经过网卡的所有特定包(外部网络传送给网卡或应用系统通过网卡向外部网络发送的包)进行复制获取,而后代理检测系统对获取的特定数据包按照代理检测规则(数据包包头特征、数据包数据特征等)进行检测。
如图3所示,本发明代理检测系统包括网卡抓包引擎,用以抓取本机网卡的网络进出的所有特定数据包;数据包分析模块,用以分析抓取的网络进出的特定数据包并获取特征数据;
数据包队列模块,用以存储分析并获取的特征数据;代理检测模块,用以根据预先设定的代理检测规则,检测本机是否存在代理服务。
其中,网卡抓包引擎与数据包分析模块连接;数据包分析模块与数据包队列模块连接;数据包队列模块与代理检测模块连接。
如图2所示,为了不影响计算机系统的正常运行,本发明所述代理检测系统在计算机的应用层实现,即作为一个程序运行于应用层。
如图4所示,本发明所述方法包括以下步骤步骤A.网卡抓包引擎抓取本机网卡的网络进出的所有数据包,并将数据包传送给数据分析模块;步骤B.数据分析模块把收到的数据包经过特征分析和提取,将其每个数据包中的特征数据存储到数据包队列模块;步骤C.当数据包队列模块中存储的特征数据达到预设数量后,代理检测模块对数据包的特征数据进行分析比较,以检测代理是否存在;步骤D.如果检测不存在代理,则把数据包队列模块中的特征数据全部清除,并执行步骤A;步骤E.如果检测存在代理,则清除所有数据,并返回。
所述步骤C中的预设数量,是指存储的特征数据数量达到预设数量后,代理检测模块进行所有存储的特征数据包之间的分析比较。
所述预设数量可以根据实际的网络情况和动态设定。
以下以检测代理的主机接收和发送数据包的过程为例,参照图2、图3、图4所示,对本发明代理检测的实现方法作进一步详细说明。
步骤1,通过抓包引擎从网卡驱动程序处获取特定的进出数据包;步骤2,将抓取的数据包进行分析,并根据预设的特征规则的数据结构(数据包头部MAC地址,IP地址等;数据部分提取部分特征数据),提取数据包的特征数据,然后将其存储到数据包的数据结构队列中;步骤3,从数据结构队列中提取数据结构元素,根据特征匹配规则进行数据特征匹配,若数据特征(数据包头部特征和数据部分特征)完全匹配,则返回存在代理,并按照预定响应策略进行响应。若不完全匹配,则继续进行代理检测。
权利要求
1.一种代理检测系统,其特征在于系统包括网卡抓包引擎,用以抓取本机网卡的网络进出的所有特定数据包;数据包分析模块,用以分析抓取的特定数据包并获取特征数据;数据包队列模块,用以存储分析并获取的特征数据;代理检测模块,用以根据预先设定的代理检测规则,检测本机是否存在代理服务;所述网卡抓包引擎与数据包分析模块连接;所述数据包分析模块与数据包队列模块连接;所述数据包队列模块与代理检测模块连接。
2.如权利要求1所述的代理检测系统,其特征在于所述网卡抓包引擎,通过监听复制获取特定数据包。
3.如权利要求1所述的代理检测系统,其特征在于所述特定数据包,包括外部网络传送给网卡,或者应用系统通过网卡向外部网络发送的数据包。
4.如权利要求1所述的代理检测系统,其特征在于所述数据包分析模块,根据数据包头部和部分数据,提取数据包的特征数据,将其存储到数据包队列模块。
5.如权利要求1所述的代理检测系统,其特征在于所述代理检测模块对获取的特征数据,根据数据包包头特征、数据包数据特征进行分析比较,完全匹配,则返回存在代理,并按照预定响应策略进行响应;若不完全匹配,则继续进行代理检测。
6.一种代理检测方法,其特征在于,包括以下步骤步骤1、网卡抓包引擎抓取本机网卡的网络进出的所有特定数据包,并将数据包传送给数据分析模块;步骤2、数据分析模块把收到的数据包经过特征分析和提取,将其每个数据包中的特征数据存储到数据包队列模块;步骤3、当数据包队列模块中存储的特征数据达到预设数量后,代理检测模块对数据包的特征数据进行分析比较,以检测代理是否存在;如果检测不存在代理,则把数据包队列模块中的特征数据全部清除,并执行步骤1;如果检测存在代理,则清除所有数据,并返回。
7.如权利要求6所述的代理检测方法,其特征在于所述步骤2,根据数据包头部和部分数据,提取数据包的特征数据,将其存储到数据包队列模块。
8.如权利要求6所述的代理检测方法,其特征在于所述步骤3中的预设数量,是指存储的特征数据数量达到预设数量后,代理检测模块进行所有存储的特征数据包之间的分析比较。
9.如权利要求6所述的代理检测方法,其特征在于所述步骤3,从数据包队列模块中提取特征数据,根据数据包头部特征和数据部分特征进行分析比较,完全匹配,则返回存在代理,并按照预定响应策略进行响应;若不完全匹配,则继续进行代理检测。
全文摘要
本发明涉及网络安全中的代理检测技术,更具体的说,是一种检测计算机是否存在代理的代理检测系统和方法。本发明采用了数据包头部特征和数据部分特征相结合达到代理检测。当进行代理检测时,代理检测系统使用抓包引擎,通过监听复制数据包的方法,将经过网卡的所有特定包进行复制获取,而后代理检测系统对获取的特定数据包按照代理检测规则进行检测。从代理的根本属性出发,能精确查找代理检测的存在与否,不遗漏和不错误检测;本发明方法不影响数据包和网络负担,只需要计算机很小的CPU和内存消耗,不影响其它程序的正常运行。
文档编号H04L12/24GK1822549SQ20061006527
公开日2006年8月23日 申请日期2006年3月22日 优先权日2006年3月22日
发明者黄小华, 卢应华, 严峰 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1