本发明属于无线通信技术领域,具体涉及一种手机app访问网络信令机制的测试方法。
背景技术:
当前,热门的app为保护用户的隐私,出于安全考虑基本采用https加密协议传输方式。手机应用只需遵循相关api的规则,譬如:想分析手机微信支付的信令流程有哪些,哪些信令流程会导致支付卡顿等问题时,在不熟悉手机应用开发的情况下,想要分析一款手机的应用难度较大,或者说基本不可能。何况微信出于网络安全的考虑也不可能公布支付相关的技术细节。
另外,基于安卓系统的api进行分析需要具备更专业的技能,而且手机应用的api是不开放的,研究难度较大,投入成本也较高。
基于以上现状,客观上需要一种测试方法,在不具备手机应用开发技能,仅通过分析手机与网络交互的tcp/ip信令,就可以精确识别出手机应用与网络交互的关键信令。
技术实现要素:
本发明目的在于针对上述分析手机应用特别是微信支付的信令技术的不足,提出了仅通过分析手机与网络交互的tcp/ip信令,就可以精确识别出手机应用与网络交互的关键信令的方法,
为实现上述目的,本发明提出的技术方案为一种手机app访问网络信令机制的测试方法,具体包含以下步骤:
一、测试环境搭建
(1)对手机系统进行root,由网络封包分析软件获取存储权限;
(2)手机root成功后安装手机版本的网络封包分析软件;
(3)删除或者禁用无关的应用;
(4)禁止无关应用访问网络,减少对要分析的应用信令准确识别的干扰;
(5)安装ping包软件,对操作的时间点进行测量;
(6)安装待测试手机app;
二、数据包抓取
(7)启动待测试手机app;
(8)打开安装在手机上的网络封包分析软件,点击开始记录;
(9)打开安装在手机上的ping包软件,开始进行ping包操作;
(10)等待一个时间间隔;
(11)停止抓包软件,停止ping操作;
(12)将抓取的数据包拷贝到电脑上,使用网络封包分析软件打开,进行详细的分析。
作为优选,上述步骤3中删除无关的应用时建议把不相关的应用全部删除。
步骤10中所述时间间隔可自行设定。
所述时间间隔设定为5s、10s或20s,优选为20s。
步骤6中待测试手机app为微信时,则需要在测试手机上安装微信,而且绑定银行卡。
如果是想通过微信完成转账,则步骤7中启动待测试手机app包括:
(1)进入微信,选择需要收款人,进入对话界面,选择“转账”;
(2)输入转账金额,点击“转账”;
(3)输入支付密码,保留密码的最后一位不要输入,即只输入前5位。
如果是想通过微信以扫码方式支付完成,则步骤10中执行以下操作:
(1)进入微信,开始扫码;
(2)扫码成功后,转到第11步。
与现有技术相比,本发明的有益效果在于:
1,由于通常的手机应用app都是私有的,其详细的工作机制不可能公开,利用本发明的方法可以在成本较低的情况下,初步分析出手机应用网络交互的基本信令,解决在无法获取手机应用说明文档的情况下,研究网络交互的信令,辅助分析解决其他问题的问题。
2,通过本发明提供的测试方法技巧,可准确分析手机端的应用程序的上网行为,进而去优化相关指标,显著提升用户感知。
附图说明
图1为本发明的测试环境搭建流程图;
图2为微信直接转账付款时的信令抓取流程图;
图3为微信支付扫码信令抓取流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步详细的说明。
本发明中,作为优选,具体网络封包分析采用wireshark软件完成,wireshark(前称ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。wireshark使用winpcap作为接口,直接与网卡进行数据报文交换。
网络封包分析软件的功能可想像成″电工技师使用电表来量测电流、电压、电阻″的工作,即只是将场景移植到网络上,并将电线替换成网络线。网络封包分析软件曾经非常昂贵的,或是专门属于盈利用的软件。但ethereal的出现改变了这一状况。在gnugpl通用许可证的保障范围底下,使用者可以以免费的代价取得软件与其源代码,并拥有针对其源代码修改及客制化的权利。wireshark目前已经成为全世界最广泛的网络封包分析软件之一。
下面主要是以微信支付的信令分析为例,其他手机应用也可以用同样方法完成。本发明提出了一种手机侧精确识别app访问网络信令研究的方法,并提出了该方法实施的过程模型如图1所示。从该图1、图2、图3中可以看出,该模型由准备工作和测试工作两部分组成。
本发明的目的是提供一种测试方法,可准确分析手机端的应用程序的上网行为,进而去优化相关指标,提升用户感知。
本发明方法的关键之处在于测试条件的准备和测试方法技巧。
下面通过一个实例来详细介绍手机侧分析app访问网络的原理,假如准备抓取微信支付的交互信令。
测试环境搭建:
(1)手机系统root,由于shark软件需要获取存储权限,只有手机root后才能正常工作。
(2)准备好手机版本的shark软件,手机root成功后,即可进行安装。
(3)删除或者禁用其他应用,手机上一般会安装很多应用,需要把部相关的应用全部删除,减少对要分析应用信令准确识别的干扰,建议能删除的全部删除,即使禁用,也不能确保该应用在后台偷偷访问网络。
(4)禁止无关应用访问网络,手机侧预装的一些应用,即使root后也无法删除,而且也不能禁用,需要关闭访问网络的功能,减少对要分析应用信令准确识别的干扰。
(5)安装ping包软件,安装该软件的目的,是对操作的时间点有个测量,就像尺子一样。由于ping包软件打开后,会不停的进行ping包操作,频率是1s内1~3次。
(6)安装微信,在测试手机上安装微信,并绑定银行卡,这样才能正常支付。
数据包抓取:
(1)进入微信,选择需要收款人,进入对话界面,选择“转账”。
(2)输入转账金额,点击“转账”。
(3)输入支付密码,保留密码的最后一位不要输入,也即只输入前5位。
(4)打开安装在手机上的抓包软件shark,点击开始记录log。
(5)打开安装在手机上的ping包软件,开始进行ping包操作,譬如:pingwww.baidu.com。
(6)等待20s输入密码最后一位,时间间隔自行设定,也可以是10s或者5s。
(7)等待支付成功后,停止抓包软件,停止ping操作。
把抓取的数据包拷贝到电脑上,使用wireshark打开,进行详细的分析。
本发明方法的关键之处在于测试条件的搭建和测试方法的技巧。下面通过一个实施例来详细介绍本方法的实施细节过程,如附图1、附图2和附图3所示。
第一步:测试环境搭建
①.手机系统root
由于shark软件需要获取存储权限,只有手机root后才能正常工作。
②.安装shark软件
准备好手机版本的shark软件,手机root成功后,即可进行安装。
③.删除或者禁用其他应用
手机上一般会安装很多应用,需要把部相关的应用全部删除,减少对要分析应用信令准确识别的干扰,建议能删除的全部删除,即使禁用,也不能确保该应用在后台偷偷访问网络。
④.禁止无关应用访问网络
手机侧预装的一些应用,即使root后也无法删除,而且也不能禁用,需要关闭访问网络的功能,减少对要分析应用信令准确识别的干扰。
⑤.安装ping包软件
安装该软件的目的,是对操作的时间点有个测量,就像尺子一样。由于ping包软件打开后,会不停的进行ping包操作,频率是1s内1~3次。譬如:启动ping软件,5s后进行了一个操作,20s后又进行了一个操作。在定位操作时就有了时间参考点,就可以到相应的时间点去分析信令,信令的定位更快,更准。
⑥.安装微信
在测试手机上安装微信,并绑定银行卡,这样才能正常支付。
第二步:微信直接转账测试
①.选择收款人
进入微信,选择需要收款人,进入对话界面,选择“转账”。
②.输入转账金额
输入转账金额,点击“转账”。
③.输入支付密码
输入支付密码,保留密码的最后一位不要输入,也即只输入前5位。
④.启动抓包软件shark
打开安装在手机上的抓包软件shark,点击开始记录log。
⑤.启动ping包软件
打开安装在手机上的ping包软件,开始进行ping包操作,譬如:pingwww.baidu.com。
⑥.等待20s输入密码最后一位
之所以等待20s,是为了减少干扰项,同时操作的时间点也比较清楚。打开封包分析的时候,20s的时间节点就是输入密码的时间节点。
⑦.支付成功后停止抓包
等待支付成功后,停止抓包软件,停止ping操作。
在实际操作中,建议④⑤⑥操作时间间隔要尽量短。
需要说明的是,以上具体实施方式的描述并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。