System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及通信,尤其涉及一种报文重组方法、装置、电子设备及存储介质。
技术介绍
1、目前,可以基于信令分析工具(例如wireshark)识别出传输控制协议(transmission control protocol,tcp)报文中的安全传输层协议(transport layersecurity,tls)报文的报文标识,在对tls报文进行重组时,可以基于信令分析工具识别每个tls报文的报文标识,然后对每个tls报文对应的tcp报文进行组包。
2、但是,上述方法中,信令分析工具仅能在tcp报文的开始位置识别出tls报文的报文标识,当tls报文的报文标识在tcp报文的中间或最后的位置时,信令分析工具无法准确识别报文标识,导致无法对该tls报文进行组包,降低了报文重组的准确性。
技术实现思路
1、本申请提供一种报文重组方法、装置、电子设备及存储介质,解决了当tls报文的报文标识在tcp报文的中间或最后的位置时,wireshark等信令分析工具无法准确识别报文标识,导致无法对该tls报文进行组包,降低了报文重组的准确性的技术问题。
2、第一方面,本申请提供一种报文重组方法,包括:确定第一加密报文的报文长度和该第一加密报文的首个字节的序列号;基于该第一加密报文的报文长度和该第一加密报文的首个字节的序列号,从目标数据流中确定出至少一个数据报文,该至少一个数据报文中每个数据报文的序列号大于或等于该第一加密报文的首个字节的序列号,并且小于或等于第一数值,该第一数值为该第一加密
3、可选地,该报文重组方法还包括:在该至少一个数据报文的报文长度大于该第一加密报文的报文长度的情况下,基于该第一加密报文的长度和该至少一个数据报文的报文长度,对第一数据报文进行分割处理,得到第一子报文和第二子报文,以使得其他数据报文的报文长度与该第一子报文的报文长度之和,等于该第一加密报文的报文长度,该第一数据报文为该至少一个数据报文中序列号最大的数据报文,该其他数据报文为该至少一个数据报文中除该第一数据报文以外的数据报文;对该其他数据报文与该第一子报文进行重组,得到该重组后的第一加密报文。
4、可选地,上述确定该第一加密报文的首个字节的序列号,具体可以包括:在该第一加密报文为该目标数据流中的第一个加密报文的情况下,将该目标数据流中的第一个数据报文的序列号,确定为该第一加密报文的首个字节的序列号。
5、可选地,上述确定该第一加密报文的首个字节的序列号,具体可以包括:在该第一加密报文不为该目标数据流中的第一个加密报文的情况下,将第二加密报文的长度和该第二加密报文的首个字节的序列号之和,确定为该第一加密报文的首个字节的序列号,该第二加密报文为该目标数据流中该第一加密报文的上一个加密报文。
6、可选地,上述基于该第一加密报文的报文长度和该第一加密报文的首个字节的序列号,从目标数据流中确定出至少一个数据报文,具体可以包括:基于该第一加密报文的首个字节的序列号确定首个数据报文,该首个数据报文为该第一加密报文的首个字节的序列号对应的数据报文,该首个数据报文的序列号等于该第一加密报文的首个字节的序列号;获取第二数据报文,该第二数据报文为该目标数据流中该首个数据报文之后的数据报文;在该第二数据报文的序列号大于该首个数据报文的序列号,并且小于或等于该第一数值的情况下,将该第二数据报文确定为该至少一个数据报文中的一个;基于该第一加密报文的报文长度和该第一加密报文的首个字节的序列号确定最后一个数据报文,该最后一个数据报文的序列号小于或等于该第一数值,并且该最后一个数据报文的序列号与该最后一个数据报文的报文长度之和,大于或等于该第一数值。
7、第二方面,本申请提供一种报文重组装置,包括:确定模块和处理模块;该确定模块,用于确定第一加密报文的报文长度和该第一加密报文的首个字节的序列号;该确定模块,还用于基于该第一加密报文的报文长度和该第一加密报文的首个字节的序列号,从目标数据流中确定出至少一个数据报文,该至少一个数据报文中每个数据报文的序列号大于或等于该第一加密报文的首个字节的序列号,并且小于或等于第一数值,该第一数值为该第一加密报文的报文长度与该第一加密报文的首个字节的序列号之和;该处理模块,用于在该至少一个数据报文的报文长度等于该第一加密报文的报文长度的情况下,基于该至少一个数据报文的序列号对该至少一个数据报文进行重组,得到重组后的第一加密报文。
8、可选地,该处理模块,还用于在该至少一个数据报文的报文长度大于该第一加密报文的报文长度的情况下,基于该第一加密报文的长度和该至少一个数据报文的报文长度,对第一数据报文进行分割处理,得到第一子报文和第二子报文,以使得其他数据报文的报文长度与该第一子报文的报文长度之和,等于该第一加密报文的报文长度,该第一数据报文为该至少一个数据报文中序列号最大的数据报文,该其他数据报文为该至少一个数据报文中除该第一数据报文以外的数据报文;该处理模块,还用于对该其他数据报文与该第一子报文进行重组,得到该重组后的第一加密报文。
9、可选地,该确定模块,具体用于在该第一加密报文为该目标数据流中的第一个加密报文的情况下,将该目标数据流中的第一个数据报文的序列号,确定为该第一加密报文的首个字节的序列号。
10、可选地,该确定模块,还具体用于在该第一加密报文不为该目标数据流中的第一个加密报文的情况下,将第二加密报文的长度和该第二加密报文的首个字节的序列号之和,确定为该第一加密报文的首个字节的序列号,该第二加密报文为该目标数据流中该第一加密报文的上一个加密报文。
11、可选地,该报文重组装置还包括获取模块;该确定模块,还具体用于基于该第一加密报文的首个字节的序列号确定首个数据报文,该首个数据报文为该第一加密报文的首个字节的序列号对应的数据报文,该首个数据报文的序列号等于该第一加密报文的首个字节的序列号;该获取模块,用于获取第二数据报文,该第二数据报文为该目标数据流中该首个数据报文之后的数据报文;该确定模块,还具体用于在该第二数据报文的序列号大于该首个数据报文的序列号,并且小于或等于该第一数值的情况下,将该第二数据报文确定为该至少一个数据报文中的一个;该确定模块,还具体用于基于该第一加密报文的报文长度和该第一加密报文的首个字节的序列号确定最后一个数据报文,该最后一个数据报文的序列号小于或等于该第一数值,并且该最后一个数据报文的序列号与该最后一个数据报文的报文长度之和,大于或等于该第一数值。
12、第三方面,本申请提供一种电子设备,包括:处理器和被配置为存储处理器可执行指令的存储器;其中,处理器被配置为执行该指令,以实现上述第一方面中任一种可选地报文重组方法。
13、第四方面,本申请提供一种计算机可读存储介质,本文档来自技高网...
【技术保护点】
1.一种报文重组方法,其特征在于,包括:
2.根据权利要求1所述的报文重组方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的报文重组方法,其特征在于,确定所述第一加密报文的首个字节的序列号,包括:
4.根据权利要求1或3所述的报文重组方法,其特征在于,确定所述第一加密报文的首个字节的序列号,包括:
5.根据权利要求1所述的报文重组方法,其特征在于,所述基于所述第一加密报文的报文长度和所述第一加密报文的首个字节的序列号,从目标数据流中确定出至少一个数据报文,包括:
6.一种报文重组装置,其特征在于,包括:确定模块和处理模块;
7.根据权利要求6所述的报文重组装置,其特征在于,
8.根据权利要求6所述的报文重组装置,其特征在于,
9.根据权利要求8所述的报文重组装置,其特征在于,
10.根据权利要求6所述的报文重组装置,其特征在于,所述报文重组装置还包括获取模块;
11.一种电子设备,其特征在于,所述电子设备包括:
12.一种计算机可读存储介质
...【技术特征摘要】
1.一种报文重组方法,其特征在于,包括:
2.根据权利要求1所述的报文重组方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的报文重组方法,其特征在于,确定所述第一加密报文的首个字节的序列号,包括:
4.根据权利要求1或3所述的报文重组方法,其特征在于,确定所述第一加密报文的首个字节的序列号,包括:
5.根据权利要求1所述的报文重组方法,其特征在于,所述基于所述第一加密报文的报文长度和所述第一加密报文的首个字节的序列号,从目标数据流中确定出至少一个数据报文,包括:
6.一种报文重组装置,其特征在于,包括:确定...
【专利技术属性】
技术研发人员:李京辉,郭省力,李德屹,
申请(专利权)人:中国联合网络通信集团有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。