查找密钥协商会话的方法、系统、智能终端及存储介质技术方案

技术编号:36385745 阅读:40 留言:0更新日期:2023-01-18 09:48
本申请涉及查找密钥协商会话的方法、系统、智能终端及存储介质,其方法包括获取客户端端口和服务端端口,并根据所述客户端端口和服务端端口确定相对应的相同客户服务端口会话组,所述相同客户服务端口会话组包括锁、会话个数和红黑树指针;判断相同客户服务端口会话组的会话个数是否为零;若否,则调取与客户端端口相对应的客户端IP,调取与服务端端口相对应的服务端IP;根据所述客户端IP和所述服务端IP确定会话键值;查找与会话键值相对应的相同客户服务端口会话组内的红黑树,得到能够放置数据包的会话。本申请具有减小查找会话的时间的效果。间的效果。间的效果。

【技术实现步骤摘要】
查找密钥协商会话的方法、系统、智能终端及存储介质


[0001]本申请涉及通信的领域,尤其是涉及查找密钥协商会话的方法、系统、智能终端及存储介质。

技术介绍

[0002]为了对网络通信过程的密码协商过程进行监测,首先需要恢复通信过程中的会话,抓取完整交互过程。TCP、UDP的会话中每个数据包有源ip、源port、目的ip、目的port,通过这4个要素来找到它们各自对应的会话。数据包是TCP /IP协议通信过程传输中的数据单位,一个IP数据包通常最大为1500字节,但我们访问一个网页,或者给别人打个电话,往往不是1500字节就能完成。所以网络上的一次通信会话,会被拆成多个包来发送。多客户端多服务端之间的通信流量到监控系统是分散,杂乱无序的。例如A跟B的通信流量之间可能会穿插C跟D的通信,同时可能会穿插E跟F的通信,一秒钟可能会有上十万个通信方之间的流量。在海量流量监控系统里每秒钟至少会有十几万的数据包需要被实时处理,而每一个数据包都必须要做一次会话查找,并将数据包插入对应会话的操作,所以尽量缩短查找会话的时间,是提高系统性能的重要一环。
[0003]目前是直接将TCP会话存入一个hash表中,首先计算出hashId然后得出hashIndex=hashId%hash表大小。由于hash表的大小是有限的,而且对于海量数据应用场景,必然会导致大量的hash冲突发生。对于hashIndex的会话,其查找对应会话的方式就退化成顺序匹配查找,严重影响查找性能。

技术实现思路

[0004]为了减小查找会话的时间,本申请提供查找密钥协商会话的方法、系统、智能终端及存储介质。
[0005]本申请的上述申请目的一是通过以下技术方案得以实现的:查找密钥协商会话的方法,包括;获取客户端端口和服务端端口,并根据所述客户端端口和服务端端口确定相对应的相同客户服务端口会话组,所述相同客户服务端口会话组包括锁、会话个数和红黑树指针;判断相同客户服务端口会话组的会话个数是否为零;若否,则调取与客户端端口相对应的客户端IP,调取与服务端端口相对应的服务端IP;根据所述客户端IP和所述服务端IP确定会话键值;查找与会话键值相对应的相同客户服务端口会话组内的红黑树,得到能够放置数据包的会话。
[0006]本申请在一较佳示例中可以进一步配置为:在所述获取客户端端口和服务端端口之前,还包括;
创建会话命令,所述会话命令包括客户端口数组和客户端口数组下标,所述客户端口数组下标代表不同的客户端端口;遍历所述客户端口数组,得到遍历结果;根据所述遍历结果和客户端口数组创建相对应的服务端口数组,并生成服务端口数组下标;将所述客户端口数组内的客户端端口的相同客户服务端口会话组的红黑树指针指向相对应的所述服务端端口数组内的服务端端口的相同客户服务端口会话组。
[0007]本申请在一较佳示例中可以进一步配置为:在所述判断相同客户服务端口会话组的会话个数是否为零之前,还包括;对所述客户端端口以及对应的服务端端口进行加锁。
[0008]本申请在一较佳示例中可以进一步配置为:还包括插入新会话;创建新红黑树,将所述相同客户服务端口会话组的红黑树指针指向新红黑树;创建新会话,将所述会话键值和所述新会话放入新红黑树中。
[0009]本申请在一较佳示例中可以进一步配置为:所述会话键值为uint64的整型值。
[0010]本申请在一较佳示例中可以进一步配置为:所述客户端端口数组下标的大小和服务端端口数组下标大小均为65535。
[0011]本申请目的二是提供查找密钥协商会话的系统。
[0012]本申请的上述申请目的二是通过以下技术方案得以实现的:查找密钥协商会话的系统,包括;获取模块,用于获取客户端端口和服务端端口;判断模块,用于判断相同客户服务端口会话组的会话个数是否为零;调取模块,用于调取与客户端端口相对应的客户端IP,用于调取与服务端端口相对应的服务端IP;确定模块,用于根据所述客户端IP和所述服务端IP确定会话键值;查找模块,用于查找与会话键值相对应的相同客户服务端口会话组内的红黑树,得到能够放置数据包的会话。
[0013]本申请目的三是提供一种智能终端。
[0014]本申请的上述申请目的三是通过以下技术方案得以实现的:一种智能终端,包括存储器和处理器,所述存储器上存储有能够被处理器加载并执行上述快速查找会话的方法的计算机程序。
[0015]本申请目的四是提供一种计算机存储介质,能够存储相应的程序。
[0016]本申请的上述申请目的四是通过以下技术方案得以实现的:一种计算机可读存储介质,存储有能够被处理器加载并执行上述任一查找密钥协商会话的方法的计算机程序。
[0017]综上所述,本申请包括以下有益技术效果:先通过客户端端口和服务端端口能够直接定位到相同客户服务端口会话组内的红黑树,因为知道客户端端口的地址和服务端端口的地址,可以直接一步定位,因此定位到对应红黑树的时间可以忽略不计。故,查找时间就是从相同客户服务端口会话组内的红黑树中找到对应的会话的时间,而本申请实施例将客户端IP和服务端IP组成一个能够打开红
黑树的会话键值,此会话键值是一个uint64的整型值,所以会话键值与红黑树的匹配时间为最短时间,相对于对象、字符串等逐字节匹配时间大大缩短。
附图说明
[0018]图1是本申请实施例的查找密钥协商会话的方法的流程示意图。
[0019]图2是本申请实施例的查找密钥协商会话的系统的系统示意图。
[0020]图3是本申请实施例的一种智能终端的结构示意图。
[0021]附图标记说明:21、获取模块;22、判断模块;23、调取模块;24、确定模块;25、查找模块;301、CPU;302、ROM;303、RAM;304、总线;305、I/O接口;306、输入部分;307、输出部分;308、存储部分;309、通信部分;310、驱动器;311、可拆卸介质。
具体实施方式
[0022]以下结合附图对本申请作进一步详细说明。
[0023]本具体实施例仅仅是对本申请的解释,其并不是对本申请的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本申请的权利要求范围内都受到专利法的保护。
[0024]本申请实施例提供查找密钥协商会话的方法,主要应用于恢复通信过程中的会话,并抓取完整交互过程。网络上的一次通信会话,会被拆成多个包来发送。多客户端多服务端之间的通信流量到监控系统是分散,杂乱无序的。例如A跟B的通信流量之间可能会穿插C跟D的通信,同时可能会穿插E跟F的通信,一秒钟可能会有上十万个通信方之间的流量。在海量流量监控系统里每秒钟至少会有十几万的数据包需要被实时处理,而每

个数据包都必须要做一次会话查找,并将数据包插入对应会话的操作,所以尽量缩短查找会话的时间,是提高系统性能的重要一环。
[0025]目前是直接将TCP会话存入一个hash表中,首先计算出本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.查找密钥协商会话的方法,其特征在于:包括;获取客户端端口和服务端端口,并根据所述客户端端口和服务端端口确定相对应的相同客户服务端口会话组,所述相同客户服务端口会话组包括锁、会话个数和红黑树指针;判断相同客户服务端口会话组的会话个数是否为零;若否,则调取与客户端端口相对应的客户端IP,调取与服务端端口相对应的服务端IP;根据所述客户端IP和所述服务端IP确定会话键值;查找与会话键值相对应的相同客户服务端口会话组内的红黑树,得到能够放置数据包的会话。2.根据权利要求1所述的查找密钥协商会话的方法,其特征在于:在所述获取客户端端口和服务端端口之前,还包括;创建会话命令,所述会话命令包括客户端口数组和客户端口数组下标,所述客户端口数组下标代表不同的客户端端口;遍历所述客户端口数组,得到遍历结果;根据所述遍历结果和客户端口数组创建相对应的服务端口数组,并生成服务端口数组下标;将所述客户端口数组内的客户端端口的相同客户服务端口会话组的红黑树指针指向相对应的所述服务端端口数组内的服务端端口的相同客户服务端口会话组。3.根据权利要求1所述的查找密钥协商会话的方法,其特征在于:在所述判断相同客户服务端口会话组的会话个数是否为零之前,还包括;对所述客户端端口以及对应的服务端端口进行加锁。4.根据权利要...

【专利技术属性】
技术研发人员:冯雅丽马卫局
申请(专利权)人:北京中海闻达信息技术有限公司
类型:发明
国别省市:

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

1