APP下载

行为特征中大数据海量Web流量识别与研究

2022-03-17易灿刘彦姝

电子测试 2022年4期
关键词:IP地址分词名称

易灿,刘彦姝

(湖南大众传媒职业技术学院,湖南长沙,410100)

0 引言

目前,由于Web流量在整个网络中所占的比例越来越高,因此变得越来越重要。通用的流量分类方法仍然可以将Web流量划分为粗粒度类别,但并不能对它们进行细分。在当前的网络环境中,Web流量所承载的应用程序远远超出了简单的Web浏览任务。因此,尽管学术界和工业界已经在传统的IP流量识别和Web流量识别中提出一些有效方法,但是在当前Web流量占据主导地位的当前网络环境中,现有的方法远远不能满足对Web流量进行精细识别的要求。因此,在现有研究成果的基础上,继续寻求能够有效识别未知Web流量的理论和算法,对于提高网络服务质量、网络安全性能具有重要的理论意义。

1 Web浏览记录采集

1.1 数据采集硬件网络部署

由于以NetFlow是基于路由器策略转发机制的流缓存技术,因此,在路由器板卡上缓存NetFlow会出现空间不足的现象,在高速网络环境下,需要提前报告大量的流记录。由于缓存空间不足,影响了流量监控的效果。目前,基于硬件探针的网络流量监控设备和系统得到了广泛的应用。它不依赖路由器的高速缓存,而是通过使用拆分器或节点设备的信息流复制功能来获取消息的原始数据[1]。

1.2 数据采集系统软件架构

硬件探测设备的输出包括业务消息和流记录消息。商业消息携带用于商业识别和商业信息提取的特定商业信息,例如HTTP请求和响应消息。流量数据包是流的统计信息,包括诸如字节数与消息数等信息。此消息信息通过Monitor传递到收集器,该收集器负责对消息进行分类和解释。

2 固定网络中的Web流量精细化识别与分析

2.1 基本概念

随着HTTP协议在媒体网站中的广泛使用,Web流量已逐渐成为网络中的最大流量,消耗了运营商最多的带宽资源。为了优化网络带宽资源以提供更好的用户体验,操作员需要了解Web流量的来源。因此,对网络流量的精细识别是运营商优化网络带宽资源分配的基础。

2.2 未知流量及易知流量

典型的Web网页是带有链接到嵌入式对象的超文本文档。对象是驻留在服务器上的文件。网页通常包含两种对象,主要对象和嵌入对象。主对象是指包含HTML文档的对象,嵌入式对象是指链接指向超文本文档的对象。链接通常是一个URL,它告诉浏览器如何检索对象。典型的URL由三部分组成:方法、主字段以及路径。主域代表网络上计算机的名称,可以是域名或IP地址。出于便于记录的目的,大多数URL的主要域是域名。但是,带有某些嵌入式对象的URL的主要域部分是IP地址。

城域网出口处部署了高性能流量监控设备TMS。它可以监视所有用户访问该网站的记录,并且其监视结果以Web浏览记录的形式存储。对于流记录,我们可以根据URL信息轻松地将两个主页的相应Web浏览记录与网站相关联。这两个Web浏览记录的对应流量称作易知流量,而对应的IP地址称作易知IP。但是,与两个嵌入对象相对应的Web浏览记录的URL的Host字段是IP地址,我们无法确定其归属。与这两个流记录相对应的流量称为未知流量,而对应的IP地址称作未知IP。

2.3 Web交互过程建模

从Web流量生成过程的角度来看,Web流量可以视为一系列HTTP请求和响应。普通网页通常由HTML文档和一些嵌入式对象组成。用户单击网站链接或输入URL后,浏览器将首先请求HTML页面。将HTML完全加载到客户端后,浏览器会根据HTML文件中每个嵌入对象的链接发出请求,直到整个页面加载完毕。在网络端,通过部署流量监控设备,监控给用户访问所有服务器的记录,监控设备通常记录信息的访问时间t,访问用户id并访问服务器的IP地址,访问网站主域可以主要是域d,用于IP地址,IP,在访问URL之前访问站点可以表示为f,对流域名v的访问。单个Web浏览记录可以表示为,而所有Web浏览记录可以表示为。通过对这些记录的统计分析,我们可以找出这些服务器之间的关系,然后识别未知流量[2]。

3 动互联网中的Web流量精细化识别与分析

3.1 应用识别的研究背景及问题

与固定网络类似,移动互联网中的Web流量也是网络中最大的流量,而固定网络中Web流量的精细标识不能直接应用于移动互联网,因为用户访问的方式网络已经改变。对于运营商而言,将网络流量与网络侧的特定APP相关联,有利于网络的精细管理,有利于分析用户的行为特征,从而提供个性化服务。因此,在移动互联网中,应用维度的精细流识别是国内外研究的热点,具有现实意义。

3.2 应用识别的研究背景及问题

随着智能电话功能的增强,4G网络的普及以及数据服务费用的降低,移动互联网的流量正在迅速增加。因为基于HTTP协议易于构建Web应用程序并具有跨平台开发的优势,所以绝大多数移动应用程序都使用HTTP协议来传输客户端和服务器之间的交互数据,从而促使Web流量在移动网络中占主导地位,部分移动互联网Web流量甚至占总流量的90%以上。然而,现有的基于端口和协议的流量识别方法无法细分移动互联网中的Web流量。因此,对Web流量的精细识别已经成为研究的热点。关于移动互联网中Web流量的精细识别,现有方法可以分为三类:(1)把流量分为细粒度的服务类型;(2)与特定网站有关的流量;(3)与特定应用程序相关的流量[3]。

(1)方法通常根据HTTP数据包标题中的文件类型等信息对HTTP流量进行更精细的分类,可用于大致观察网络流量的分布。(2)方法通常将HTTP请求的“主机”字段与网站流量相关联,该流量主要用于网站流量分析;(3)方法通常根据HTTP消息头中的UA字段和Host56字段等指纹特征来获取生成HTTP请求的应用程序名称。当前,大多数(3)类方法仍保留在指纹特征提取的应用程序中,对于大多数中文应用程序,这些指纹特征通常是模糊的或不完整的应用程序名称。因此,将应用程序指纹与应用程序名称相关联是此类方法进行细粒度HTTP流量识别的关键。指纹信息的不完整和模糊不清是无法识别应用程序全名的主要原因。为了更清楚地描述该应用程序并找到该应用程序的更多功能,提供了两个思路:(1)根据应用产生的广告流量,找到应用的唯一标识号;(2)综合多个HTTP请求中的信息,以获得可以全面应用的指纹功能。

3.3 应用识别

3.3.1 应用识别系统框架

应用程序识别系统的每个模块的功能描述如下:

UA功能提取:从UA中提取一个字符串,该字符串唯一地标识相应的应用程序。

互联网知识的获取:该模块的功能是获取Internet上UA的功能的相关信息,并形成UA的功能文本。

分词:将从互联网获得的UA特征文本转换为单词。本文利用中文自然语言处理(NLP)开源项目组Ansj的中文分词工具,该开源项目在TRECNovelty中文分词系统中排名第一。分词工具的输入是一个句子,输出是一个单词/语音对。

应用程序名称存储库:为了避免分词算法将应用程序名称划分为不同的单词,本文实现了一个程序,该程序从应用程序商店中检索应用程序名称,并构建一个appName存储库来存储所有已检索的应用程序名称。代表词中的词性ository定义为appName。因此,当分词工具进行检测时,将与应用程序名称存储库中的单词相同的字符串分成一个单词。

应用程序识别:此模块的功能是从分词结果中选择与UA功能相对应的最可能的应用程序名称

3.3.2 应用识别算法

应用程序识别系统的输入数据是一组Web浏览记录,可以表示为。浏览记录包含请求的多个维度的信息。我们仅列出与本文内容相关的用户ID和用户代理UA。通过提取UA的功能并根据与这些功能相对应的APP用户的数量从最高到最低对它们进行排序来获得功能集。取x1,在搜索引擎中搜索,并将前5个搜索结果的标题作为x1的特征文本。根据某些规则将特征文本划分为单词,并计算每个单词的出现次数。在获得分词结果之后,将应用识别问题转化为从一系列候选词中选择一个词作为与UA特征相对应的应用名称,可以用公式(1)表示。

在公式;IPT代表查找X的应用程序的名称,而:F代表选择单词的规则。

基于以上分析,我们分为五个步骤来实现对应用程序名称的识别:

第1步:IPUA特征提取。IPHTTP消息的标头通常包含UA信息,该信息包含客户端的名称标识符。此外,它可能包含有关客户端的其他信息,例如电话类型,客户端操作系统类型等。因此,UA字段可能包含多个字符串,而我们所需要的只是代表应用程序的UA特征字符串。因此,您需要在UA字段中过滤掉无用的信息。查看大量实际的HTTP请求数据包后,我们分两步对UA进行了过滤。

第2步:获取网络知识。从UA个人资料排名最高的UA-100应用程序中删除用户,然后将这些UA作为关键字在搜索引擎中进行搜索,与移动应用程序相关联,以便使搜索结果可以在每个UA关键字之后增加,对于每个UA搜索结果,均以前五个字段的标题作为UA文本的特征。

第3步:分词。对于每个应用程序功能,计算功能文本中每个单词的出现时间。由于带有词性appName的单词是已知的应用程序名称,因此这些单词很可能是与UA功能相对应的应用程序名称,因此应将更大的权重赋予这些单词的出现次数。

第4步:应用程序识别。由于对应于不同应用指纹的候选应用名称的出现时间相差很大,为便于统一设置不同应用指纹的词选择阈值,应通过以下公式对对应于同一应用指纹的单词的出现时间进行标准化。等式(2)表明,对于某个应用程序指纹yn,其特征文本中的单词出现yn的次数越多,S值越大,并且xm的应用程序名称为yn的可能性就越大。

在寻找应用程序的UA特性的过程中,我们发现同一应用程序可能具有多个UA特性。这些UA特性可以分为两类。一种是可以用于唯一确定应用程序名称的UA特性,称为专用代理[4]。另一种是用于实现应用程序功能的功能代理。由于功能代理没有与其对应的实际应用,因此难以通过在搜索引擎中使用功能代理来搜索相应的应用名称,从而降低了应用名称识别的准确性。为了提高识别精度,需要过滤掉这些功能代理。

第5步:手动检查识别结果。为了正确识别应用指纹,将存储识别结果,以避免重复识别。对于已过滤的应用程序指纹,需验证过滤结果是否正确。

猜你喜欢

IP地址分词名称
分词在英语教学中的妙用
结巴分词在词云中的应用
结巴分词在词云中的应用
沪港通一周成交概况
沪港通一周成交概况
沪港通一周成交概况
沪港通一周成交概况
《IP地址及其管理》教学设计
计算机的网络身份IP地址
轻松明白网络IP地址以及子网划分问题