一种针对app应用的自动化测量ipv6流量的方法
技术领域:
:1.本发明涉及互联网
技术领域:
:,尤其涉及一种针对app应用的自动化测量ipv6流量的方法。
背景技术:
::2.互联网移动app种类繁多,对于ipv6的支持程度参差不齐,移动app应用在正常运行状态下的ipv6流量占比测量一般通过流量检测方式完成。为了提升测量精度,需进入app应用后,通过大量遍历模块使页面根据操控跳转后产生流量,如以人工手动操作执行将耗时费力,效率低。3.目前大都以人工点击方式产生流量开展测量,考虑到app版本的快速迭代性,且app的多样性,长期以手动方式点击模块给测试人员带来不便。因此,应从摆脱手动点击、测试人员易操作方向完成自动化流量检测,需要一套高效、自动化可执行的测试架构及方法。技术实现要素:4.本发明的目的是提出一种针对app应用的自动化测量ipv6流量的方法,其特征在于,流量数据检测依次通过任务下发模块、ip地址检测模块、防火墙策略模块、自动化测试模块和数据包抓取模块、数据包分析模块、流量统计模块;具体包括以下步骤:5.步骤1:客户端发送测试任务,服务端接收待启app应用名的任务信息;6.步骤2:初始化测试信息,ip地址数据包检测;7.步骤3:判断ip地址是否为双栈;若是,转到步骤4;若否,表明网络配置错误,测试流程结束;8.步骤4:判断双栈数据包是否生成;若是,转到步骤5;若否,表明移动端型号与工具原配置存在差异,重新配置检测ip项,测试流程结束;9.步骤5:判断app应用唯一标识userid在防火墙策略是否添加;若是,转到步骤6;若否,添加防火墙策略后再转到步骤6;10.步骤6:抓取数据包,同时进行app应用自启动测试;11.步骤7:生成数据包,进行数据包流量分析和统计。12.所述任务下发模块的任务下发方法包括以下步骤:13.步骤a1:客户端选择已预订完成绑定网络和设备配置的待测app下发任务;14.步骤a2:判断移动设备是否处于空闲状态;若是,转到步骤a3;若否,转到步骤a4;15.步骤a3:任务下发到服务器,再转到步骤a5;16.步骤a4:进入队列等待设备空闲,再转到步骤a5;17.步骤a5:开始测试。18.所述ip地址检测模块检测移动设备全球单播地址的步骤如下:19.步骤b1:移动设备终端进入网络环境,再转到步骤b2;20.步骤b2:检测网络环境,再转到步骤b3;21.步骤b3:判断网络环境是否为双栈;若是,转到步骤b4;若否,转到步骤b5;22.步骤b4:记录双栈全球单播地址,再转到步骤b6;23.步骤b5:记录单栈全球单播地址,进行网络调试,再转到步骤b1;24.步骤b6:ip地址检测结束。25.所述防火墙策略模块的实现方式如下:先由adb终端检测待测app移动设备的唯一标识应用userid,再根据防火墙规则添加userid记录。26.所述自动化测试模块和数据包抓取模块同时执行的步骤如下:27.步骤c1:确定已下发客户端任务,完成记录ip地址和添加防火墙规则;28.步骤c2:移动端安装并启动agent服务,再转到步骤c3;29.步骤c3:判断agent服务是否已经启动;若是,转到步骤c4;若否,转到步骤c2;30.步骤c4:服务端测试节点写入自动化操作,并转为服务请求;31.步骤c5:app包名、adb移动终端和自动化框架接口接收服务请求;32.步骤c6:agent服务接收adb移动终端的操作信息,同时adb进入移动终端启动数据包抓取模块;33.步骤c7:执行app应用;同时在数据包抓取模块中打标数据包,进行数据包抓取;34.步骤c8:完成自动化操作;停止数据包抓取并生成数据包文件。35.所述数据包分析模块提取数据包信息,结合ip地址检测模块提取ip地址分析数据,按协议和ip地址对数据进行分类。36.所述流量统计模块将数据包分析模块分析后的数据汇总计算,得出流量占比信息。37.本发明的有益效果在于:38.本发明实现了测试任务下发,并高效、自动地对流量进行测量、分析和统计。附图说明39.图1为本发明针对app应用的自动化测量ipv6流量的系统组成示意图;40.图2为本发明针对app应用的自动化测量ipv6流量的方法整体流程图;41.图3为本发明客户端执行任务下发模块的流程图;42.图4为本发明ip地址检测模块检测移动设备全球单播地址的流程图;43.图5为本发明防火墙策略模块隔离外界流量干扰的流程图;44.图6为自动化测试模块和数据包抓取模块完成自动化操作和生成数据包文件的流程图;45.图7为本发明实施例客户端-服务端-移动终端的整体架构图;46.图8为本发明实施例节点启动后各模块的动作流程图。具体实施方式47.本发明提出一种针对app应用的自动化测量ipv6流量的方法,下面结合附图和具体实施例对本发明做进一步说明。48.图1为本发明针对app应用的自动化测量ipv6流量的系统组成示意图;为了实现测试工具自动化检测,准确测量ipv6流量占比,将测试工具测试前的相关配置及测试中的测试项以及测试后的流量统计分成七个模块,流量数据检测依次通过任务下发模块、ip地址检测模块、防火墙策略模块、自动化测试模块和数据包抓取模块、数据包分析模块、流量统计模块。49.各功能项测试都直接影响测试结果,整体测试流程图2所示。具体包括以下步骤:50.步骤1:客户端发送测试任务,服务端接收待启app应用名的任务信息;51.步骤2:初始化测试信息,ip地址数据包检测;52.步骤3:判断ip地址是否为双栈;若是,转到步骤4;若否,表明网络配置错误,测试流程结束;53.步骤4:判断双栈数据包是否生成;若是,转到步骤5;若否,表明移动端型号与工具原配置存在差异,重新配置检测ip项,测试流程结束;54.步骤5:判断app应用唯一标识userid在防火墙策略是否添加;若是,转到步骤6;若否,添加防火墙策略后再转到步骤6;55.步骤6:抓取数据包,同时进行app应用自启动测试;56.步骤7:生成数据包,进行数据包流量分析和统计。57.图3为本发明客户端执行任务下发模块的流程图;客户端执行任务下发模块,定位了当前测试app应用名称、移动设备选择(空闲设备),测试所使用网络类型,该模块主要作用是提供测试环境。具体执行步骤如下:58.步骤a1:客户端选择已预订完成绑定网络和设备配置的待测app下发任务;59.步骤a2:判断移动设备是否处于空闲状态;若是,转到步骤a3;若否,转到步骤a4;60.步骤a3:任务下发到服务器,再转到步骤a5;61.步骤a4:进入队列等待设备空闲,再转到步骤a5;62.步骤a5:开始测试。63.图4为本发明ip地址检测模块检测移动设备全球单播地址的流程图;ip地址检测模块根据任务下发时选择的网络类型(双栈/单栈)检测移动设备全球单播地址并记录,该记录用于流量分类,流量将按ip记录数据筛选。具体如下:64.步骤b1:移动设备终端进入网络环境,再转到步骤b2;65.步骤b2:检测网络环境,再转到步骤b3;66.步骤b3:判断网络环境是否为双栈;若是,转到步骤b4;若否,转到步骤b5;67.步骤b4:记录双栈全球单播地址,再转到步骤b6;68.步骤b5:记录单栈全球单播地址,进行网络调试,再转到步骤b1;69.步骤b6:ip地址检测结束。70.图5为本发明防火墙策略模块隔离外界流量干扰的流程图;移动设备app应用除待测app,后台无关应用运行会直接影响测试准确性,为提高测试准确率,在测试开启前引入了规则策略模块以达到隔离外界流量干扰,移动设备系统底层为安装的app应用分配了唯一的标识userid,可根据该标识userid设置规则打标数据包,排除无关应用干扰。71.图6为自动化测试模块和数据包抓取模块完成自动化操作和生成数据包文件的流程图;app自动化测试执行模块与数据包抓取模块同步执行,其中自动化测试执行模块首先在移动设备运行agent代理服务,用以开放自动化功能,将自动化涉及到的一系列具体操作写入测试节点,节点中每个操作都会转为服务请求,移动端接收服务请求,包括android系统的调试桥(adb)、自动化框架接口、任务下发模块app应用包名,共同实现移动设备app自动化操作,调试桥(adb)进入移动设备终端启动数据包抓取模块,模块调用抓包工具tcpdump对网络接口的数据包进行筛选抓取,此工具结合规则策略模块的打标功能隔离无关app应用流量干扰,自动化操作完成记录相关数据包信息。自动化测试模块和数据包抓取模块同时执行的步骤如下:72.步骤c1:确定已下发客户端任务,完成记录ip地址和添加防火墙规则;73.步骤c2:移动端安装并启动agent服务,再转到步骤c3;74.步骤c3:判断agent服务是否已经启动;若是,转到步骤c4;若否,转到步骤c2;75.步骤c4:服务端测试节点写入自动化操作,并转为服务请求;76.步骤c5:app包名、adb移动终端和自动化框架接口接收服务请求;77.步骤c6:agent服务接收adb移动终端的操作信息,同时adb进入移动终端启动数据包抓取模块;78.步骤c7:执行app应用;同时在数据包抓取模块中打标数据包,进行数据包抓取;79.步骤c8:完成自动化操作;停止数据包抓取并生成数据包文件。80.数据包分析模块提取数据包信息,结合ip地址检测模块提取ip地址分析数据,可按协议、ip地址对数据进行分类。81.流量统计模块主要用于将分析后数据信息汇总计算,得出流量占比相关信息。82.图7为本实施例客户端-服务端-移动终端的整体架构图。通过客户端任务下发,将客户端-服务端-移动终端三者关联,客户端下发测试任务自动化完成app流量检测。首先是通过客户端将待测app添加到任务队列,此目的在于能够有序执行多个app测试,要完成自动化流量检测操作,在服务端部署测试工作节点,工作节点内置了app自启动,移动端以usb或wlan方式连接,节点在启动时会执行以下操作:83.1、获取设备ipv4/ipv6地址记录在文件,用于最终流量统计筛选;84.2、配置ip6tables/iptablesnflog策略;85.3、agent服务移动端安装,已存在则跳过;86.4、开启app自动化测试;87.5、数据包检测分析。88.图8为本实施例节点启动后各模块的动作流程图。任务队列中得app数据携带了app设备号及包名,服务端app节点可以是一个也可以是多个,各节点检测方式相同,设备号用于节点与手机关联,包名用于app自动化点击。89.节点通过uiautomator2指令到达移动端服务执行操作,服务端节点设置重启次数与间隔时间,目的在于多次测试,生成数据包文件,减少误差。90.数据包检测开始同时启动app,进入手机终端,通过tcpdump指令可以将网络中传送的数据包完全截获分析,不意味着要全部截获,在原指令中增加过滤规则,使数据包抓取当前启动app数据包,检测时长以及检测次数要与app自启动相同,做到同步开启结束。91.首先根据app包名关闭app以免待启动app已是启动状态,采用adbmonkey操作设备终端,启动待测app同时开启数据包检测,tcpdump检测nflog池标记得app应用id产生得数据包,数据包检测通过线程方式规定时间内持续运行,接下来就只需考虑启动app得模块点击。92.利用终端tcpdump后台检测数据包同时app自动化采用原有技术uiautomator2完成模块点击,注意得是tcpdump检测数据包与app程序关闭在同一时间关闭,并生成数据包(.pcap文件),节点设置了循环执行数据包检测、app的自启动、定时关闭操作。93.app自动化点击模块提供了元素多种定位方式,但app种类繁多无法通用到各个app,节点就无法做到自动化,因此摒弃了元素定位点击方式,安卓设备屏幕(x,y)坐标也可以做点击,采用这种方式脱离app元素定位限制,做到通用点击。94.app自启后执行流程:95.1、(x,y)坐标在手机屏幕范围内随机点击;96.2、每点击5次则根据当前页和首页是否为同一个页面判断是否需要返回首页,返回根据设置得等待时间间隔返回3次;97.3、在启动app时记录开始时间,每次点击坐标后记录时间,用于记录开始结束时间,利用uiautomator2关闭app,停止tcpdump检测,生成数据包(.pcap文件);98.4、uiautomator2根据时间间隔关闭app后重新添加防火墙策略后自启动app,同时开启数据包检测,再执行前3步;此步骤循环执行3次;99.5、分析数据包(.pcap文件),得出ipv6流量占比。100.本实施例能够实现测试任务下发,并高效、自动地对流量进行测量、分析和统计。101.此实施例仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域:
:的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。当前第1页12当前第1页12
技术特征:1.一种针对app应用的自动化测量ipv6流量的方法,其特征在于,流量数据检测依次通过任务下发模块、ip地址检测模块、防火墙策略模块、自动化测试模块和数据包抓取模块、数据包分析模块、流量统计模块;具体包括以下步骤:步骤1:客户端发送测试任务,服务端接收待启app应用名的任务信息;步骤2:初始化测试信息,ip地址数据包检测;步骤3:判断ip地址是否为双栈;若是,转到步骤4;若否,表明网络配置错误,测试流程结束;步骤4:判断双栈数据包是否生成;若是,转到步骤5;若否,表明移动端型号与工具原配置存在差异,重新配置检测ip项,测试流程结束;步骤5:判断app应用唯一标识userid在防火墙策略是否添加;若是,转到步骤6;若否,添加防火墙策略后再转到步骤6;步骤6:抓取数据包,同时进行app应用自启动测试;步骤7:生成数据包,进行数据包流量分析和统计。2.根据权利要求1所述针对app应用的自动化测量ipv6流量的方法,其特征在于,所述任务下发模块的任务下发方法包括以下步骤:步骤a1:客户端选择已预订完成绑定网络和设备配置的待测app下发任务;步骤a2:判断移动设备是否处于空闲状态;若是,转到步骤a3;若否,转到步骤a4;步骤a3:任务下发到服务器,再转到步骤a5;步骤a4:进入队列等待设备空闲,再转到步骤a5;步骤a5:开始测试。3.根据权利要求1所述针对app应用的自动化测量ipv6流量的方法,其特征在于,所述ip地址检测模块检测移动设备全球单播地址的步骤如下:步骤b1:移动设备终端进入网络环境,再转到步骤b2;步骤b2:检测网络环境,再转到步骤b3;步骤b3:判断网络环境是否为双栈;若是,转到步骤b4;若否,转到步骤b5;步骤b4:记录双栈全球单播地址,再转到步骤b6;步骤b5:记录单栈全球单播地址,进行网络调试,再转到步骤b1;步骤b6:ip地址检测结束。4.根据权利要求1所述针对app应用的自动化测量ipv6流量的方法,其特征在于,所述防火墙策略模块的实现方式如下:先由adb终端检测待测app移动设备的唯一标识应用userid,再根据防火墙规则添加userid记录。5.根据权利要求1所述针对app应用的自动化测量ipv6流量的方法,其特征在于,所述自动化测试模块和数据包抓取模块同时执行的步骤如下:步骤c1:确定已下发客户端任务,完成记录ip地址和添加防火墙规则;步骤c2:移动端安装并启动agent服务,再转到步骤c3;步骤c3:判断agent服务是否已经启动;若是,转到步骤c4;若否,转到步骤c2;步骤c4:服务端测试节点写入自动化操作,并转为服务请求;步骤c5:app包名、adb移动终端和自动化框架接口接收服务请求;步骤c6:agent服务接收adb移动终端的操作信息,同时adb进入移动终端启动数据包抓
取模块;步骤c7:执行app应用;同时在数据包抓取模块中打标数据包,进行数据包抓取;步骤c8:完成自动化操作;停止数据包抓取并生成数据包文件。6.根据权利要求1所述针对app应用的自动化测量ipv6流量的方法,其特征在于,所述数据包分析模块提取数据包信息,结合ip地址检测模块提取ip地址分析数据,按协议和ip地址对数据进行分类。7.根据权利要求1所述针对app应用的自动化测量ipv6流量的方法,其特征在于,所述流量统计模块将数据包分析模块分析后的数据汇总计算,得出流量占比信息。
技术总结本发明公开了属于互联网技术领域的一种针对APP应用的自动化测量IPv6流量的方法。包括以下步骤:步骤1:客户端发送测试任务,服务端接收待启APP应用名的任务信息;步骤2:初始化测试信息,IP地址数据包检测;步骤3:判断IP地址是否为双栈;若是,转到步骤4;若否,测试流程结束;步骤4:判断双栈数据包是否生成;若是,转到步骤5;若否,测试流程结束;步骤5:判断APP应用唯一标识userid在防火墙策略是否添加;若是,转到步骤6;若否,添加防火墙策略后再转到步骤6;步骤6:抓取数据包,同时进行APP应用自启动测试;步骤7:生成数据包,进行数据包流量分析和统计。本发明实现了测试任务下发,并高效、自动地对流量进行测量、分析和统计。分析和统计。分析和统计。
技术研发人员:龚道彪 毛宏钢 宋阳
受保护的技术使用者:广州根链国际网络研究院有限公司
技术研发日:2022.06.17
技术公布日:2022/11/1