CN111224894A - 一种针对iOS设备的流量采集标记方法及系统 - Google Patents
一种针对iOS设备的流量采集标记方法及系统 Download PDFInfo
- Publication number
- CN111224894A CN111224894A CN201911400831.7A CN201911400831A CN111224894A CN 111224894 A CN111224894 A CN 111224894A CN 201911400831 A CN201911400831 A CN 201911400831A CN 111224894 A CN111224894 A CN 111224894A
- Authority
- CN
- China
- Prior art keywords
- flow
- traffic
- acquiring
- related information
- client
- 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.)
- Pending
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/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种针对iOS设备的流量采集标记方法及系统。该方法包括:获取客户端的规则列表;所述规则列表包括所有代理软件的bundle ID;所述代理软件为iOS设备上待监控的软件;获取客户端发送的所述代理软件的流量相关信息;获取服务端捕获的所有流量数据;所述服务端捕获的所有流量数据为所述iOS设备上待监控的所有软件的网络流对应的流量数据;获取流量分类提取规则;根据所述流量相关信息,按照所述流量提取规则,从所述服务器捕获的所有流量数据中提取分类流量。本发明可以实现iOS设备的流量采集工作。
Description
技术领域
本发明涉及移动网络流量采集领域,特别是涉及一种针对iOS设备的流量采集标记方法及系统。
背景技术
针对移动网络流量以及移动网络流量相关应用的研究在国内外一直都是人们研究的热点。和Android相比,iOS本身是一个完全封闭的系统,因此,迄今为止的文献主要集中在对Android平台下的流量研究。
总结前人的成果,Android平台的流量采集主要可以划分为基于客户端-服务器VPN的流量采集、基于移动端单机VPN的流量采集、基于操作系统的流量采集、在设备上的流量测量和被动流量采集五种实现方式。(1)基于客户端-服务器VPN的流量采集,在Android4.0及以后的平台上,这种代理客户端一般可以采用VPNService实现,而在iOS平台上鲜有人发表相关成果,因此该方式无法应用于iOS平台。(2)基于移动端单机VPN的流量采集,这种流量捕获方式不利于大规模的流量捕获,而且其对移动端有能耗负担和存储负担,如何将众多移动端上捕获到的流量以及流量相关的信息组织起来是这种流量采集方式所面临的难题。(3)基于操作系统的流量采集,更多依赖系统级别工具的帮助。众所周知,无论是iOS抑或是Android,用户在一般情况下进行使用的时候都仅仅是以用户态进行对系统资源的访问,而且都是在系统本身所提供的界面内进行操作,基本上不会逾越手机操作系统所制定的界限。然而,通过root或者越狱的方式,用户可以获取移动操作系统的最高权限——root权限,从而执行任意命令,在这种情况下,用户完全可以利用root特权编写工具,直接利用Linux下的编程技巧来完成流量采集的目的。然而,现在的移动操作系统对安全性越来越关注,而且其功能越来越人性化和完备化,用户不再像以前一样对root自己的设备有迫切的需求,想要通过基于操作系统的流量采集方式捕获大量的移动流量数据仍旧存在着难度。(4)在设备上的流量测量,严格意义上其实不是一种流量采集方式,而是一种获取流量相关的信息的方式。在这种方式中,获取流量相关的信息往往仅需要一个简单的Web应用或者手机App即可。通过在设备上的流量测量,研究者可以利用网络操作来产生经过构造的流量,通过服务器端的支持,可以完成带宽的测量和网络延迟的测量等等。这种方式往往对手机权限没有特别的要求,然而利用它能够获得的信息也十分有限。(5)被动流量采集,区别于前面几种流量采集方式。在前面几种方式中,流量采集往往是有目的性的,一般由用户发起。而在被动流量采集方式中,流量采集发生的位置一般在一些关键网络节点上,比如网络服务提供商的某些骨干网络节点。将流量采集工具部署在大型流量节点上,往往是为了能够尽可能地捕获更多的用户的流量信息。这种方式捕获流量的规模可以十分巨大,但是失去了客户端的支持,捕获到的流量没有相关信息的支撑,对某些科学研究的辅助效果有限。而且这种流量采集方式需要拥有大型网络节点的组织的支持,只有对相对较大的网络节点有控制权限才能够得以实施。
因此,对于Android平台的流量采集工作存在各种缺陷,而且由于iOS系统的封闭性能,基于Android平台的流量采集方式也无法直接应用于iOS平台。
发明内容
本发明的目的是提供一种针对iOS设备的流量采集标记方法及系统,以实现iOS设备的流量采集工作。
为实现上述目的,本发明提供了如下方案:
一种针对iOS设备的流量采集标记方法,包括:
获取客户端的规则列表;所述规则列表包括所有代理软件的bundle ID;所述代理软件为iOS设备上待监控的软件;
获取客户端发送的所述代理软件的流量相关信息;
获取服务端捕获的所有流量数据;所述服务端捕获的所有流量数据为所述iOS设备上待监控的所有软件的网络流对应的流量数据;
获取流量分类提取规则;
根据所述流量相关信息,按照所述流量提取规则,从所述服务器捕获的所有流量数据中提取分类流量。
可选的,所述获取客户端发送的所述代理软件的流量相关信息,之前还包括:
所述客户端通过分应用代理采集网络流的两个子类的属性信息,得到所述代理软件的网络流的流量相关信息;所述流量相关信息包括网络流的软件来源、设备来源和数据信息,所述数据信息包括数据包长度、数据包协议类型、数据包时间、数据包源/目的的IP地址和端口号;
将所述流量相关信息以JSON形式,采用TCP协议上传至所述服务端。
可选的,所述获取服务端捕获的所有流量数据,之后还包括:
根据所述流量相关信息对所有流量数据进行分类存储。
可选的,所述获取流量分类提取规则,具体包括:
获取流量提取的类别;所述类别包括按iOS设备提取和按代理软件提取;
获取所述类别对应的存储目录;
获取所述存储目录对应的存储路径;
根据所述类别、所述存储目录和所述存储路径,确定所述流量分类提取规则。
可选的,所述根据所述流量相关信息,按照所述流量提取规则,从所述服务器捕获的所有流量数据中提取分类流量,之后还包括:
获取特征提取规则;
按照所述特征提取规则,提取所述分类流量中每条网络流的特征。
本发明还提供一种针对iOS设备的流量采集标记系统,包括:
规则列表获取模块,用于获取客户端的规则列表;所述规则列表包括所有代理软件的bundle ID;所述代理软件为iOS设备上待监控的软件;
流量相关信息获取模块,用于获取客户端发送的所述代理软件的流量相关信息;
流量数据获取模块,用于获取服务端捕获的所有流量数据;所述服务端捕获的所有流量数据为所述iOS设备上待监控的所有软件的网络流对应的流量数据;
流量分类提取规则获取模块,用于获取流量分类提取规则;
分类流量提取模块,用于根据所述流量相关信息,按照所述流量提取规则,从所述服务器捕获的所有流量数据中提取分类流量。
可选的,还包括:
客户端采集模块,用于通过客户端的分应用代理采集网络流的两个子类的属性信息,得到所述代理软件的网络流的流量相关信息;所述流量相关信息包括网络流的软件来源、设备来源和数据信息,所述数据信息包括数据包长度、数据包协议类型、数据包时间、数据包源/目的的IP地址和端口号;
客户端上传模块,用于通过客户端将所述流量相关信息以JSON形式,采用TCP协议上传至所述服务端。
可选的,还包括:
存储模块,用于在获取服务端捕获的所有流量数据之后,根据所述流量相关信息对所有流量数据进行分类存储。
可选的,所述流量分类提取规则获取模块,具体包括:
类别获取单元,用于获取流量提取的类别;所述类别包括按iOS设备提取和按代理软件提取;
存储目录获取单元,用于获取所述类别对应的存储目录;
存储路径获取单元,用于获取所述存储目录对应的存储路径;
流量分类提取规则确定单元,用于根据所述类别、所述存储目录和所述存储路径,确定所述流量分类提取规则。
可选的,还包括:
特征提取规则获取模块,用于在根据所述流量相关信息,按照所述流量提取规则,从所述服务器捕获的所有流量数据中提取分类流量之后,获取特征提取规则;
特征提取模块,用于按照所述特征提取规则,提取所述分类流量中每条网络流的特征。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
(1)大规模流量收集:本申请可以监控和收集大规模的来自iOS设备的移动网络流量,其用户量越大越好,因为更多的用户意味着可以收集更多的移动网络流量。
(2)细粒度的流量信息:本申请的流量相关信息中除了网络报文的常规属性(如源/目的IP地址和端口等)外,还包括网络报文所属的APP种类和网络流量来自于哪一台设备的信息。所有这些信息都被组织得井井有条,以便研究人员可以方便地使用这些信息。
(3)同时监控多个APP流量:无论各种时下流行的APP如何被实现,本发明都能够监控和收集各种APP的流量信息。
(4)对用户透明:本发明对于软件监控的规则列表在客户端进行显示,用户可以随时查看,并且可以随时允许与拒绝流量采集过程。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明针对iOS设备的流量采集标记方法的流程示意图;
图2为本发明客户端的用户界面示意图;
图3为本发明针对iOS设备的流量采集标记系统的结构示意图;
图4为本发明具体实施案例的客户端架构图;
图5为本发明实施案例中报文信息样例。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1为本发明针对iOS设备的流量采集标记方法的流程示意图。如图1所示,本发明针对iOS设备的流量采集标记方法具体包括以下步骤:
步骤100:获取客户端的规则列表。所述规则列表包括所有代理软件的bundle ID,代理软件为iOS设备上待监控的软件。规则列表以配置的方式提前写入客户端中。用户可以在客户端随时查看配置信息和规则列表。图2为本发明客户端的用户界面示意图。如图2所示,客户端的用户界面包括三个组件,分别为主面板、配置面板和日志面板,图2中a部分为主面板界面,图2中b部分为配置面板界面,图2中c部分为日志面板界面。
主面板为用户提供了一个切换开关,用于打开/关闭客户端的分代理应用(PerAppProxy,PAP)。切换开关下方是一个名为testVPNPAP的PAP配置列表,其中可以包含多个的不同PAP配置(图中只展示了一个),用户可以选择通过点击配置选择不同的PAP配置进行使用。通过点击配置列表中某个PAP配置表项右侧的信息按钮,可以得到图2中b部分的配置面板界面,该界面展示出PAP配置的详细信息,主要包括PAP的名称,代理服务器的IP地址及端口号,以及该PAP所包含的规则列表内容。图2中b部分中第一行为PAP的名称,第二行为代理服务器的IP地址,第三行至第八行为规则列表。其中,第三行为待监控软件“speedtest”的bundle ID,第四行为第三行为待监控软件“抖音”的bundle ID,第五行为待监控软件“爱奇艺”的bundle ID,第六行为待监控软件“QQ国际版”的bundle ID,第七行为待监控软件“QQ音乐”的bundle ID,第八行为待监控软件“微信”的bundle ID。如果用户点击主面板右上角的“Net Logs”按钮,便可以进入到日志面板。日志面板向用户显示代理报文的日志以及详其细信息。
步骤200:获取客户端发送的代理软件的流量相关信息。客户端首先通过分应用代理采集网络流的两个子类NEAppProxyTCPFlow(简称APTF)和NEAppProxyUDPFlow(简称APUF)的属性信息,得到所述代理软件的网络流的流量相关信息。所述流量相关信息包括网络流的软件来源、设备来源和数据信息,所述数据信息包括数据包长度、数据包协议类型、数据包时间、数据包源/目的的IP地址和端口号。然后,客户端将所述流量相关信息以JSON形式,采用TCP协议上传至所述服务端,便可以获取代理软件的流量相关信息。
步骤300:获取服务端捕获的所有流量数据。服务端通过Python脚本调用tshark结合crontab定时任务自动捕获所有iOS设备上待监控的所有软件的网络流对应的流量数据。然后,根据流量相关信息对所有流量数据进行分类存储。
步骤400:获取流量分类提取规则。流量分类规则根据实际应用制定即可。作为一个具体的实施例,例如,流量分类提取规则包括类别、存储目录和存储路径三个元素,具体制定过程如下:
获取流量提取的类别;所述类别包括按iOS设备提取和按代理软件提取。
获取所述类别对应的存储目录。
获取所述存储目录对应的存储路径。
根据所述类别、所述存储目录和所述存储路径,确定所述流量分类提取规则。
步骤500:根据流量相关信息,按照流量提取规则,从服务器捕获的所有流量数据中提取分类流量。
之后,还可以进一步进行特征提取过程:首先,获取特征提取规则;然后,按照所述特征提取规则,提取所述分类流量中每条网络流的特征。
图3为本发明针对iOS设备的流量采集标记系统的结构示意图。如图3所示,本发明针对iOS设备的流量采集标记系统包括以下结构:
规则列表获取模块301,用于获取客户端的规则列表;所述规则列表包括所有代理软件的bundle ID;所述代理软件为iOS设备上待监控的软件。
流量相关信息获取模块302,用于获取客户端发送的所述代理软件的流量相关信息。
流量数据获取模块303,用于获取服务端捕获的所有流量数据;所述服务端捕获的所有流量数据为所述iOS设备上待监控的所有软件的网络流对应的流量数据。
流量分类提取规则获取模块304,用于获取流量分类提取规则。
分类流量提取模块305,用于根据所述流量相关信息,按照所述流量提取规则,从所述服务器捕获的所有流量数据中提取分类流量。
作为另一实施例,本发明的针对iOS设备的流量采集标记系统还包括:
客户端采集模块,用于通过客户端的分应用代理采集网络流的两个子类的属性信息,得到所述代理软件的网络流的流量相关信息;所述流量相关信息包括网络流的软件来源、设备来源和数据信息,所述数据信息包括数据包长度、数据包协议类型、数据包时间、数据包源/目的的IP地址和端口号。
客户端上传模块,用于通过客户端将所述流量相关信息以JSON形式,采用TCP协议上传至所述服务端。
作为另一实施例,本发明的针对iOS设备的流量采集标记系统还包括:
存储模块,用于在获取服务端捕获的所有流量数据之后,根据所述流量相关信息对所有流量数据进行分类存储。
作为另一实施例,本发明的针对iOS设备的流量采集标记系统中所述流量分类提取规则获取模块304,具体包括:
类别获取单元,用于获取流量提取的类别;所述类别包括按iOS设备提取和按代理软件提取。
存储目录获取单元,用于获取所述类别对应的存储目录。
存储路径获取单元,用于获取所述存储目录对应的存储路径。
流量分类提取规则确定单元,用于根据所述类别、所述存储目录和所述存储路径,确定所述流量分类提取规则。
作为另一实施例,本发明的针对iOS设备的流量采集标记系统还包括:
特征提取规则获取模块,用于在根据所述流量相关信息,按照所述流量提取规则,从所述服务器捕获的所有流量数据中提取分类流量之后,获取特征提取规则。
特征提取模块,用于按照所述特征提取规则,提取所述分类流量中每条网络流的特征。
下面结合一个具体实施案例,进一步说明本发明图1和图3所示的方案。本实施案例包括客户端和服务端两个方面。
(1)客户端
在客户端中必须实现分应用代理(PerAppProxy,PAP)和数据包隧道(PacketTunnel,PT)。图4为本发明具体实施案例的客户端架构图,如图4所显示,在客户端处理网络流的大致过程中,其中的SOCKS5隧道是PT。PT负责在客户端与服务端之间建立报文隧道,这意味着客户端与服务端必须有一致的数据传输协议。考虑到代理服务器需要同时处理TCP和UDP报文,且SOCKS5(由RFC 1928,RFC 1929和RFC 1961定义)协议对UDP报文处理具有出色的支持,因此将SOCKS5作为PT的隧道协议,从而省去了实现自定义PT的麻烦。
PAP可以拦截目标APP的网络流。拦截的网络流在PAP中被视为NEAppProxyFlow(简称APF)。APF有两个子类,NEAppProxyTCPFlow(简称APTF)和NEAppProxyUDPFlow(简称APUF)。通过读取APF的属性,可以获得与该网络流相关的信息。对于APTF,可以读取的属性是metaData(元数据)的sourceAppSigningIdentifier属性,remoteEndpoint(远端点)和localEndpoint(本地端点)。SourceAppSigningIdentifier为网络流来源APP的标识符,即网络流来源的APP的bundleID,可以用来标记网络流所属的APP,remoteEndpoint是Swift 3的数据类型(Swift 3是iOS的编程语言),它表示当前网络流的目标主机。在转发每个报文时,除了sourceAppSigningIdentifier,remoteEndpoint,localEndpoint,协议之外,还包括iPhone的当前时间,报文大小和IDFA(IDFA,全称ID forAdvertisement,用于跟踪iMonitor系统中的不同iOS设备)。
对于PAP,首先需要使用预构建的.plist文件设置要监视的目标APP的列表,即前面提到的规则列表。此列表上的每个APP均以其bundleID表示(BundleID是iOS中APP的唯一标识符,例如,微信的bundleID为com.tencent.xin)。开始时,PAP将尝试与服务端(PS)和数据管理服务器(DMS)建立TCP连接,如果这两个连接均已建立且没有任何错误,则PAP将开始处理网络流量并上传相关数据包或数据报的信息,即流量相关信息。PAP能够拦截规则列表中的APP的报文,为了转发被拦截的报文,需要为每个APTF创建一个套接字,在创建套接字之后,打开APTF以从中读取数据。APTF中数据项的数量不确定。每次读取数据项时,都会使用该套接字将其转发到PS,因此这些报文的源地址将是该套接字的地址,称为localEndpoint。在每次转发报文时,PAP都会同时上传报文信息到DMS,该信息将以JSON对象的形式使用TCP连接发送到DMS。在iOS中PAP只有15MB的运行内存可以使用,为了应对大量的网络连接的信息上传,在实现时只能使用TCP而不能使用HTTP协议。
可以从APUF读取的属性包括metaData的sourceAppSigningIdentifier,localEndpoint。在APTF中,读出的数据项称为报文。这些报文实际上是TCP协议的数据荷载,即datapayload。在APUF中,将读出的数据项称为数据报。数据报包含该数据报的UDP数据荷载和目标主机,因此只有在处理数据报时,才能知道某个数据报的去向。在iMonitor中,收集到的TCP报文和UDP数据报的相关信息会被组织为相同结构,并被发送到同一个DMS上。
(2)服务端(PS)
本实施案例的PS是来自SourceForge上的开源SOCKS5服务器,它仅在客户端和客户端的目标服务器之间转发流量。由于代理的所有流量都将通过PS,因此此处使用tcpdump进行流量收集。捕获的流量存储在大小限制为100MB的.pcap文件中。超出部分的流量将存储在一个新的.pcap文件中,该文件的文件名后会附加一个序列号。
数据管理服务器(DataManageServer,DMS)使用Python搭建的服务器接收客户端收集的流量信息。它接收TCP连接,将TCP数据荷载解析为JSON对象,并根据IDFA和信息的sourceAppSigningIdentifier将该信息保存在各自的目录中。图5为本发明实施案例中报文信息样例,如图5所示,报文信息即流量相关信息由客户端以JSON格式上传,包括app、idfa和record三个键,分别对应来源应用bundleID,来源设备标识码和对应流量具体信息。app键的值为cn.edu.nudt.MakePost,表示了报文的源APP的bundleID,它表示该流量信息来自一个名为MakePost的APP。idfa键是由iOS生成的设备唯一ID,它是一种UUID,此处将其用作标识符来表示不同的iOS设备。record键对应的流量具体信息包括数据包长度、数据包协议类型、数据包时间、数据包源/目的IP地址和端口号等信息。利用record键值中的信息,研究者们可以提取用于各种用途(例如后续的流量按应用分类或者按设备分类,或者用户画像)的过滤规则。以流量分类为例,可以结合使用目标服务器地址和APP标识符来创建过滤规则,以提取特定APP的流量。对于用户画像,研究者可以将目标服务器地址和APP标识符与IDFA结合使用,以构建另一个过滤规则,并将此过滤规则应用于捕获的.pcap文件,由此提取特定用户的流量,并利用该用户的偏好的APP来了解这个用户。
查询服务器(QueryServer,QS)为客户端的运行提供支持,当前阶段的支持主要分为两个方面:公网IP地址查询和应用bundleID查询。由于这部分请求频率较低,资源消耗比较低,所以采用了HTTPPOST进行网络请求。
服务端通过Python脚本调用tshark结合crontab定时任务,对流量数据进行自动捕获。然后根据实际需要,进行后续相关的处理。本实施案例后续处理包括三个步骤:提取流量,提取流和提取特征。
Step1:提取流量
流量的抓取是在代理服务器上进行的,在代理服务器上进行流量抓取会获得重复的两份流量,比如,客户端到代理服务器的流量和代理服务器到目的服务器的流量是一对重复的流量。而需要的流量应该是与目的服务器相关的那一部分,所以这一步的抽取主要是抽取代理服务器到目的服务器的流量,可以通过客户端上传的Log文件进行。但是Log文件中很多目的服务器的地址是以域名的形式保存的,在进行流量提取之前还需要将pcap文件中相应的DNS记录提取出来,以确认域名和IP之间的映射关系。这一步可以通过“tshark-r pcapfile-q-z"hosts"”命令完成。
Step2:提取流
经过上一步的流量提取后,还需要按照需求将流量按不同应用进行分离提取,从而将不同应用的网络流分别存储到不同的pcap文件中,方便管理和使用。这一步可以通过“tshark-r%s-2-R\"%s\"-w%s"%(pcap_path,rule,save_file)”完成。其中,rule参数可以用正则式表达,来限制抽取条件,相应的抽取条件可以通过客户端上传的Log文件即流向相关数据总结。
例如,存在规则“所有来自wechat.com地址的流量都是微信流量”,可以得到规则“ip.src_host==‘wechat.com’”,如要按照规则提取来自当前目录下wechat.pcap文件中的流量,并保存到本目录下的extracted_flows目录下时,命令可以如下:Tshark-r%s-2-R\"%s\"-w%s"%(‘./wechat.pcap’,‘ip.src_host=‘wechat.com”,‘./extracted_flows/’)。
Step3:提取特征
在这一步中,按流提取特征。可以通过“tshark-rpcapfile-q-z conv,tcp|wc-l”确定pcap文件中TCP流的数目,然后通过“tshark-r%s-q-z follow,tcp,hex,%d"%(pcap,i)”获取流的详细信息,本实施案例在使用的是每条流的前十六个字节以及其他流相关属性作为特征。
本实施案例具有以下优点:
(1)大规模流量收集:可以监控和收集大规模的来自iOS设备的移动网络流量,其用户量越大越好,因为更多的用户意味着研究者可以收集更多的移动网络流量。
(2)细粒度的流量信息:本实施案例的系统收集的信息十分详细。除了网络报文的常规属性(如源/目的IP地址和端口等)外,网络报文所属的APP种类和网络流量来自于哪一台设备的信息也很有意义,在iMonitor系统中都有记录。所有这些信息都被组织得井井有条,以便研究人员可以方便地使用这些信息。
(3)同时监控多个APP流量:无论各种时下流行的APP如何被实现,iMonitor系统都能够监控和收集各种APP的流量信息。众所周知,TCP和UDP的通信机制完全不同,比如,TCP是面向连接的,而UDP是无连接的。为了提供对多种APP的流量监控服务,iMonitor系统不仅可以处理TCP数据包,而且还具备处理UDP数据报的能力。
(4)对用户透明:1)移动设备保持非越狱状态。因为繁琐的步骤和安全性问题,大多数用户拒绝将他们的Apple设备越狱,因此必须在iOS的限制内实现iMonitor系统,完成对iOS设备流量采集和标记的任务。2)客户端仅消耗15MB的iPhone运行内存。为了减轻客户端附加在用户设备上的负担,客户端需要高效地完成其工作,而且其资源消耗也很低。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种针对iOS设备的流量采集标记方法,其特征在于,包括:
获取客户端的规则列表;所述规则列表包括所有代理软件的bundle ID;所述代理软件为iOS设备上待监控的软件;
获取客户端发送的所述代理软件的流量相关信息;
获取服务端捕获的所有流量数据;所述服务端捕获的所有流量数据为所述iOS设备上待监控的所有软件的网络流对应的流量数据;
获取流量分类提取规则;
根据所述流量相关信息,按照所述流量提取规则,从所述服务器捕获的所有流量数据中提取分类流量。
2.根据权利要求1所述的针对iOS设备的流量采集标记方法,其特征在于,所述获取客户端发送的所述代理软件的流量相关信息,之前还包括:
所述客户端通过分应用代理采集网络流的两个子类的属性信息,得到所述代理软件的网络流的流量相关信息;所述流量相关信息包括网络流的软件来源、设备来源和数据信息,所述数据信息包括数据包长度、数据包协议类型、数据包时间、数据包源/目的的IP地址和端口号;
将所述流量相关信息以JSON形式,采用TCP协议上传至所述服务端。
3.根据权利要求1所述的针对iOS设备的流量采集标记方法,其特征在于,所述获取服务端捕获的所有流量数据,之后还包括:
根据所述流量相关信息对所有流量数据进行分类存储。
4.根据权利要求3所述的针对iOS设备的流量采集标记方法,其特征在于,所述获取流量分类提取规则,具体包括:
获取流量提取的类别;所述类别包括按iOS设备提取和按代理软件提取;
获取所述类别对应的存储目录;
获取所述存储目录对应的存储路径;
根据所述类别、所述存储目录和所述存储路径,确定所述流量分类提取规则。
5.根据权利要求1所述的针对iOS设备的流量采集标记方法,其特征在于,所述根据所述流量相关信息,按照所述流量提取规则,从所述服务器捕获的所有流量数据中提取分类流量,之后还包括:
获取特征提取规则;
按照所述特征提取规则,提取所述分类流量中每条网络流的特征。
6.一种针对iOS设备的流量采集标记系统,其特征在于,包括:
规则列表获取模块,用于获取客户端的规则列表;所述规则列表包括所有代理软件的bundle ID;所述代理软件为iOS设备上待监控的软件;
流量相关信息获取模块,用于获取客户端发送的所述代理软件的流量相关信息;
流量数据获取模块,用于获取服务端捕获的所有流量数据;所述服务端捕获的所有流量数据为所述iOS设备上待监控的所有软件的网络流对应的流量数据;
流量分类提取规则获取模块,用于获取流量分类提取规则;
分类流量提取模块,用于根据所述流量相关信息,按照所述流量提取规则,从所述服务器捕获的所有流量数据中提取分类流量。
7.根据权利要求6所述的针对iOS设备的流量采集标记系统,其特征在于,还包括:
客户端采集模块,用于通过客户端的分应用代理采集网络流的两个子类的属性信息,得到所述代理软件的网络流的流量相关信息;所述流量相关信息包括网络流的软件来源、设备来源和数据信息,所述数据信息包括数据包长度、数据包协议类型、数据包时间、数据包源/目的的IP地址和端口号;
客户端上传模块,用于通过客户端将所述流量相关信息以JSON形式,采用TCP协议上传至所述服务端。
8.根据权利要求6所述的针对iOS设备的流量采集标记系统,其特征在于,还包括:
存储模块,用于在获取服务端捕获的所有流量数据之后,根据所述流量相关信息对所有流量数据进行分类存储。
9.根据权利要求8所述的针对iOS设备的流量采集标记系统,其特征在于,所述流量分类提取规则获取模块,具体包括:
类别获取单元,用于获取流量提取的类别;所述类别包括按iOS设备提取和按代理软件提取;
存储目录获取单元,用于获取所述类别对应的存储目录;
存储路径获取单元,用于获取所述存储目录对应的存储路径;
流量分类提取规则确定单元,用于根据所述类别、所述存储目录和所述存储路径,确定所述流量分类提取规则。
10.根据权利要求9所述的针对iOS设备的流量采集标记系统,其特征在于,还包括:
特征提取规则获取模块,用于在根据所述流量相关信息,按照所述流量提取规则,从所述服务器捕获的所有流量数据中提取分类流量之后,获取特征提取规则;
特征提取模块,用于按照所述特征提取规则,提取所述分类流量中每条网络流的特征。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911400831.7A CN111224894A (zh) | 2019-12-30 | 2019-12-30 | 一种针对iOS设备的流量采集标记方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911400831.7A CN111224894A (zh) | 2019-12-30 | 2019-12-30 | 一种针对iOS设备的流量采集标记方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111224894A true CN111224894A (zh) | 2020-06-02 |
Family
ID=70829199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911400831.7A Pending CN111224894A (zh) | 2019-12-30 | 2019-12-30 | 一种针对iOS设备的流量采集标记方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111224894A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111757378A (zh) * | 2020-06-03 | 2020-10-09 | 湃方科技(北京)有限责任公司 | 一种无线网络中设备识别方法及装置 |
CN111988239A (zh) * | 2020-08-21 | 2020-11-24 | 哈尔滨工业大学 | 一种用于Android应用的软件纯净流量获取方法 |
CN112532616A (zh) * | 2020-11-26 | 2021-03-19 | 杭州迪普科技股份有限公司 | 网络应用的特征分析方法及装置 |
CN112738070A (zh) * | 2020-12-25 | 2021-04-30 | 广州凡科互联网科技股份有限公司 | 一种基于web的网站微信流量监控的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9317347B1 (en) * | 2015-03-23 | 2016-04-19 | Juniper Networks, Inc. | Systems and methods for facilitating atomic delivery of bundled data sets to applications within distributed systems |
CN106101015A (zh) * | 2016-07-19 | 2016-11-09 | 广东药科大学 | 一种移动互联网流量类别标记方法和系统 |
CN107277803A (zh) * | 2017-06-12 | 2017-10-20 | 广州市家佑医疗科技有限公司 | 基于iOS终端的无线网络认证方法、装置及系统 |
-
2019
- 2019-12-30 CN CN201911400831.7A patent/CN111224894A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9317347B1 (en) * | 2015-03-23 | 2016-04-19 | Juniper Networks, Inc. | Systems and methods for facilitating atomic delivery of bundled data sets to applications within distributed systems |
CN106101015A (zh) * | 2016-07-19 | 2016-11-09 | 广东药科大学 | 一种移动互联网流量类别标记方法和系统 |
CN107277803A (zh) * | 2017-06-12 | 2017-10-20 | 广州市家佑医疗科技有限公司 | 基于iOS终端的无线网络认证方法、装置及系统 |
Non-Patent Citations (1)
Title |
---|
IMONITOR: AN APP-LEVEL TRAFFIC MONITORING AND LABELING SYSTEM FO: "刘俊秋 等", 《2019 IEEE INTERNATIONAL CONFERENCE ON COMPUTATIONAL SCIENCE AND ENGINEERING (CSE) AND IEEE INTERNATIONAL CONFERENCE ON EMBEDDED AND UBIQUITOUS COMPUTING (EUC)》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111757378A (zh) * | 2020-06-03 | 2020-10-09 | 湃方科技(北京)有限责任公司 | 一种无线网络中设备识别方法及装置 |
CN111757378B (zh) * | 2020-06-03 | 2024-04-02 | 中科时代(深圳)计算机系统有限公司 | 一种无线网络中设备识别方法及装置 |
CN111988239A (zh) * | 2020-08-21 | 2020-11-24 | 哈尔滨工业大学 | 一种用于Android应用的软件纯净流量获取方法 |
CN112532616A (zh) * | 2020-11-26 | 2021-03-19 | 杭州迪普科技股份有限公司 | 网络应用的特征分析方法及装置 |
CN112738070A (zh) * | 2020-12-25 | 2021-04-30 | 广州凡科互联网科技股份有限公司 | 一种基于web的网站微信流量监控的方法 |
CN112738070B (zh) * | 2020-12-25 | 2023-02-17 | 广州凡科互联网科技股份有限公司 | 一种基于web的网站微信流量监控的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111224894A (zh) | 一种针对iOS设备的流量采集标记方法及系统 | |
Wang et al. | A smart home gateway platform for data collection and awareness | |
EP3496338B1 (en) | Method for identifying application information in network traffic, and apparatus | |
Plonka | {FlowScan}: A Network Traffic Flow Reporting and Visualization Tool | |
EP2556632B1 (en) | Real-time adaptive processing of network data packets for analysis | |
CN100493094C (zh) | 基于特征码的p2p数据报文检测方法 | |
CN108400909B (zh) | 一种流量统计方法、装置、终端设备和存储介质 | |
JP4354294B2 (ja) | ネットワーク・セグメントが互いに異なる複数のネットワークに接続されたゲートウェイ装置、およびipパケットを転送するためのプログラムおよび方法 | |
JP2007502554A (ja) | ネットワーク化されたコンピュータのユーザを特定するネットワークアセットトラッカ | |
EP3364627B1 (en) | Adaptive session intelligence extender | |
CN112565262A (zh) | 一种流量数据处理方法、系统、网络设备及存储介质 | |
CN101521630B (zh) | 一种网络流量的分析方法和设备 | |
CN111224893A (zh) | 一种基于vpn的安卓手机流量采集与标注系统及方法 | |
RU2668394C2 (ru) | Способ и система для сбора пакетов, сетевое устройство и центр управления сетью | |
CN104219100A (zh) | 一种信息采集方法和装置 | |
US20170064023A1 (en) | Page Push Method, Device, Server and System | |
Uramová et al. | Packet capture infrastructure based on Moloch | |
KR20100024723A (ko) | 정책기반 라우팅을 이용한 선택적인 인터넷 트래픽 분석 시스템 및 그 방법 | |
CN105991353A (zh) | 故障定位的方法和装置 | |
Yu et al. | Traffic identification and overlay measurement of Skype | |
Ptácek | Analysis and detection of Skype network traffic | |
CN109857419B (zh) | 一种调度系统自动升级的方法和装置 | |
CN114553546B (zh) | 基于网络应用的报文抓取的方法和装置 | |
Martsola et al. | Machine to machine communication in cellular networks | |
Doshi et al. | Digital forensics analysis for network related data |
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 |