CN114697440B - 网络管理方法及移动终端 - Google Patents

网络管理方法及移动终端 Download PDF

Info

Publication number
CN114697440B
CN114697440B CN202011628977.XA CN202011628977A CN114697440B CN 114697440 B CN114697440 B CN 114697440B CN 202011628977 A CN202011628977 A CN 202011628977A CN 114697440 B CN114697440 B CN 114697440B
Authority
CN
China
Prior art keywords
bpf
program
target
network
data packet
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
Application number
CN202011628977.XA
Other languages
English (en)
Other versions
CN114697440A (zh
Inventor
李正锋
蒋辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu TD Tech Ltd
Original Assignee
Chengdu TD Tech Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chengdu TD Tech Ltd filed Critical Chengdu TD Tech Ltd
Priority to CN202011628977.XA priority Critical patent/CN114697440B/zh
Publication of CN114697440A publication Critical patent/CN114697440A/zh
Application granted granted Critical
Publication of CN114697440B publication Critical patent/CN114697440B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2475Traffic characterised by specific attributes, e.g. priority or QoS for supporting traffic characterised by the type of applications
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明提供一种网络管理方法及移动终端,该方法包括:在第一***对应的第一目标伯克利封包过滤器BPF程序检测到网络数据包时,获取第一目标BPF程序检测到的网络数据包中的应用程序标识;其中所述第一***为移动终端中两个操作***中的任意一个操作***;从所述第一***对应的BPF数据容器中获取与所述应用程序标识对应的目标网络规则;根据所述目标网络规则对所述第一目标BPF程序检测到的网络数据包进行相应的处理,以对所述应用程序标识对应的应用程序进行网络管理,从而实现准确地对双***移动终端的应用程序进行网络管理。

Description

网络管理方法及移动终端
技术领域
本发明实施例涉及终端技术领域,尤其涉及一种网络管理方法及移动终端。
背景技术
双***终端是指同时运行两个操作***的移动终端,将当前使用显示屏与用户直接进行交互的***为前台***,另一个用户不可见的***为后台***。前台***和后台***均有各自对应的应用程序。
目前,双***终端在运行时,即前台***和后台***在运行的时,前台***和后台***的应用程序经常使用网络进行上网,但由于某些原因(例如,网络流量不足)需要对前台***和后台***的应用程序进行网络管理,例如,限制前台***的应用程序进行上网。因此,亟需一种网络管理方法以实现对前台***和后台***的应用程序的网络管理。
发明内容
本发明实施例提供一种网络管理方法及移动终端,以实现对应用程序的网络管理。
第一方面,本发明实施例提供一种网络管理方法,应用于移动终端,所述方法包括:
在第一***对应的第一目标伯克利封包过滤器BPF程序检测到网络数据包时,获取所述第一目标BPF程序检测到的网络数据包中的应用程序标识;其中所述第一***为移动终端中两个操作***中的任意一个操作***;
从所述第一***对应的BPF数据容器中获取与所述应用程序标识对应的目标网络规则;
根据所述目标网络规则对所述第一目标BPF程序检测到的网络数据包进行相应的处理,以对所述应用程序标识对应的应用程序进行网络管理。
在一种可能的设计中,所述方法还包括:
从所述第一***对应的BPF程序中确定类型为网络管理类型的BPF程序,并将其确定为第一目标BPF程序;
从第二***对应的BPF程序中确定类型为网络管理类型的BPF程序,并将其确定为第二目标BPF程序;其中,所述第二***为所述两个操作***中的另一个***;
将所述第一目标BPF程序挂载至所述第一***对应的第一预设监测位置,并将所述第二目标BPF程序挂载至所述第二***对应的第二预设监测位置,其中,所述第一预设监测位置是所述第一***对应的应用程序的网络数据包所经过的位置,所述第二预设监测位置是所述第二***对应的应用程序的网络数据包所经过的位置。
在一种可能的设计中,所述将所述第一目标BPF程序挂载至所述第一***对应的第一监测位置,包括:
通过守护进程,将所述第一目标BPF程序挂载至所述第一***对应的第一监测位置。
在一种可能的设计中,所述目标网络规则包括网络限制规则,则所述根据所述目标网络规则对所述第一目标BPF程序检测到的网络数据包进行相应的处理,以对所述应用程序标识对应的应用程序进行网络管理,包括:
丢弃所述第一目标BPF程序检测到的网络数据包,以对所述应用程序进行网络限制。
在一种可能的设计中,所述方法还包括:
在第一***对应的第三目标BPF程序检测到网络数据包时,根据所述第三目标BPF程序检测到的网络数据包进行网络流量统计。
在一种可能的设计中,所述方法还包括:
从所述第一***对应的BPF程序中确定类型为流量统计类型的BPF程序,并将其确定为第三目标BPF程序;
将所述第三目标BPF程序挂载至所述第一***对应的第三监测位置,其中,所述第三监测位置是所述第一***对应的应用程序的网络数据包所经过的位置。
在一种可能的设计中,所述移动终端的两个操作***中的每个***对应有BPF虚拟文件***以及资源管理文件***。
第二方面,本发明实施例提供一种网络管理设备,应用于移动终端,所述设备包括:
数据包检测模块,用于在第一***对应的第一目标伯克利封包过滤器BPF程序检测到网络数据包时,获取所述第一目标BPF程序检测到的网络数据包中的应用程序标识;其中所述第一***为移动终端中两个操作***中的任意一个操作***;
处理模块,用于从所述第一***对应的BPF数据容器中获取与所述应用程序标识对应的目标网络规则;
所述处理模块,还用于根据所述目标网络规则对所述第一目标BPF程序检测到的网络数据包进行相应的处理,以对所述应用程序标识对应的应用程序进行网络管理。
在一种可能的设计中,所述处理模块还用于:
从所述第一***对应的BPF程序中确定类型为网络管理类型的BPF程序,并将其确定为第一目标BPF程序;
从第二***对应的BPF程序中确定类型为网络管理类型的BPF程序,并将其确定为第二目标BPF程序;其中,所述第二***为所述两个操作***中的另一个***;
将所述第一目标BPF程序挂载至所述第一***对应的第一预设监测位置,并将所述第二目标BPF程序挂载至所述第二***对应的第二预设监测位置,其中,所述第一预设监测位置是所述第一***对应的应用程序的网络数据包所经过的位置,所述第二预设监测位置是所述第二***对应的应用程序的网络数据包所经过的位置。
在一种可能的设计中,所述处理模块还用于:
通过守护进程,将所述第一目标BPF程序挂载至所述第一***对应的第一监测位置。
在一种可能的设计中,所述目标网络规则包括网络限制规则,则所述处理模块还用于:
丢弃所述第一目标BPF程序检测到的网络数据包,以对所述应用程序进行网络限制。
在一种可能的设计中,所述处理模块还用于:
在第一***对应的第三目标BPF程序检测到网络数据包时,根据所述第三目标BPF程序检测到的网络数据包进行网络流量统计。
在一种可能的设计中,所述处理模块还用于:
从所述第一***对应的BPF程序中确定类型为流量统计类型的BPF程序,并将其确定为第三目标BPF程序;
将所述第三目标BPF程序挂载至所述第一***对应的第三监测位置,其中,所述第三监测位置是所述第一***对应的应用程序的网络数据包所经过的位置。
在一种可能的设计中,所述移动终端的两个操作***中的每个***对应有BPF虚拟文件***以及资源管理文件***。
第三方面,本发明实施例提供一种移动终端,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的网络管理方法。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的网络管理方法。
第五方面,本发明实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现如上第一方面以及第一方面各种可能的设计所述的网络管理方法。
本发明提供一种网络管理方法及移动终端,通过利用移动终端中的第一***对应的第一目标BPF程序对网络数据包进行检测,在检测到网络数据包时,表明第一***对应的应用程序正在使用网络,需要对该应用程序的网络进行管理,则获取该网络数据包中的应用程序标识,该应用程序标识为正在使用网络的应用程序的标识,即该网络数据包为该应用程序联网所发生的数据包,然后利用该应用程序标识对应的目标网络规则对该网络数据包进行处理,以实现对该应用程序的网络管理,从而实现准确地对双***移动终端的应用程序进行网络管理。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的网络管理方法的场景示意图;
图2为本发明实施例提供的网络管理方法的流程示意图一;
图3为本发明实施例提供的网络管理方法的流程示意图二;
图4为本发明实施例提供的网络管理设备的结构示意图;
图5为本发明实施例提供的移动终端的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有技术中,双***终端在运行时,即前台***和后台***在运行的时,前台***和后台***的应用程序经常使用网络进行上网,但由于某些原因(例如,网络流量不足)需要对前台***和后台***的应用程序进行网络管理,例如,限制前台***的应用程序进行上网。因此,亟需一种网络管理方法以实现对前台***和后台***的应用程序的网络管理。
因此,针对上述问题,本发明的技术构思是隔离移动终端的两个操作***的BPF(Berkeley Packet Filter,伯克利包过滤器)程序和BPF map,确保两个操作***使用各自对应的BPF和BPF map对各自对应的应用程序进行网络限制以及流量统计,实现网络的正确管理以及网络流量的正确统计。
下面以具体地示例对本公开的技术方案以及本公开的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的示例可以相互结合,对于相同或相似的概念或过程可能在某些示例中不再赘述。下面将结合附图,对本公开的示例进行描述。
图1为本发明实施例提供的网络管理方法的场景应用图,如图1所示,移动终端上同时运行有两个操作***,即第一***和第二***,第一***上运行有至少一个应用程序,第二***上也运行有至少一个应用程序,在对第一***上的应用程序进行网络管理时,可以利用第一***对应的BPF程序,在对第二***上的应用程序进行网络管理时,可以利用第二***对应的BPF程序。
其中,移动终端可以基于多用户或者LXC(linux container)技术进行实现。移动终端的两个操作***的的进程,即应用程序、数据、网络相互隔离,从而保证数据的安全性。所述操作***包括安卓(android)***。
可以理解,图1所示的第一***上的应用程序的数量、第二***上的应用程序的数量仅为一种示例,在此,不对其进行限制。
图2为本发明实施例提供的网络管理方法的流程示意图一,本实施例的执行主体可以为图1中的移动终端,具体地,为移动终端中的内核,即相关处理器。如图2所示,该方法包括:
S201、在第一***对应的第一目标伯克利封包过滤器BPF程序检测到网络数据包时,获取第一目标BPF程序检测到的网络数据包中的应用程序标识。其中第一***为移动终端中两个操作***中的任意一个操作***。
在本实施例中,将移动终端的双***的BPF模块进行隔离,即第一终端的两个操作***挂载各自的BPF虚拟文件***,即移动终端的两个操作***中的每个***对应有BPF虚拟文件***。该BPF虚拟文件***用来管理BPF程序和BPF数据容器,即管理与其对应的***对应的BPF程序和BPF数据容器,对应为其对应的***下的/sys/fs/bpf路径。
具体的,两个操作***中的每个***都有各自对应的BPF程序和BPF数据容器。该BPF数据容器为BPF MAP,其作为用户空间和内核空间交换数据的关键容器,可以接收和存储上层应用程序的网络规则,即网络策略,并被内核态的BPF程序读取,以实现对网络的管理。
在移动终端运行过程中,即在移动终端的前台***和后台***运行的过程中,当两个操作***的应用程序联网时,会发出相应的网络数据包,当两个操作***中的第一***对应的第一目标BPF程序检测到网络数据包时,表明第一***对应的应用程序正在进行联网,即使用网络,因此,可以对该应用程序进行网络管理,则获取该网络数据包中的应用程序标识,以供利用该应用程序标识对该应用程序标识对应的应用程序进行网络管理。
其中,第一目标BPF程序为第一***对应的BPF程序中的与网络管理,即网络策略相关的BPF程序,该第一目标BPF程序从其检测到数据包中网络数据包,并对该网络数据包进行相应的网络管理。
其中,第一***为双***移动终端的两个操作***中的任意一个操作***,即其可以为前台***或后台***。
S202、从第一***对应的BPF数据容器中获取与应用程序标识对应的目标网络规则。
在本实施例中,在第一***对应的第一目标BPF程序检测到网络数据包后,从第一***对应的BPF数据容器中查找与该网络数据包中的应用程序标识对应的网络规则,即网络策略,并将其确定为目标网络规则。
其中,第一***对应的BPF数据容器保存有第一***上的应用程序所对应的网络规则,即保存有不同应用程序标识对应的网络规则。
可选的,在从BPF数据容器中获取目标网络规则时,可以利用第一目标BPF程序进行获取,即BPF程序从BPF数据容器中查找应用程序标识对应的目标网络规则。
可选的,应用程序标识可以为应用程序对应的编号、名称、UID标识等。
另外,可选的,在得到应用程序标识后,若从第一***对应的BPF数据容器中查找不到该应用程序标识对应的网络规则,表明无需对该应用程序标识对应的应用程序进行网络管理,则无需利用第一目标BPF程序对该网络数据包进行管理。
S203、根据目标网络规则对第一目标BPF程序检测到的网络数据包进行相应的处理,以对应用程序标识对应的应用程序进行网络管理。
在本实施例中,在得到应用程序对应的目标网络规则后,利用该目标网络规则对第一目标BPF程序检测到的网络数据包进行处理,以实现对该应用程序的网络管理。
其中,目标网络规则包括网络限制规则。相应的,基于网络限制规则,丢弃第一目标BPF程序检测到的网络数据包,以对应用程序进行网络限制。
具体的,当目标网络规则为网络限制规则时,表明需要限制应用程序上网,则丢弃第一目标BPF程序检测到的网络数据包,即丢弃该应用程序由于上网所发出的网络数据包,从而限制该应用程序上网。
另外,可选的,网络限制规则还可以包括限制应用程序上网的时段,即若当前时间属于该时段内,则丢弃该应用程序所发出的网络数据包,否则,则正常发送该网络数据包,即不丢弃该网络数据包,以使应用程序可以正常上网。
从上述描述可知,利用移动终端中的第一***对应的第一目标BPF程序对网络数据包进行检测,在检测到网络数据包时,表明第一***对应的应用程序正在使用网络,需要对该应用程序的网络进行管理,则获取该网络数据包中的应用程序标识,该应用程序标识为正在使用网络的应用程序的标识,即该网络数据包为该应用程序联网所发生的数据包,然后利用该应用程序标识对应的目标网络规则对该网络数据包进行处理,以实现对该应用程序的网络管理,从而实现准确地对双***移动终端的应用程序进行网络管理。
图3为本发明实施例提供的网络管理方法的流程示意图二,本实施例图2实施例的基础上,为了使得移动终端对应的BPF程序可以检测到网络数据包,需要将BPF程序挂载至特定位置上,即挂载至网络数据包所经过的位置,以实现对网络数据包的检测,下面将结合一个具体实施例对此过程进行描述。如图3所示,该方法包括:
S301、从第一***对应的BPF程序中确定类型为网络管理类型的BPF程序,并将其确定为第一目标BPF程序。
在本实施例中,在移动终端启动时,分别读取第一***对应的BPF配置文件和第二***对应的BPF配置文件,然后基于第一***对应的BPF配置文件创建BPF程序和BPF MAP,即得到第一***对应的BPF程序和MPF MAP,并将其加载至第一***对应的BPF虚拟文件***下。同理,基于第二***对应的BPF配置文件创建BPF程序和BPF MAP,即得到第二***对应的BPF程序和BPF MAP,并将其加载至第二***对应的BPF虚拟文件***下。
可选的,BPF配置文件包括BPF程序的字节码。在创建第一***对应的BPF程序时,可以利用第一***对应的BPF加载程序bpfloader程序进行创建,即启动第一***对应的bpfloader程序,以通过该bpfloader程序读取第一***对应的BPF程序的字节码,并基于该BPF程序的字节码创建BPF程序和BPF MAP,然后将其加载至第一***对应的BPF虚拟文件***下。同理,在创建第二***对应的BPF程序时,可以利用第二***对应的BPF加载程序bpfloader程序进行创建,即启动第二***对应的bpfloader程序,以通过该bpfloader程序读取第二***对应的BPF程序的字节码,并基于该BPF程序的字节码创建BPF程序和BPFMAP,然后将其加载至第二***对应的BPF虚拟文件***下。
具体的,根据BPF程序的字节码创建BPF程序和BPF MAP的过程与现有根据BPF程序的字节码创建BPF程序和BPF MAP的过程类似,在此,不再对其进行赘述。
可选的,第一***对应的BPF程序,即创建的BPF程序中包括多种类型的BPF程序,该类型包括网络管理类型、流量统计类型等。其中,类型为网络管理类型的BPF程序为与网络管理相关的BPF程序,类型为流量统计类型的BPF程序为与统计网络流量相关的BPF程序。
在本实施例中,从第一***对应的BPF虚拟文件***下的BPF程序中,即从第一***对应的创建的BPF程序中查找类型为网络管理类型的BPF程序,即查找与网络管理相关的BPF程序,并将其确定为第一目标BPF程序。
S302、从第二***对应的BPF程序中确定类型为网络管理类型的BPF程序,并将其确定为第二目标BPF程序。其中,第二***为两个操作***中的另一个***。
可选的,第二***对应的BPF程序,即创建的BPF程序中包括多种类型的BPF程序,该类型包括网络管理类型、流量统计类型等。其中,类型为网络管理类型的BPF程序为与网络管理相关的BPF程序,类型为流量统计类型的BPF程序为与统计网络流量相关的BPF程序。
在本实施例中,从第二***对应的BPF虚拟文件***下的BPF程序中,即从第二***对应的创建的BPF程序中查找类型为网络管理类型的BPF程序,即查找与网络管理相关的BPF程序,并将其确定为第二目标BPF程序。
S303、将第一目标BPF程序挂载至第一***对应的第一预设监测位置,并将第二目标BPF程序挂载至第二***对应的第二预设监测位置,其中,第一预设监测位置是第一***对应的应用程序的网络数据包所经过的位置,第二预设监测位置是第二***对应的应用程序的网络数据包所经过的位置。
在本实施例中,第一***上的应用程序在进行联网时,产生的网络数据包会经过多个位置,因此,将第一目标BPF程序挂载至第一***上的第一预设监测位置,当网络数据包经过该第一预设检测位置时,会被第一预设检测位置上的第一目标BPF程序检测到,从而可以对该网络数据包进行处理,即可以对该网络数据包对应的第一***上的应用程序的网络进行管理。
可选的,通过守护进程,将第一目标BPF程序挂载至第一***对应的第一监测位置。其中,守护进程为netd进程,第一检测位置为内核网络子***上的钩子点上。
同理,第二***上的应用程序在进行联网时,产生的网络数据包会经过多个位置,因此,将第二目标BPF程序挂载至第二***上的第二预设监测位置,当网络数据包经过该第二预设检测位置时,会被第二预设检测位置上的第二目标BPF程序检测到,从而可以对该网络数据包进行处理,即可以对该网络数据包对应的第二***上的应用程序的网络进行管理。
可选的,通过守护进程,将第二目标BPF程序挂载至第二***对应的第二监测位置。其中,守护进程为netd进程,第二检测位置为内核网络子***上的钩子点上。
在本实施例中,隔离移动终端的两个操作***的BPF程序和BPF MAP,确保两个操作***使用各自的BPF程序和BPF MAP,即每个操作对应的BPF MAP仅存储其对应的操作***的应用程序标识所对应的网络规则,保证两个***对应的网络规则相互不受影响,即保证可以正确的进行网络管理,避免由于BPF模块未隔离,即BPF MAP中存有两个***的应用程序标识所对应的网络规则时,导致当两个***的应用程序标识中存在相同的应用程序标识时,误对该应用程序标识对应的应用程序进行网络管理,例如,第一操作***上的应用程序包括标识1对应的应用程序,BPF MAP中存有该标识1对应的网络规则,但第二操作***上也存在标识1对应的应用程序,因此,在标识1对应的应用程序进行网络管理时,误对第二操作***上的标识1对应的应用程序进行了网络管理。
S304、在第一***对应的第一目标BPF程序检测到网络数据包时,获取第一目标BPF程序检测到的网络数据包中的应用程序标识。其中第一***为移动终端中两个操作***中的任意一个操作***。
S305、从第一***对应的BPF数据容器中获取与应用程序标识对应的目标网络规则。
S306、根据目标网络规则对第一目标BPF程序检测到的网络数据包进行相应的处理,以对应用程序标识对应的应用程序进行网络管理。
在任意实施例中,可选的,在第一***对应的第三目标BPF程序检测到网络数据包时,根据第三目标BPF程序检测到的网络数据包进行网络流量统计。
具体的,在移动终端运行的过程中,即在移动终端的前台***和后台***运行的过程中,当两个操作***的应用程序使用网络时,会接收和发出相应的网络数据包,当两个操作***中的第一***对应的第三目标BPF程序检测到网络数据包时,利用该网络数据包进行流量统计,即确定该网络数据包中的应用程序标识对应的应用程序所使用的网络流量。
具体的,在利用第三目标BPF程序检测到的网络数据包进行流量统计时,获取该网络数据包中的应用程序标识,并基于网络数据包确定接收/发送字节数,从而基于该接收/发送字节数得到该与应用程序标识对应的应用程序所使用的网络流量,实现流量的统计,其具体过程与现有根据网络数据包进行流量统计的过程类似,在此,不再对其进行蛛丝。
另外,可选的,在统计该应用程序标识对应的应用程序的网络流量时,还可以从第一***对应的BPF MAP中获取一定时间内(例如,距离当前时间的三小时内)接收/发送,即第三目标BPF程序检测到的网络数据包,以结合其进行网络流量统计,从而得到该应用程序在该时间内所使用的网络流量。
其中,第三目标BPF程序为第一***上的与流量统计相关的BPF程序。
可选的,为了实现网络流量的统计,需要将与流量统计相应的BPF程序置于特定位置上,以使该BPF程序可以检测到网络数据包,从而实现流量的统计,其具体过程为:从第一***对应的BPF程序中确定类型为流量统计类型的BPF程序,并将其确定为第三目标BPF程序。将第三目标BPF程序挂载至第一***对应的第三监测位置,其中,第三监测位置是第一***对应的应用程序的网络数据包所经过的位置。相应的,从第二***对应的BPF程序中确定类型为流量统计类型的BPF程序,并将其确定为第四目标BPF程序。将第四目标BPF程序挂载至第二***对应的第四监测位置,其中,第四监测位置是第一***对应的应用程序的网络数据包所经过的位置。
具体的,两个操作***创建各自的资源管理文件***,对应路径分别为/dev/cg2_bpf/vp1和/dev/cg2_bpf/vp2。在移动终端启动时,将两个操作***的初始化进程绑定给各自的资源管理文件***。即第一操作***的初始化进程与第一操作***的资源管理文件***绑定,第二操作***的初始化进程与第二操作***的资源管理文件***绑定,在运行初始化进程时,两个操作***上的进程,即应用程序绑定给各自的资源管理文件***。
在本实施例中,从第一***对应的BPF程序中中查找类型为流量统计类型的BPF程序,即查找与流量统计相关的BPF程序,并将其确定为第三目标BPF程序。第一***上的应用程序在使用网络时,所接收或发出的网络数据包会经过多个位置,因此,将第三目标BPF程序挂载至第一***上的第三预设监测位置,当网络数据包经过该第三预设检测位置时,会被第三预设检测位置上的第三目标BPF程序检测到,从而可以对该网络数据包进行流量统计,即可以对该网络数据包对应的第一***上的应用程序进行流量统计。
可选的,通过守护进程,将第三目标BPF程序挂载至第一***对应的第三监测位置。其中,守护进程为netd进程,第三检测位置为内核网络子***上的钩子点上。
同理,从第二***对应的BPF程序中中查找类型为流量统计类型的BPF程序,即查找与流量统计相关的BPF程序,并将其确定为第四目标BPF程序。第二***上的应用程序在使用网络时,所接收或发出的网络数据包会经过多个位置,因此,将第四目标BPF程序挂载至第二***上的第四预设监测位置,当网络数据包经过该第四预设检测位置时,会被第四预设检测位置上的第四目标BPF程序检测到,从而可以对该网络数据包进行流量统计,即可以对该网络数据包对应的第二***上的应用程序进行流量统计。
可选的,通过守护进程,将第四目标BPF程序挂载至第二***对应的第四监测位置。其中,守护进程为netd进程,第四检测位置为内核网络子***上的钩子点上。
其中,资源管理文件***包括cgroup(Control Group)BPF文件***。其是Linux内核的一个功能,用来限制、控制与分离一个进程组群的资源(如CPU、内存、磁盘输入输出等),cgroup有v1和v2两个版本。移动终端上的操作***的cgroup BPF文件***管理所有进程的BPF资源。
其中,初始化进程为init进程。
在本实施例中,两个操作***的资源管理文件***隔离,每个操作***对应的与流量统计相关的BPF程序挂载至其对应的资源管理文件***上,使得每个操作***对应的BPF程序仅统计其对应的操作***上的应用程序的网络流量,保证流量统计结果的准确性,避免由于BPF模块未做虚拟化,两个操作***关于流量统计的BPF程序和记录***各个应用流量统计信息的BPF map没有隔离,导致两个操作***可能存在相同uid的进程,即应用程序,使得将两个***相同uid的进程的流量信息统计在一条记录里,造成流量统计结果不准确。
可以理解,第一预设监测位置、第二预设监测位置、第三预设监测位置和第四预设监测位置均为相关人员根据实际需求设置的位置。另外,在从第一***/第二***对应的BPF程序中查找与流量统计相关的BPF程序或与网络管理相关的BPF程序时,可以获取每个BPF程序对应的类型,并根据类型确定,或者,获取每个BPF程序的标识(例如,BPF名称),并根据标识确定,例如,将包括预设流量统计标识的标识的BPF程序确定为与流量统计相关的BPF程序。
在本实施例中,两个操作***各自挂载一个BPF虚拟文件***,通过每个操作***对应的BPF加载程序加载其对应的操作***的BPF程序,在BPF虚拟文件***下生成各自操作***的BPF程序和BPF MAP对应的文件描述符,两个操作***的用户态程序就能使用其所在的***的BPF MAP与内核交换数据,保障双***手机上两个***的网络策略不会相互影响,即避免由于BPF模块未隔离BPF特性导致的两个***网络策略相互影响。
在本实施例中,双***移动终端上创建有两个资源管理文件***,两个操作***分别使用各自的资源管理文件***管理自身的BPF资源。两个***的BPF加载程序在加载流量统计相关BPF程序时,将BPF程序挂载给各自对应的操作***的资源管理文件***上,从而保证各个操作***内的应用程序所使用的流量被各自对应的与流量统计相关的BPF程序所统计,实现网络流量的正确统计,避免两个操作***的应用程序的网络流量相互影响。
图4为本发明实施例提供的网络管理设备的结构示意图,如图4所示,该网络管理设备400包括:数据包检测模块401和处理模块402。
其中,数据包检测模块401,用于在第一***对应的第一目标伯克利封包过滤器BPF程序检测到网络数据包时,获取第一目标BPF程序检测到的网络数据包中的应用程序标识。其中第一***为移动终端中两个操作***中的任意一个操作***。
处理模块402,用于从第一***对应的BPF数据容器中获取与应用程序标识对应的目标网络规则。
处理模块402,还用于根据目标网络规则对第一目标BPF程序检测到的网络数据包进行相应的处理,以对应用程序标识对应的应用程序进行网络管理。
在一种可能的设计中,处理模块402还用于:
从第一***对应的BPF程序中确定类型为网络管理类型的BPF程序,并将其确定为第一目标BPF程序。
从第二***对应的BPF程序中确定类型为网络管理类型的BPF程序,并将其确定为第二目标BPF程序。其中,第二***为两个操作***中的另一个***。
将第一目标BPF程序挂载至第一***对应的第一预设监测位置,并将第二目标BPF程序挂载至第二***对应的第二预设监测位置,其中,第一预设监测位置是第一***对应的应用程序的网络数据包所经过的位置,第二预设监测位置是第二***对应的应用程序的网络数据包所经过的位置。
在一种可能的设计中,处理模块402还用于:
通过守护进程,将第一目标BPF程序挂载至第一***对应的第一监测位置。
在一种可能的设计中,目标网络规则包括网络限制规则,则处理模块402还用于:
丢弃第一目标BPF程序检测到的网络数据包,以对应用程序进行网络限制。
在一种可能的设计中,处理模块402还用于:
在第一***对应的第三目标BPF程序检测到网络数据包时,根据第三目标BPF程序检测到的网络数据包进行网络流量统计。
在一种可能的设计中,处理模块402还用于:
从第一***对应的BPF程序中确定类型为流量统计类型的BPF程序,并将其确定为第三目标BPF程序。
将第三目标BPF程序挂载至第一***对应的第三监测位置,其中,第三监测位置是第一***对应的应用程序的网络数据包所经过的位置。
在一种可能的设计中,移动终端的两个操作***中的每个***对应有BPF虚拟文件***以及资源管理文件***。
本发明实施例提供的网络管理设备,可以实现上述实施例的网络管理方法,其实现原理和技术效果类似,此处不再赘述。
图5为本发明实施例提供的移动终端的硬件结构示意图。如图5所示,本实施例的移动终端500包括:处理器501以及存储器502;其中
存储器502,用于存储计算机执行指令;
处理器501,用于执行存储器存储的计算机执行指令,以实现上述实施例中接收设备所执行的各个步骤。具体可以参见前述方法实施例中的相关描述。
可选地,存储器502既可以是独立的,也可以跟处理器501集成在一起。
当存储器502独立设置时,该移动终端还包括总线503,用于连接所述存储器502和处理器501。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上所述的网络管理方法。
本发明实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现如上所述的网络管理方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。
应理解,上述处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称:ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (9)

1.一种网络管理方法,其特征在于,应用于移动终端,所述方法包括:
在第一***对应的第一目标伯克利封包过滤器BPF程序检测到网络数据包时,获取第一目标BPF程序检测到的网络数据包中的应用程序标识;其中所述第一***为移动终端中两个操作***中的任意一个操作***;
从所述第一***对应的BPF数据容器中获取与所述应用程序标识对应的目标网络规则;
根据所述目标网络规则对所述第一目标BPF程序检测到的网络数据包进行相应的处理,以对所述应用程序标识对应的应用程序进行网络管理。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
从所述第一***对应的BPF程序中确定类型为网络管理类型的BPF程序,并将其确定为第一目标BPF程序;
从第二***对应的BPF程序中确定类型为网络管理类型的BPF程序,并将其确定为第二目标BPF程序;其中,所述第二***为所述两个操作***中的另一个***;
将所述第一目标BPF程序挂载至所述第一***对应的第一预设监测位置,并将所述第二目标BPF程序挂载至所述第二***对应的第二预设监测位置,其中,所述第一预设监测位置是所述第一***对应的应用程序的网络数据包所经过的位置,所述第二预设监测位置是所述第二***对应的应用程序的网络数据包所经过的位置。
3.根据权利要求2所述的方法,其特征在于,所述将所述第一目标BPF程序挂载至所述第一***对应的第一监测位置,包括:
通过守护进程,将所述第一目标BPF程序挂载至所述第一***对应的第一监测位置。
4.根据权利要求1所述的方法,其特征在于,所述目标网络规则包括网络限制规则,则所述根据所述目标网络规则对所述第一目标BPF程序检测到的网络数据包进行相应的处理,以对所述应用程序标识对应的应用程序进行网络管理,包括:
丢弃所述第一目标BPF程序检测到的网络数据包,以对所述应用程序进行网络限制。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在第一***对应的第三目标BPF程序检测到网络数据包时,根据所述第三目标BPF程序检测到的网络数据包进行网络流量统计。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
从所述第一***对应的BPF程序中确定类型为流量统计类型的BPF程序,并将其确定为第三目标BPF程序;
将所述第三目标BPF程序挂载至所述第一***对应的第三监测位置,其中,所述第三监测位置是所述第一***对应的应用程序的网络数据包所经过的位置。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述移动终端的两个操作***中的每个***对应有BPF虚拟文件***以及资源管理文件***。
8.一种移动终端,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1至7任一项所述的网络管理方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1至7任一项所述的网络管理方法。
CN202011628977.XA 2020-12-30 2020-12-30 网络管理方法及移动终端 Active CN114697440B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011628977.XA CN114697440B (zh) 2020-12-30 2020-12-30 网络管理方法及移动终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011628977.XA CN114697440B (zh) 2020-12-30 2020-12-30 网络管理方法及移动终端

Publications (2)

Publication Number Publication Date
CN114697440A CN114697440A (zh) 2022-07-01
CN114697440B true CN114697440B (zh) 2023-08-29

Family

ID=82133710

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011628977.XA Active CN114697440B (zh) 2020-12-30 2020-12-30 网络管理方法及移动终端

Country Status (1)

Country Link
CN (1) CN114697440B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115567634B (zh) * 2022-09-05 2024-03-29 青岛海信移动通信技术有限公司 一种网络管理方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101645873A (zh) * 2008-08-07 2010-02-10 联想(北京)有限公司 一种计算机以及虚拟机环境中实现网络隔离的方法
US8490086B1 (en) * 2009-06-30 2013-07-16 Symantec Corporation Filtering I/O communication of guest OS by inserting filter layer between hypervisor and VM and between hypervisor and devices
CN106020942A (zh) * 2016-05-05 2016-10-12 四川安嵌科技有限公司 一种基于多***的WiFi设备复用方法及装置
CN109086620A (zh) * 2018-07-19 2018-12-25 郑州信大捷安信息技术股份有限公司 基于移动存储介质的物理隔离双***构建方法
CN109347817A (zh) * 2018-10-12 2019-02-15 厦门安胜网络科技有限公司 一种网络安全重定向的方法及装置
CN110891025A (zh) * 2019-10-31 2020-03-17 上海众链科技有限公司 获取应用程序对端目的地址的***、方法、智能终端及计算机可读存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10491625B2 (en) * 2017-10-03 2019-11-26 International Business Machines Corporation Retrieving network packets corresponding to detected abnormal application activity

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101645873A (zh) * 2008-08-07 2010-02-10 联想(北京)有限公司 一种计算机以及虚拟机环境中实现网络隔离的方法
US8490086B1 (en) * 2009-06-30 2013-07-16 Symantec Corporation Filtering I/O communication of guest OS by inserting filter layer between hypervisor and VM and between hypervisor and devices
CN106020942A (zh) * 2016-05-05 2016-10-12 四川安嵌科技有限公司 一种基于多***的WiFi设备复用方法及装置
CN109086620A (zh) * 2018-07-19 2018-12-25 郑州信大捷安信息技术股份有限公司 基于移动存储介质的物理隔离双***构建方法
CN109347817A (zh) * 2018-10-12 2019-02-15 厦门安胜网络科技有限公司 一种网络安全重定向的方法及装置
CN110891025A (zh) * 2019-10-31 2020-03-17 上海众链科技有限公司 获取应用程序对端目的地址的***、方法、智能终端及计算机可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘琦.网络监控中BPF过滤器的研究.福建质量管理.2015,全文. *

Also Published As

Publication number Publication date
CN114697440A (zh) 2022-07-01

Similar Documents

Publication Publication Date Title
WO2020019483A1 (zh) 一种模拟器识别方法、识别设备及计算机可读介质
US8996774B2 (en) Performing emulated message signaled interrupt handling
US11275618B2 (en) Method, device and medium for allocating resource based on type of PCI device
WO2020019485A1 (zh) 一种模拟器识别方法、识别设备及计算机可读介质
CN111147425A (zh) 数据访问处理方法、装置、设备以及存储介质
CN110008758B (zh) 一种id获取方法、装置、电子设备及存储介质
CN114697440B (zh) 网络管理方法及移动终端
CN112363935A (zh) 数据联调方法、装置、电子设备及存储介质
CN110515671B (zh) 初始化方法、初始化装置、终端设备及可读存储介质
CN113992426A (zh) 一种报文分发方法、装置、存储介质及电子设备
CN110535724B (zh) 应用程序网络读写限制方法、装置、电子设备及存储介质
CN109784041B (zh) 事件处理方法和装置、以及存储介质和电子装置
CN113132241B (zh) Acl模板动态配置方法及装置
CN111679909B (zh) 数据处理方法、装置及终端设备
CN114124524A (zh) 一种云平台权限设置方法、装置、终端设备及存储介质
CN109725856B (zh) 一种共享节点管理方法、装置、电子设备及存储介质
CN110058866B (zh) 集群组件安装方法及设备
CN113849269A (zh) 在虚拟机中添加gpu资源的方法及装置
CN114490010A (zh) 资源操作控制方法、电子设备、芯片及可读存储介质
US10754661B1 (en) Network packet filtering in network layer of firmware network stack
CN112035379A (zh) 存储空间的使用方法、装置、存储介质以及电子装置
CN114185602B (zh) 操作***的启动方法、装置和终端
CN117744067B (zh) 访问空间切换方法、装置、处理器、设备及存储介质
CN117014345A (zh) 流量统计方法、装置、终端设备、存储介质及程序产品
CN113448958B (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