最佳答案
共享上网检测支持5种特征的识别:
(1)基于时间戳识别技术:经统计移动终端安卓、IOS发出的报文的syn包均携带时间戳,pc端则不带时间戳,根据这个特性把所有不带时间戳的流量认为是一个pc端,带时间戳的通过统计时间戳的轨迹识别出移动终端个数。每台移动终端系统启动时会给系统时间戳一个初值,后续流量中的时间戳值会在该基础上递增,并且不同移动终端其初始差值旺往往超过1个小时。通过聚类分析用户流量中携带的时间戳信息,并结合时间戳老化时间,可以分析出该用户的移动终端数量
(2)基于webRTC+flash COOKIE识别技术:该方式通过劫持用户的get请求,推送脚本代码,在用户终端设备获取唯一标识信息,并设置为COOKIE的形式发送给设备进行终端统计。主要通过两种方式搜集终端唯一性标识:基于webRTC技术获取内网IP地址和通过flash获取终端字库、操作系统版本、flash版本信息,汇总成一个crc校验码。两种方式以webRTC优先使用。设备检查get流量的COOKIE字段获取基于以上方式设置的信息,并分别统计IP个数以及crc校验个数,两则取最大值作为最终的终端数,由于添加了移动端过滤,该方式识别到的终端全部认为是PC端
(3)基于UA识别技术:User Agent中文名为用户代理,简称UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU类型、浏览器及版本。浏览器渲染引擎、浏览器语言、浏览器插件等。UA字段携带的信息比较繁琐很容易产生误报。为了解决误报问题,经过大量的抓包分析。对UA识别做了一些过滤,识别详细如下:通过浏览器访问网页带的UA,支持谷歌chrom浏览器、苹果sarari浏览器、火狐浏览器、360安全/极速浏览器、微软Edge、微软IE浏览器、百度浏览器、遨游浏览器、QQ浏览器、UC浏览器、搜狗浏览器、猎豹浏览器、世界之窗浏览器、MIUI浏览器、手机百度浏览器、Oppo收集默认浏览器、OPERA手机浏览器;如果UA包含windows关键字,只有accept字段包含application、xhtml+xml才进行识别。移动端口只对js或图片请求进行识别;如果UA包含MicroMessenger(微信流量),并且HOST域名是***.***、***.***、btrace.qq.com、wxsnsdythumb.wxs.qq.com,对UA进行识别;从UA中提取设备(Window/iphone/Android)和系统版本信息作为不同终端的标识。因为Android系统经常带错误的版本,Android系统版本不同来区分不同终端
(4)基于应用特征识别技术:有些应用中的流量会带有终端的标识(例如微信,搜狗输入法等),并且每个终端标识不一样;通过统计这些标识就可以知道每个用户共享的终端数目。这样就可以利用应用引擎的DPI功能识别出带有终端标识的流量,利用应用审计功能提取出终端的标识,通过记录统计这些标识进行共享检测。目前支持如下应用特征,IOS端的微信,360杀毒软件以及windows端的搜狗输入法。通过获取应用特征库中的唯一性标识,来统计终端个数。微信特征识别出的特征个数为移动终端数,搜狗特征识别出的特征个数为PC端终端数
(5)基于微信长连接识别技术:目前手机常用的应用就是微信,并且通常允许后台运行微信。通过分析微信的特性发现微信会存在一条用于保活的长连接。通过提取特征识别出微信流量,创建节点保存当前流量的信息,并记录会话创建的时间,以及当前时间,统计正反向报文个数。后续命中节点更新当前时间。最终计算更新时间和创建时间的差值若超过5分钟并且正反向报文都超过2个则认为是微信长连接。由于微信存在PC版,通过时间戳机制判断是否带了时间戳,详细区分微信是移动端还是PC端
(0)
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论