基于Hash表的host和URL关键字策略匹配方法组成比例

技术编号:13385821 阅读:323 留言:0更新日期:2016-07-22 00:13
本发明专利技术公开了一种基于Hash表的host和URL关键字策略匹配方法,该方法将源IP、目的IP、源端口、目的端口、协议号、host以及URL进行管理,并且对这7个因素分开考虑,其中源IP、目的IP、源端口、目的端口、协议号、host为一个整体,URL为一个整体,考虑到超长URL的存储和查找便利,再对URL关键字进行二次分割,然后前后存储内容相关联,进而实现统一的精确查找和匹配。本发明专利技术减少内存需求,将超长的URL信息分段提取得到分段的key,适应系统要求,并将源IP、目的IP、源端口、目的端口以及协议号信息考虑在内,可以基于某一用户进行精确管控。

【技术实现步骤摘要】
基于Hash表的host和URL关键字策略匹配方法
本专利技术涉及互联网网络安全
,具体是指一种基于Hash表的host和URL关键字策略匹配方法。
技术介绍
目前互联网产业日益更新,人们的生活已经离开不了网络,但是在网络中存在各种危机和隐患,很多“钓鱼网站”利用虚假的URL信息进行欺诈行为,网络信息安全显得尤为重要,对于安全系统中URL和HOST关键字查询性能和实用性的要求也越来越高。针对信息安全系统中使用的HOST以及URL关键字库匹配发现,HOST的长度区间在4-48字节之间,其中长度在20字节以内的占据了90%;URL关键字的长度在4-256字节之间,其中在52字节左右的长度占据了80%。对于与上述长度不一致且需要支持超长的URL匹配,如果采用统一的存储和匹配,对内存的要求就会产生极大的开销,进而影响了整个系统的安全可靠性。目前对于超长的URL(长度超过40字节甚至达到200字节)的精确匹配查找,若单纯采用一个Hash表的结构进行存储和匹配,存在以下缺陷:其一,造成内存浪费、冲突链增多,增加删除和查找也会达不到性能要求;其二,超长的URL信息会产生超长的key,很多系统不支持如此长的Key,这会导致超长的URL无法进行匹配;其三,对于部分URL前部分信息相同的情况下,会出现重复存储;其四,该HOST和URL关键字匹配没有将源IP、目的IP、源端口、目的端口以及协议号信息考虑在内,不能基于某一用户进行精确管控。
技术实现思路
为克服现有技术存在的缺陷,本专利技术提供一种基于Hash表的host和URL关键字策略匹配方法,该方法减少内存需求,将超长的URL信息分段提取得到分段的key,适应系统要求,并将源IP、目的IP、源端口、目的端口以及协议号信息考虑在内,可以基于某一用户进行精确管控。为实现上述目的,本专利技术采用以下技术方案:本专利技术基于Hash表的host和URL关键字策略匹配方法,该方法提取URL形成关键字(Key),依次查找关键字(Key)对应的表结构,即可得到匹配结果,所述关键字(Key)的提取方法包括以下步骤:步骤S101,源IP、目的IP、源端口、目的端口、协议号、host组成一个Key_1并存储到表1,Key_1由56个字节组成;步骤S102,表1产生的Result_1中存储匹配动作,所述匹配动作为继续查找或转发或丢弃;其中,继续查找表示Key_1需与后续的URL关联,并生成一个index_1,继续查找标识为1,转发以及丢弃均标识为0,转至步骤S103;转发或者丢弃表示Key_1不与后续的URL关联,无需内存空间存储Key_1,转发标识为1,提取结束;步骤S103,判断URL长度是否小于或等于52字节,是则转至步骤S104,否则转至步骤S105;步骤S104,若URL长度小于52字节用0将URL补齐,index_1与URL组成Key_2并存储到表2,表2产生的Result_2与表1产生的Result_1组成结构相同,若匹配动作为继续查找,则生成一个index_2,继续查找标识为1,转发以及丢弃均标识为0,若匹配动作为转发或者丢弃,则无需内存空间存储Key_2,转发标识为1;提取结束;步骤S105,将index_1和URL的前52个字节组成Key_3并存储到表3,表3产生的Result_3与表1产生的Result_1组成结构相同,若匹配动作为继续查找,则生成一个index_3,继续查找标识为1,转发以及丢弃均标识为0,并转至步骤S106;若匹配动作为转发或者丢弃,则无需内存空间存储Key_3,转发标识为1,提取结束;步骤S106,判断URL长度是否大于等于104字节,是则转至步骤S107,否则转至步骤S108;步骤S107,若URL长度小于104字节用0将URL补齐,index_3与URL后52个字节组成Key_4并存储到表4,表4产生的Result_4与表1产生的Result_1组成结构相同,若匹配动作为继续查找,则生成一个index_4,继续查找标识为1,转发以及丢弃均标识为0,若匹配动作为转发或者丢弃,则无需内存空间存储Key_4,转发标识为1;提取结束;步骤S108,将index_3和URL的第53-104个字节组成Key_5并存储到表5,表5产生的Result_5与表1产生的Result_1组成结构相同,若匹配动作为继续查找,则生成一个index_5,继续查找标识为1,转发以及丢弃均标识为0,并转至下一步;若匹配动作为转发或者丢弃,则无需内存空间存储Key_5,转发标识为1,提取结束;依次类推,如果到达结尾,提取的URL字节串长度小于52,则用0将其补齐为52位。在上述步骤S101中,Key_1的56个字节中,源IP占用4个字节,目的IP占用4个字节,源端口占用2个字节,目的端口占用2个字节,协议号占用1个字节,其余43字节由host占用;如果源IP、目的IP、源端口、目的端口、协议号、host中任意一个长度不足时则用0将其补齐。本专利技术的有益效果在于:其一,本专利技术中对不与后续URL关联的Key_1进行存储,减少内存需求;其二,本专利技术将超长的URL信息分段提取并得到分段的key,适应系统要求;其三,本专利技术将源IP、目的IP、源端口、目的端口以及协议号信息考虑在内,可以基于某一用户进行精确管控。具体实施方式以下结合具体实施例对本专利技术作进一步的详细描述,但该实施例不应该理解为对本专利技术的限制。本专利技术提供的一种基于Hash表的host和URL关键字策略匹配方法,该方法提取URL形成关键字(Key),依次查找关键字(Key)对应的表结构,即可得到匹配结果。关键字(Key)的提取方法包括以下步骤:步骤S101,源IP、目的IP、源端口、目的端口、协议号、host组成一个Key_1并存储到表1,Key_1由56个字节组成,Key_1的56个字节中,源IP占用4个字节,目的IP占用4个字节,源端口占用2个字节,目的端口占用2个字节,协议号占用1个字节,其余43字节由host占用。如果源IP、目的IP、源端口、目的端口、协议号、host中任意一个长度不足时则用0将其补齐。步骤S102,表1产生的Result_1中存储匹配动作,所述匹配动作为继续查找或转发或丢弃。其中,继续查找表示Key_1需与后续的URL关联,并生成一个index_1,继续查找标识为1,转发以及丢弃均标识为0,转至步骤S103。转发或者丢弃表示Key_1不与后续的URL关联,无需内存空间存储Key_1,转发标识为1,提取结束。步骤S103,判断URL长度是否小于或等于52字节,是则转至步骤S104,否则转至步骤S105。步骤S104,若URL长度小于52字节用0将URL补齐,index_1与URL组成Key_2并存储到表2,表2产生的Result_2与表1产生的Result_1组成结构相同。若匹配动作为继续查找,则生成一个index_2,继续查找标识为1,转发以及丢弃均标识为0,提取结束。若匹配动作为转发或者丢弃,则无需内存空间存储Key_2,转发标识为1,提取结束。步骤S105,将index_1和URL的前52个字节组成Key_3并存储到表3,表3产生的Result_3与表1产生的Result_1组成结构相同。若匹配动本文档来自技高网...

【技术保护点】
一种基于Hash表的host和URL关键字策略匹配方法,提取URL形成关键字(Key),依次查找关键字(Key)对应的表结构,即可得到匹配结果,其特征在于,所述关键字(Key)的提取方法包括以下步骤:步骤S101,源IP、目的IP、源端口、目的端口、协议号、host组成一个Key_1并存储到表1,Key_1由56个字节组成;步骤S102,表1产生的Result_1中存储匹配动作,所述匹配动作为继续查找或转发或丢弃;其中,继续查找表示Key_1需与后续的URL关联,并生成一个index_1,继续查找标识为1,转发以及丢弃均标识为0,转至步骤S103;转发或者丢弃表示Key_1不与后续的URL关联,无需内存空间存储Key_1,转发标识为1,提取结束;步骤S103,判断URL长度是否小于或等于52字节,是则转至步骤S104,否则转至步骤S105;步骤S104,若URL长度小于52字节用0将URL补齐,index_1与URL组成Key_2并存储到表2,表2产生的Result_2与表1产生的Result_1组成结构相同,若匹配动作为继续查找,则生成一个index_2,继续查找标识为1,转发以及丢弃均标识为0,若匹配动作为转发或者丢弃,则无需内存空间存储Key_2,转发标识为1;提取结束;步骤S105,将index_1和URL的前52个字节组成Key_3并存储到表3,表3产生的Result_3与表1产生的Result_1组成结构相同,若匹配动作为继续查找,则生成一个index_3,继续查找标识为1,转发以及丢弃均标识为0,并转至步骤S106;若匹配动作为转发或者丢弃,则无需内存空间存储Key_3,转发标识为1,提取结束;步骤S106,判断URL长度是否大于等于104字节,是则转至步骤S107,否则转至步骤S108;步骤S107,若URL长度小于104字节用0将URL补齐,index_3与URL后52个字节组成Key_4并存储到表4,表4产生的Result_4与表1产生的Result_1组成结构相同,若匹配动作为继续查找,则生成一个index_4,继续查找标识为1,转发以及丢弃均标识为0,若匹配动作为转发或者丢弃,则无需内存空间存储Key_4,转发标识为1;提取结束;步骤S108,将index_3和URL的第53‑104个字节组成Key_5并存储到表5,表5产生的Result_5与表1产生的Result_1组成结构相同,若匹配动作为继续查找,则生成一个index_5,继续查找标识为1,转发以及丢弃均标识为0,并转至下一步;若匹配动作为转发或者丢弃,则无需内存空间存储Key_5,转发标识为1,提取结束;依次类推,如果到达结尾,提取的URL字节串长度小于52,则用0将其补齐为52位。...

【技术特征摘要】
1.一种基于Hash表的host和URL关键字策略匹配方法,提取URL形成关键字(Key),依次查找关键字(Key)对应的表结构,即可得到匹配结果,其特征在于,所述关键字(Key)的提取方法包括以下步骤:步骤S101,源IP、目的IP、源端口、目的端口、协议号、host组成一个Key_1并存储到表1,Key_1由56个字节组成;步骤S102,表1产生的Result_1中存储匹配动作,所述匹配动作为继续查找或转发或丢弃;其中,继续查找表示Key_1需与后续的URL关联,并生成一个index_1,继续查找标识为1,转发以及丢弃均标识为0,转至步骤S103;转发或者丢弃表示Key_1不与后续的URL关联,无需内存空间存储Key_1,转发标识为1,提取结束;步骤S103,判断URL长度是否小于或等于52字节,是则转至步骤S104,否则转至步骤S105;步骤S104,若URL长度小于52字节用0将URL补齐,index_1与URL组成Key_2并存储到表2,表2产生的Result_2与表1产生的Result_1组成结构相同,若匹配动作为继续查找,则生成一个index_2,继续查找标识为1,转发以及丢弃均标识为0,若匹配动作为转发或者丢弃,则无需内存空间存储Key_2,转发标识为1;提取结束;步骤S105,将index_1和URL的前52个字节组成Key_3并存储到表3,表3产生的Result_3与表1产生的Result_1组成结构相同,若匹配动作为继续查找,则生成一个index_3,继续查找标识为1,转发以及丢弃均标识为...

【专利技术属性】
技术研发人员:吴有庆王乾马红兵
申请(专利权)人:南京贝伦思网络科技股份有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1