CN109104381B - 一种基于第三方流量http报文的移动应用识别方法 - Google Patents
一种基于第三方流量http报文的移动应用识别方法 Download PDFInfo
- Publication number
- CN109104381B CN109104381B CN201810670461.8A CN201810670461A CN109104381B CN 109104381 B CN109104381 B CN 109104381B CN 201810670461 A CN201810670461 A CN 201810670461A CN 109104381 B CN109104381 B CN 109104381B
- Authority
- CN
- China
- Prior art keywords
- application
- message
- party
- flow
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2475—Traffic characterised by specific attributes, e.g. priority or QoS for supporting traffic characterised by the type of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Abstract
本发明公开一种基于第三方流量HTTP报文的移动应用识别方法,步骤是:用户使用自动化流量采集平台进行流量样本采集,并自动标记流量;用户统计HTTP报文关键字序列在数据集中出现的状况,判断该序列所对应的报文是否为第三方流量;统计HTTP报文组成序列,通过报文value值在同一应用中以及不同应用之间的出现状况判断value值是否与应用存在映射关系,从而建立第三方指纹库;然后,当捕捉到待测报文以后,首先判断该报文是否为第三方流量,然后查看第三方指纹库找到标识应用的value值,即应用ID,并通过ID与应用之间的映射关系来识别该报文的应用来源。此种方法利用统计方法判断第三方流量报文并提取报文中的应用ID,建立ID与应用之间的映射关系,从而进行应用识别。
Description
技术领域
本发明属于移动应用识别技术领域,具体涉及一种基于第三方流量HTTP报文的移动应用识别方法。
背景技术
随着移动智能终端的普及和移动应用市场的繁荣,移动流量占网络总体流量比例不断增加,如何对其进行有效监管日益受到关注。为了对移动流量进行细粒度监控,需要对流量的来源、功能等属性进行识别,而移动应用识别技术由于能够有效解决上述问题而受到广泛关注。
移动应用识别的一种常用途径是通过对广告等第三方流量中的应用特征进行识别。具体来说,第三方服务出于功能需要或者盈利的目的,常需要对应用身份进行识别,这就使得第三方流量报文中常会填充一些用于识别应用身份的value值作为应用的ID。它们与应用之间存在明显的映射关系,故而可以用来识别应用。但是,由于第三方服务商数量较多,产生的流量也有各自的模式,所以难以自动化地建立ID值与应用之间的映射关系;而且目前提取第三方流量应用ID的方法多基于语法上的分析,这种方法耗时且容易误判。
发明内容
本发明的目的,在于提供一种基于第三方流量HTTP报文的移动应用识别方法,其利用统计方法判断第三方流量报文并提取报文中的应用ID,建立ID与应用之间的映射关系,从而进行应用识别。
为了达成上述目的,本发明的解决方案是:
一种基于第三方流量HTTP报文的移动应用识别方法,包括如下步骤:
步骤1,用户通过使用自动化流量采集平台进行流量样本采集,并自动标记流量;
步骤2,用户通过统计HTTP报文关键字序列在数据集中出现的状况,判断该序列所对应的报文是否为第三方流量;
步骤3,统计HTTP报文组成序列,通过报文value值在同一应用中以及不同应用之间的出现状况判断value值是否与应用存在映射关系,从而建立第三方指纹库;然后,当捕捉到待测报文以后,首先判断该报文是否为第三方流量,然后查看第三方指纹库找到标识应用的value值,即应用ID,并通过ID与应用之间的映射关系来识别该报文的应用来源。
上述步骤1中,利用Android虚拟机以及Monkey搭建自动化测试平台,保证同一台模拟器上同一时间最多只安装一个待测应用,从而通过模拟器编号以及应用运行时间段为测试平台触发的流量进行标记。
上述步骤2中,使用HTTP报文剔除value值以后的关键字序列来表征报文,并通过该序列在多个不同应用中出现的次数来判断该序列所对应的报文是否来自第三方服务。
其中,使用域名、资源路径及query和content域中的参数名组成关键字序列。
上述步骤3中,如果不同报文组成序列中某一位置上的值在同一应用内相同,在多个不同应用之间各不相同,则认为这个位置的value值是与应用存在映射关系的应用ID。
其中,使用域名、路径、query和content与中的参数名与参数值作为报文组成序列。
根据调查发现,同一服务商为不同应用提供服务时产生的流量除了个别位置填充的value值以外都完全相同,而且这些value之中即存在用于识别应用身份的应用ID。基于此,本发明提供的识别方法与现有技术相比,具有以下优点:
(1)本发明采用统计方法判断一个HTTP报文是否为第三方服务流量;
(2)本发明采用统计方法提取一个第三方流量报文的应用ID,并使用这个ID值来识别应用,方法简单,计算量较小。
附图说明
图1是本发明的流程图。
具体实施方式
以下将结合附图,对本发明的技术方案及有益效果进行详细说明。
如图1所示,本发明提供一种基于第三方流量HTTP报文的移动应用识别方法,包括以下步骤:
(1)流量数据自动化采集:
用户通过使用自动化流量采集平台进行流量样本采集,并自动标记流量。利用Android虚拟机以及Monkey等模糊测试工具搭建自动化测试平台,保证同一台模拟器上同一时间最多只安装一个待测应用,这样就可以通过模拟器编号以及应用运行时间段为测试平台触发的流量进行标记;进行应用识别之前需要大量已经标记好的流量样本。
(2)识别第三方流量:
用户通过统计HTTP报文关键字序列在数据集中出现的状况,判断该序列所对应的报文是否为第三方流量。使用HTTP报文剔除value值以后的关键字序列来表征报文,具体是将报文中的域名、资源路径与query和content两个域中的参数名顺序拼接起来形成关键字序列,用以表征报文。在建立第三方报文关键字序列库后就可以对待测报文进行匹配以判断该报文是否属于第三方服务。同时,如果同样的关键字序列在多个不同应用中出现,则认为该序列对应的报文来自第三方服务的流量。以此为依据建立第三方流量库,当待测报文关键字序列在该流量库中,则可以认为这个报文是第三方服务的流量。
(3)利用第三方流量识别应用:
用户统计HTTP报文组成序列,通过报文value值在同一应用中以及不同应用之间的出现状况判断value值是否与应用存在映射关系,从而建立第三方指纹库。然后,通过判断第三方流量中特殊的value值完成应用识别。将报文中的域名、资源路径与query和content两个域中的参数名和参数值顺序拼接起来形成序列。将该序列在多个应用之间进行比对,如果该序列某一位置的值在同一个应用中不变,但在多个应用之间都不相同,则可以认为这个值是第三方服务用于识别应用的应用ID。根据上述规则建立应用ID与应用之间的映射关系,即可以通过应用ID识别待测报文所属应用。
实施例:
本实施例中的基于第三方流量HTTP报文的移动应用识别方法,包括以下步骤:
一、流量数据自动化采集:
首先通过爬虫工具下载大量移动应用;然后基于Android虚拟机和模糊测试工具Monkey的移动应用自动化测试平台在应用库中选取应用,自动化安装并运行应用以产生流量;接着使用MITMPROXY中间人代理工具对虚拟机上应用产生的流量进行监听和保存,记录流量日志;最后使用脚本工具通过流量日志判断应用来源从而为流量打上标记,然后将其存入流量数据库。特别的,由于模拟器上同一时间最多只能运行一个应用,所以可以通过监听到报文的时间以及其模拟器来源来判断报文由哪一个应用产生,所以可以进行应用标记。
二、识别第三方流量:
用户通过统计HTTP报文关键字序列在数据集中出现的状况,判断该序列所对应的报文是否为第三方流量,在建立第三方报文关键字序列库以后就可以对待测报文进行匹配以判断该报文是否属于第三方服务。
由于同一个第三方服务的交互协议总是固定的,所以其格式,即关键字序列总是不变的,会改变的只有因为搭载信息不同而取值不同的value。为此,将每个报文中的value除去,留下其域名、资源路径、query和content中的关键字序列。若该序列在3个或3个以上的应用中出现,则认为该报文属于第三方流量,并将该关键字序列thirdPktStr存储下来。
特别的,当这些应用属于同一个应用的不同版本或者属于同一家厂商同一系列的不同产品时,它们很可能使用了公司内部的公共服务,但是这些应用产生的相似流量却不应该归类为第三方流量。通常开发者会将apk命名为‘domain1.domain2…name_version.apk’的形式,而相同厂商的产品名中‘domain1.domain2’常相同。例如,com.youdao.dict_6070000与com.youdao.note_65是网易有道旗下的两款产品,其中‘com.youdao’指明了产品厂商和系列,而‘_6070000’与‘_65’又代表了某一个版本的序列号。据此对应用厂商与版本进行判断,若应用的‘domain1.domain2’相同,则它们来自同一厂商,若应用仅‘_version’的部分不同,则认为它们实际上是同一款应用。算法1描述了整个过程:
三、利用第三方流量识别应用:
统计HTTP报文组成序列,通过报文value值在同一应用中以及不同应用之间的出现状况判断value值是否与应用存在映射关系,从而建立第三方指纹库。然后,通过判断第三方流量中特殊的value值完成应用识别。
在进一步研究第三方流量以后,发现部分特殊报文某一特定位置的value与应用之间存在一一对应的关系,它可以作为一个有效特征identifier,对应用识别提供帮助。本发明设计了第三方标识提取算法对其进行提取,建立identifier与应用之间的映射表,从而识别应用。
与应用有对应关系的identifier值存在以下特征:
其中报文种类可以使用thirdPktStr进行表示。假设consistList为报文的key、value序列,identifier提取算法如下所示,thirdPktStr与consistList示例如表1所示。
表1 thirdPktStr与consistList示例
第三方标识提取方法如算法2所示,最后将ID与应用之间的映射关系记录在thirdIdTable表中:
在报文识别阶段,首先将报文的结构序列thirdPktStr提取出来,查询是否有thirdPktStr的记录,若有则提取该报文consistList中的元素进行拼接而形成feature,最后通过查询thirdIdTable获知该feature对应的应用。
综合上述,本发明一种基于第三方流量HTTP报文的移动应用识别方法,通过搭建基于Android虚拟机以及模糊测试工具的自动化流量采集平台收集并标记应用流量,实现数据样本的自动化获取;在采集到流量数据集的基础上,使用基于统计的第三方流量HTTP报文识别方法,识别第三方服务流量,并自动建立第三方流量中特定位置的value值与应用之间的对应关系,从而识别应用。本发明使用户可以自动识别移动应用流量中属于第三方服务的HTTP报文,并通过这些报文识别应用。
以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。
Claims (6)
1.一种基于第三方流量HTTP报文的移动应用识别方法,其特征在于包括如下步骤:
步骤1,用户通过使用自动化流量采集平台进行流量样本采集,并自动标记流量;
步骤2,用户通过统计HTTP报文关键字序列在数据集中出现的状况,判断该序列所对应的报文是否为第三方流量;
步骤3,统计HTTP报文组成序列,通过报文value值在同一应用中以及不同应用之间的出现状况判断value值是否与应用存在映射关系,从而建立第三方指纹库;然后,当捕捉到待测报文以后,首先判断该报文是否为第三方流量,然后查看第三方指纹库找到标识应用的value值,即应用ID,并通过ID与应用之间的映射关系来识别该报文的应用来源。
2.如权利要求1所述的一种基于第三方流量HTTP报文的移动应用识别方法,其特征在于:所述步骤1中,利用Android虚拟机以及Monkey搭建自动化测试平台,保证同一台模拟器上同一时间最多只安装一个待测应用,从而通过模拟器编号以及应用运行时间段为测试平台触发的流量进行标记。
3.如权利要求1所述的一种基于第三方流量HTTP报文的移动应用识别方法,其特征在于:所述步骤2中,使用HTTP报文剔除value值以后的关键字序列来表征报文,并通过该序列在多个不同应用中出现的次数来判断该序列所对应的报文是否来自第三方服务。
4.如权利要求3所述的一种基于第三方流量HTTP报文的移动应用识别方法,其特征在于:使用域名、资源路径及query和content域中的参数名组成关键字序列。
5.如权利要求1所述的一种基于第三方流量HTTP报文的移动应用识别方法,其特征在于:所述步骤3中,如果不同报文组成序列中某一位置上的值在同一应用内相同,在多个不同应用之间各不相同,则认为这个位置的value值是与应用存在映射关系的应用ID。
6.如权利要求5所述的一种基于第三方流量HTTP报文的移动应用识别方法,其特征在于:使用域名、路径、query和content中的参数名与参数值作为报文组成序列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810670461.8A CN109104381B (zh) | 2018-06-26 | 2018-06-26 | 一种基于第三方流量http报文的移动应用识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810670461.8A CN109104381B (zh) | 2018-06-26 | 2018-06-26 | 一种基于第三方流量http报文的移动应用识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109104381A CN109104381A (zh) | 2018-12-28 |
CN109104381B true CN109104381B (zh) | 2021-11-02 |
Family
ID=64844985
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810670461.8A Active CN109104381B (zh) | 2018-06-26 | 2018-06-26 | 一种基于第三方流量http报文的移动应用识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109104381B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111222547B (zh) * | 2019-12-30 | 2021-08-17 | 中国人民解放军国防科技大学 | 一种面向移动应用的流量特征提取方法及系统 |
CN111371700A (zh) * | 2020-03-11 | 2020-07-03 | 武汉思普崚技术有限公司 | 一种应用于正向代理环境中的流量识别方法及装置 |
CN112671671B (zh) * | 2021-03-16 | 2021-06-29 | 北京邮电大学 | 基于第三方库的第三方流量识别方法、装置及设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6870830B1 (en) * | 2000-11-30 | 2005-03-22 | 3Com Corporation | System and method for performing messaging services using a data communications channel in a data network telephone system |
CN102065017B (zh) * | 2010-12-31 | 2013-08-28 | 华为数字技术(成都)有限公司 | 一种报文处理方法及装置 |
CN103312565B (zh) * | 2013-06-28 | 2015-12-23 | 南京邮电大学 | 一种基于自主学习的对等网络流量识别方法 |
US9148440B2 (en) * | 2013-11-25 | 2015-09-29 | Imperva, Inc. | Coordinated detection and differentiation of denial of service attacks |
CN105099803B (zh) * | 2014-05-15 | 2019-01-08 | 中国移动通信集团公司 | 一种流量识别方法、应用服务器及网元设备 |
CN107357612A (zh) * | 2017-06-27 | 2017-11-17 | 聚好看科技股份有限公司 | 应用程序升级检测方法及装置 |
-
2018
- 2018-06-26 CN CN201810670461.8A patent/CN109104381B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109104381A (zh) | 2018-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109104381B (zh) | 一种基于第三方流量http报文的移动应用识别方法 | |
CN103051637A (zh) | 用户识别方法与装置 | |
CN110245273B (zh) | 一种获取app业务特征库的方法及相应的装置 | |
CN110648172B (zh) | 一种融合多种移动设备的身份识别方法和系统 | |
CN103297267B (zh) | 一种网络行为的风险评估方法和系统 | |
CN108632111A (zh) | 一种基于日志的服务链路监控方法 | |
CN109656792A (zh) | 基于网络调用日志的应用性能分析方法、装置、计算机设备及存储介质 | |
CN112751835B (zh) | 一种流量预警方法、系统、设备和存储介质 | |
CN111078513A (zh) | 日志处理方法、装置、设备、存储介质及日志告警系统 | |
CN111581067B (zh) | 一种数据采集方法和装置 | |
CN107562485B (zh) | 一种自动采集补丁数据的方法及装置 | |
CN110287700A (zh) | 一种iOS应用安全分析方法及装置 | |
CN110891071A (zh) | 一种网络流量信息获取方法、装置及其相关设备 | |
CN107704494B (zh) | 一种基于应用软件的用户信息收集方法和系统 | |
CN111581110B (zh) | 一种业务数据准确性检测方法、装置、系统及存储介质 | |
CN112068979B (zh) | 一种业务故障确定方法及装置 | |
CN102469450B (zh) | 一种手机病毒特征的识别方法及装置 | |
CN107391551B (zh) | 一种基于数据挖掘的web业务数据分析方法及系统 | |
CN114610689B (zh) | 一种分布式环境中请求日志的记录和分析方法 | |
CN106161403A (zh) | 应用程序复原方法、装置以及系统 | |
CN115576831A (zh) | 一种测试案例推荐方法、装置、设备及存储介质 | |
CN111131351B (zh) | 一种物联网设备型号的确认方法及装置 | |
CN111105259B (zh) | 一种用户识别方法、装置、电子设备和存储介质 | |
CN113190458A (zh) | 自动埋点数据分析的方法、装置、计算机设备和存储介质 | |
CN114666231B (zh) | 一种多云环境下可视化运维管理方法、系统及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |