【技术实现步骤摘要】
一种TCP协议报文过滤方法及装置
本专利技术涉及报文处理
,具体而言,涉及一种TCP协议报文过滤方法及装置。
技术介绍
对于网络协议中的TCP协议,是一个面向流的数据处理协议,报文内容没有边界,需要上层应用自定义协议边界来处理。基于上述原因,在底层协议栈处理一些基于TCP协议的上层应用协议,如http协议的报文内容,在需要处理一些白名单过滤的模块开发时,往往会在复杂的外部网络环境中,由于报文的粘包、半包导致出现一些漏包处理问题。对这些出现粘包、半包的报文不易进行分析,也不易进行追踪处理,而未被正确处理的报文,则又会进一步影响系统的可用性,对于一些黑名单处理模块则会影响其系统的安全性。
技术实现思路
本专利技术的目的在于提供一种TCP协议报文过滤方法及装置,用以改善现有技术中由于报文的粘包和半包导致的漏包处理的问题。第一方面,本申请实施例提供一种TCP协议报文过滤方法,该方法包括:获取报文,并对报文进行预筛选处理,以获取目标报文,根据预先创建的白名单匹配表中预先设置的至少一个待过滤白名单字符串对目标报文进行白名单匹配,得到匹配结果。最后根据匹配结果和/或白名单匹配表对目标报文进行过滤处理。上述实现过程中,先对报文进行预筛选处理,以筛选出需要进行过滤的目标报文,可以将不是过滤处理的其他报文筛选掉,从而提高后续过滤处理的效率。然后可以根据白名单匹配表中预先设置的至少一个待过滤白名单字符串对目标报文进行白名单匹配,若匹配结果表示匹配通过则可以直接放行该目标报文。而若匹配结果表示匹配不 ...
【技术保护点】
1.一种TCP协议报文过滤方法,其特征在于,所述方法包括:/n获取报文,并对所述报文进行预筛选处理,以获取目标报文;/n根据预先创建的白名单匹配表中预先设置的至少一个待过滤白名单字符串对所述目标报文进行白名单匹配,得到匹配结果;/n根据所述匹配结果和/或所述白名单匹配表对所述目标报文进行过滤处理;/n其中,根据预先创建的白名单匹配表中预先设置的至少一个待过滤白名单字符串对所述目标报文进行白名单匹配,得到匹配结果的步骤,包括:/n获取所述目标报文的报文数据;/n若所述至少一个待过滤白名单字符串中存在所述报文数据的子串,则确定所述匹配结果为全匹配;/n若所述至少一个待过滤白名单字符串中不存在所述报文数据的子串,则确定所述匹配结果为未匹配;/n其中,根据所述匹配结果和/或所述白名单匹配表对所述目标报文进行过滤处理的步骤,包括:/n若所述匹配结果为未匹配,则获取所述目标报文的标识字符;/n查找所述白名单匹配表中是否存在所述标识字符;/n若不存在,则根据所述至少一个待过滤白名单字符串以及所述目标报文的报文数据进行头部匹配处理;/n若所述头部匹配处理中匹配上的报文数据的最大匹配长度大于等于预设值, ...
【技术特征摘要】
1.一种TCP协议报文过滤方法,其特征在于,所述方法包括:
获取报文,并对所述报文进行预筛选处理,以获取目标报文;
根据预先创建的白名单匹配表中预先设置的至少一个待过滤白名单字符串对所述目标报文进行白名单匹配,得到匹配结果;
根据所述匹配结果和/或所述白名单匹配表对所述目标报文进行过滤处理;
其中,根据预先创建的白名单匹配表中预先设置的至少一个待过滤白名单字符串对所述目标报文进行白名单匹配,得到匹配结果的步骤,包括:
获取所述目标报文的报文数据;
若所述至少一个待过滤白名单字符串中存在所述报文数据的子串,则确定所述匹配结果为全匹配;
若所述至少一个待过滤白名单字符串中不存在所述报文数据的子串,则确定所述匹配结果为未匹配;
其中,根据所述匹配结果和/或所述白名单匹配表对所述目标报文进行过滤处理的步骤,包括:
若所述匹配结果为未匹配,则获取所述目标报文的标识字符;
查找所述白名单匹配表中是否存在所述标识字符;
若不存在,则根据所述至少一个待过滤白名单字符串以及所述目标报文的报文数据进行头部匹配处理;
若所述头部匹配处理中匹配上的报文数据的最大匹配长度大于等于预设值,则获取所述头部匹配的匹配信息;
将所述匹配信息以及所述匹配上的报文数据存储至所述白名单匹配表中后,放行所述目标报文。
2.如权利要求1所述的方法,其特征在于,对所述报文进行预筛选处理,以获取目标报文的步骤,包括:
获取所述报文的协议类型;
若所述协议类型为目标类型,则获取所述报文的目标端口号;
若所述目标端口号为预设端口号,则获取所述报文的长度;
若所述长度不小于预设长度,则确定所述报文为所述目标报文。
3.如权利要求1所述的方法,其特征在于,根据所述匹配结果和/或所述白名单匹配表对所述目标报文进行过滤处理的步骤,还包括:
查找所述白名单匹配表中是否存在所述标识字符;
若存在,则获取所述白名单匹配表中与所述标识字符对应的匹配上的报文数据以及其匹配信息;
若所述匹配信息中的匹配类型为头部匹配,则根据所述至少一个待过滤白名单字符串以及所述目标报文的报文数据进行尾部匹配处理;
若所述尾部匹配处理的最大匹配长度大于等于预设值,则获取所述头部匹配的匹配信息以及所述尾部匹配的匹配信息;
根据所述头部匹配的匹配信息以及所述尾部匹配的匹配信息计算匹配值;
若所述匹配值大于等于预设匹配值,则放行所述目标报文。
4.如权利要求3所述的方法,其特征在于,根据所述头部...
【专利技术属性】
技术研发人员:赵熙,
申请(专利权)人:南京云信达科技有限公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。