System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及通信,尤其涉及一种操作系统类型确定方法、装置、电子设备及存储介质。
技术介绍
1、目前,移动网络中使用android、ios和windows三种操作系统的终端占绝大多数,现有技术中对终端操作系统类型的判断主要是通过检测终端在http请求中携带的user-agent字段的方式。
2、但是,网络中很多app在http请求中填写的user-agent字段不准确,很容易被伪造,导致操作系统类型被误判的概率较大。另外随着网络流量中加密业务的大幅增加,加密流量无法通过检测user-agent字段来识别操作系统类型。
技术实现思路
1、为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种操作系统类型确定方法、装置、电子设备及存储介质。
2、第一方面,本申请提供了一种操作系统类型确定方法,包括:
3、根据来自于终端的上行tcp syn报文建立多个tcp流表;
4、根据各所述tcp流表中的首个上行tcp syn报文携带tcp时间戳值的情况,确定所述终端的操作系统类型。
5、可选地,根据各所述tcp流表中的首个上行tcp syn报文携带tcp时间戳值的情况,确定所述终端的操作系统类型,包括:
6、若各所述tcp流表中的首个所述上行tcp syn报文未携带tcp时间戳值,确定所述操作系统类型为第一操作系统类型。
7、可选地,根据各所述tcp流表中的首个上行tcp syn报文携带tcp时间戳值的情
8、若各所述tcp流表中的首个所述上行tcp syn报文携带tcp时间戳值,根据接收时刻位于预设时间段内的首个上行tcp syn报文携带的tcp时间戳值,确定tcp时间戳值的递增速率;
9、根据所述递增速率确定所述终端的操作系统类型。
10、可选地,根据接收时刻位于预设时间段内的首个上行tcp syn报文携带的tcp时间戳值,确定tcp时间戳值的递增速率,包括:
11、按照接收时刻的先后顺序,针对每个所述tcp时间戳值,确定所述tcp时间戳值是否位于对应的第一tcp时间戳区间内,所述第一tcp时间戳区间是根据前一个tcp时间戳值确定的;
12、若所述tcp时间戳值位于对应的第一tcp时间戳区间内,根据所述tcp时间戳值更新所述第一tcp时间戳区间,得到第二tcp时间戳区间;
13、若所述tcp时间戳值位于对应的第一tcp时间戳区间外,创建第三tcp时间戳区间;
14、确定所述第二tcp时间戳区间内累计的tcp时间戳值的第一数量及所述第三tcp时间戳区间内累计tcp时间戳值的第二数量;
15、根据所述第一数量和所述第二数量中大于或等于预设数量阈值的目标数量,以及,所述预设时间段确定所述递增速率。
16、可选地,根据所述第一数量和所述第二数量中大于或等于预设数量阈值的目标数量,以及,所述预设时间段确定所述递增速率,包括:
17、确定所述预设时间段对应的统计时长;
18、将所述统计时长与所述目标数量的比值确定为所述递增速率。
19、可选地,根据所述递增速率确定所述终端的操作系统类型,包括:
20、若所述递增速率大于预设阈值,确定所述操作系统类型为第二操作系统类型;
21、若所述递增速率小于或等于预设阈值,确定所述操作系统类型为第三操作系统类型。
22、可选地,根据来自于终端的上行tcp syn报文建立多个tcp流表,包括:
23、接收来自于终端的上行tcp syn报文,检测所述上行tcp syn报文的流标识信息;
24、若未查找到与所述流标识信息对应的流上下文,建立以所述流标识信息为索引的tcp流表;
25、若查找到与所述流标识信息对应的流上下文,跳过所述流上下文,返回执行接收来自于终端的上行tcp syn报文的步骤。
26、第二方面,本申请提供了一种操作系统类型确定装置,包括:
27、建立模块,用于根据来自于终端的上行tcp syn报文建立多个tcp流表;
28、确定模块,用于根据各所述tcp流表中的首个上行tcp syn报文携带tcp时间戳值的情况,确定所述终端的操作系统类型。
29、可选地,所述确定模块包括:
30、第一确定单元,用于若各所述tcp流表中的首个所述上行tcp syn报文未携带tcp时间戳值,确定所述操作系统类型为第一操作系统类型。
31、可选地,所述确定模块包括:
32、第二确定单元,用于若各所述tcp流表中的首个所述上行tcp syn报文携带tcp时间戳值,根据接收时刻位于预设时间段内的首个上行tcp syn报文携带的tcp时间戳值,确定tcp时间戳值的递增速率;
33、第三确定单元,用于根据所述递增速率确定所述终端的操作系统类型。
34、可选地,所述第二确定单元包括:
35、第一确定子单元,用于按照接收时刻的先后顺序,针对每个所述tcp时间戳值,确定所述tcp时间戳值是否位于对应的第一tcp时间戳区间内,所述第一tcp时间戳区间是根据前一个tcp时间戳值确定的;
36、更新子单元,用于若所述tcp时间戳值位于对应的第一tcp时间戳区间内,根据所述tcp时间戳值更新所述第一tcp时间戳区间,得到第二tcp时间戳区间;
37、创建子单元,用于若所述tcp时间戳值位于对应的第一tcp时间戳区间外,创建第三tcp时间戳区间;
38、第二确定子单元,用于确定所述第二tcp时间戳区间内累计的tcp时间戳值的第一数量及所述第三tcp时间戳区间内累计tcp时间戳值的第二数量;
39、第三确定子单元,用于根据所述第一数量和所述第二数量中大于或等于预设数量阈值的目标数量,以及,所述预设时间段确定所述递增速率。
40、可选地,所述第三确定子单元还用于:
41、确定所述预设时间段对应的统计时长;
42、将所述统计时长与所述目标数量的比值确定为所述递增速率。
43、可选地,所述第三确定单元包括:
44、第四确定子单元,用于若所述递增速率大于预设阈值,确定所述操作系统类型为第二操作系统类型;
45、第五确定子单元,用于若所述递增速率小于或等于预设阈值,确定所述操作系统类型为第三操作系统类型。
46、可选地,所述建立模块包括:
47、接收单元,用于接收来自于终端的上行tcp syn报文,检测所述上行tcp syn报文的流标识信息;
48、建立单元,用于若未查找到与所述流标识信息对应的流上下文,建立以所述流标识信息为索引的tcp流表;
49、返回执行单元,用于若查找到与所述流标识信息对应的流上下文,跳过所述流上本文档来自技高网...
【技术保护点】
1.一种操作系统类型确定方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,根据各所述TCP流表中的首个上行TCP SYN报文携带TCP时间戳值的情况,确定所述终端的操作系统类型,包括:
3.根据权利要求1所述的方法,其特征在于,根据各所述TCP流表中的首个上行TCP SYN报文携带TCP时间戳值的情况,确定所述终端的操作系统类型,包括:
4.根据权利要求3所述的方法,其特征在于,根据接收时刻位于预设时间段内的首个上行TCP SYN报文携带的TCP时间戳值,确定TCP时间戳值的递增速率,包括:
5.根据权利要求4所述的方法,其特征在于,根据所述第一数量和所述第二数量中大于或等于预设数量阈值的目标数量,以及,所述预设时间段确定所述递增速率,包括:
6.根据权利要求3所述的方法,其特征在于,根据所述递增速率确定所述终端的操作系统类型,包括:
7.根据权利要求1所述的方法,其特征在于,根据来自于终端的上行TCP SYN报文建立多个TCP流表,包括:
8.一种操作系统类型确定装置,其特征在
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有操作系统类型确定的程序,所述操作系统类型确定的程序被处理器执行时实现权利要求1-7任一所述的操作系统类型确定的步骤。
...【技术特征摘要】
1.一种操作系统类型确定方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,根据各所述tcp流表中的首个上行tcp syn报文携带tcp时间戳值的情况,确定所述终端的操作系统类型,包括:
3.根据权利要求1所述的方法,其特征在于,根据各所述tcp流表中的首个上行tcp syn报文携带tcp时间戳值的情况,确定所述终端的操作系统类型,包括:
4.根据权利要求3所述的方法,其特征在于,根据接收时刻位于预设时间段内的首个上行tcp syn报文携带的tcp时间戳值,确定tcp时间戳值的递增速率,包括:
5.根据权利要求4所述的方法,其特征在于,根据所述第一数量和所述第二数量中大于或等于预设数量阈值的目标数量,以及...
【专利技术属性】
技术研发人员:神兴鹏,
申请(专利权)人:中兴通讯股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。