一种软件升级强制触发方法、装置及软件升级系统制造方法及图纸

技术编号:25438522 阅读:19 留言:0更新日期:2020-08-28 22:26
本发明专利技术涉及软/硬件测试技术领域,公开了一种软件升级强制触发方法、装置及软件升级系统。通过本发明专利技术创造,提供了一种基于软件版本号的修改来欺骗触发软件自动更新逻辑的新方法,即通过网络流量劫持工具,可拦截获取在客户端软件程序与服务器之间传输的数据包,并通过对数据包中软件版本号的修改,可使客户端软件程序/和服务器误认为客户端软件版本为低版本,进而触发软件自动更新逻辑,最终在客户端侧得到用于软件分析和/或软件测试的最新软件升级包,不但能够高效且无限次触发目标软件或设备的自动升级功能,还无需每次测试都购买新设备,大大降低了测试成本,便于实际应用和推广。

【技术实现步骤摘要】
一种软件升级强制触发方法、装置及软件升级系统
本专利技术属于软/硬件测试
,具体地涉及一种软件升级强制触发方法、装置及软件升级系统。
技术介绍
自动升级功能普遍存在于软件或者硬件设备中,强制触发自动升级功能对软件测试和程序分析都有着很重要的意义。例如,对于程序分析而言,通过触发软件或者设备的自动升级功能,能够获取到目标程序的升级包,升级包对程序分析非常重要,通过它可以分析出软件在哪些方面进行了何种升级,添加了哪些功能;另外很多物联网设备(IoT,InternetofThings)的升级包包含有完整的设备固件,这样就避免了物理提固件(拆开设备)所带来的困难和损坏。而对于软件测试而言,覆盖率是一个非常重要的指标;宽泛的讲,它指的是在测试过程中成功测试的功能占软件总功能数的比例,越高的覆盖率就意味着测试越完善,越有可能触发bug或漏洞;但是软件可能存在某些在特定条件下才能触发的功能,导致测试覆盖率不高,其中一个很关键的功能便是自动升级;自动触发升级功能也就意味着更加完善的测试。但是目前无论是在软件测试方面或者程序分析方面都没有一个很好的方法来触发自动升级,这是一个困扰软件测试人员和程序分析人员的难点。例如在程序分析中,如果想得到IoT设备的升级包,程序分析人员一般会购买运行低版本固件的设备,然后在设备自动升级过程中通过截取网络流量获得升级包。但是该方式存在如下弊端:(1)成本高,每次测试都要购买新设备;(2)具有未知性,目标设备不一定能买到(或不一定存在)低版本版;(3)不可重复,升级功能初次触发后目标设备将会自动升级,之后将无法触发。
技术实现思路
为了解决现有软/硬件测试过程中所存在的难以随时触发升级功能以获取最新软件升级包的技术问题,本专利技术目的在于提供一种软件升级强制触发方法、装置、计算机设备、计算机可读存储介质和软件升级系统,可以随时触发升级功能来获取最新软件升级包,从而无需每次测试都购买新设备,降低了测试成本。第一方面,本专利技术提供了一种软件升级强制触发方法,包括:通过网络流量劫持工具,拦截获取客户端软件程序向服务器发送的第一数据包,其中,所述第一数据包包含有所述客户端软件程序的客户端侧版本号;将所述第一数据包中的客户端侧版本号修改为低版本号;向所述服务器传送修改后的所述第一数据包,以便所述服务器在根据所述客户端侧版本号与服务器侧最新版本号的对比结果判定客户端软件版本为低版本时,向所述客户端软件程序反馈第二数据包,其中,所述第二数据包包含有所述服务器侧最新版本号和与所述服务器侧最新版本号对应的软件升级包下载地址;通过网络流量劫持工具,拦截获取所述第二数据包;将所述第二数据包中的服务器侧最新版本号修改为高版本号;向所述客户端软件程序传送修改后的所述第二数据包,以便所述客户端软件程序在根据所述服务器侧最新版本号与本地客户端侧版本号的对比结果判定客户端软件版本为低版本时,根据所述软件升级包下载地址下载获取最新软件升级包。基于上述
技术实现思路
,提供了一种基于软件版本号的修改来欺骗触发软件自动更新逻辑的新方法,即通过网络流量劫持工具,可拦截获取在客户端软件程序与服务器之间传输的数据包,并通过对数据包中软件版本号的修改,可使服务器和客户端软件程序均误认为客户端软件版本为低版本,进而触发软件自动更新逻辑,最终在客户端侧得到用于软件分析和/或软件测试的最新软件升级包,不但能够高效且无限次触发目标软件或设备的自动升级功能,还无需每次测试都购买新设备,大大降低了测试成本,便于实际应用和推广。在一个可能的设计中,在通过网络流量劫持工具,拦截获取客户端软件程序向服务器发送的第一数据包之前,所述方法还包括:获取所述网络流量劫持工具的工作IP地址和工作端口,根据所述工作IP地址和所述工作端口设置对应所述客户端软件程序的代理服务器配置信息。在一个可能的设计中,当所述第一数据包和所述第二数据包均为超文本传输协议数据包时,所述网络流量劫持工具采用中间人攻击工具mitmproxy。第二方面,本专利技术提供了一种软件升级强制触发装置,包括第一拦截获取单元、第一修改单元、第一传送单元、第二拦截获取单元、第二修改单元和第二传送单元;所述第一拦截获取单元,用于通过网络流量劫持工具,拦截获取客户端软件程序向服务器发送的第一数据包,其中,所述第一数据包包含有所述客户端软件程序的客户端侧版本号;所述第一修改单元,通信连接所述第一拦截获取单元,用于将所述第一数据包中的客户端侧版本号修改为低版本号;所述第一传送单元,通信连接所述第一修改单元,用于向所述服务器传送修改后的所述第一数据包,以便所述服务器在根据所述客户端侧版本号与服务器侧最新版本号的对比结果判定客户端软件版本为低版本时,向所述客户端软件程序反馈第二数据包,其中,所述第二数据包包含有所述服务器侧最新版本号和与所述服务器侧最新版本号对应的软件升级包下载地址;所述第二拦截获取单元,用于通过网络流量劫持工具,拦截获取所述第二数据包;所述第二修改单元,通信连接所述第二拦截获取单元,用于将所述第二数据包中的服务器侧最新版本号修改为高版本号;所述第二传送单元,通信连接所述第二修改单元,用于向所述客户端软件程序传送修改后的所述第二数据包,以便所述客户端软件程序在根据所述服务器侧最新版本号与本地客户端侧版本号的对比结果判定客户端软件版本为低版本时,根据所述软件升级包下载地址下载获取最新软件升级包。第三方面,本专利技术提供了另一种软件升级强制触发方法,包括:通过网络流量劫持工具,拦截获取服务器向客户端软件程序反馈的第三数据包,其中,所述第三数据包包含有用于响应所述客户端软件程序的最新版本号查询请求而反馈的服务器侧最新版本号;将所述第三数据包中的服务器侧最新版本号修改为高版本号;向所述客户端软件程序传送修改后的所述第三数据包,以便所述客户端软件程序在根据所述服务器侧最新版本号与本地客户端侧版本号的对比结果判定客户端软件版本为低版本时,向所述服务器发送用于下载最新软件升级包的软件升级请求,最终得到最新软件升级包。基于上述
技术实现思路
,提供了另一种基于软件版本号的修改来欺骗触发软件自动更新逻辑的新方法,即通过网络流量劫持工具,可拦截获取在客户端软件程序与服务器之间传输的数据包,并通过对数据包中软件版本号的修改,可使客户端软件程序误认为客户端软件版本为低版本,进而触发软件自动更新逻辑,最终也在客户端侧得到用于软件分析和/或软件测试的最新软件升级包,不但能够高效且无限次触发目标软件或设备的自动升级功能,还无需每次测试都购买新设备,大大降低了测试成本,便于实际应用和推广。在一个可能的设计中,所述第三数据包还包含有与所述服务器侧最新版本号对应的软件升级包下载地址,以便所述客户端软件程序在根据所述服务器侧最新版本号与本地客户端侧版本号的对比结果判定客户端软件版本为低版本时,根据所述软件升级包下载地址下载获取最新软件升级包。第四方面,本专利技术提供了另一种软件升级强制触发装置,本文档来自技高网
...

【技术保护点】
1.一种软件升级强制触发方法,其特征在于,包括:/n通过网络流量劫持工具,拦截获取客户端软件程序向服务器发送的第一数据包,其中,所述第一数据包包含有所述客户端软件程序的客户端侧版本号;/n将所述第一数据包中的客户端侧版本号修改为低版本号;/n向所述服务器传送修改后的所述第一数据包,以便所述服务器在根据所述客户端侧版本号与服务器侧最新版本号的对比结果判定客户端软件版本为低版本时,向所述客户端软件程序反馈第二数据包,其中,所述第二数据包包含有所述服务器侧最新版本号和与所述服务器侧最新版本号对应的软件升级包下载地址;/n通过网络流量劫持工具,拦截获取所述第二数据包;/n将所述第二数据包中的服务器侧最新版本号修改为高版本号;/n向所述客户端软件程序传送修改后的所述第二数据包,以便所述客户端软件程序在根据所述服务器侧最新版本号与本地客户端侧版本号的对比结果判定客户端软件版本为低版本时,根据所述软件升级包下载地址下载获取最新软件升级包。/n

【技术特征摘要】
1.一种软件升级强制触发方法,其特征在于,包括:
通过网络流量劫持工具,拦截获取客户端软件程序向服务器发送的第一数据包,其中,所述第一数据包包含有所述客户端软件程序的客户端侧版本号;
将所述第一数据包中的客户端侧版本号修改为低版本号;
向所述服务器传送修改后的所述第一数据包,以便所述服务器在根据所述客户端侧版本号与服务器侧最新版本号的对比结果判定客户端软件版本为低版本时,向所述客户端软件程序反馈第二数据包,其中,所述第二数据包包含有所述服务器侧最新版本号和与所述服务器侧最新版本号对应的软件升级包下载地址;
通过网络流量劫持工具,拦截获取所述第二数据包;
将所述第二数据包中的服务器侧最新版本号修改为高版本号;
向所述客户端软件程序传送修改后的所述第二数据包,以便所述客户端软件程序在根据所述服务器侧最新版本号与本地客户端侧版本号的对比结果判定客户端软件版本为低版本时,根据所述软件升级包下载地址下载获取最新软件升级包。


2.如权利要求1所述的一种软件升级强制触发方法,其特征在于,在通过网络流量劫持工具,拦截获取客户端软件程序向服务器发送的第一数据包之前,所述方法还包括:获取所述网络流量劫持工具的工作IP地址和工作端口,根据所述工作IP地址和所述工作端口设置对应所述客户端软件程序的代理服务器配置信息。


3.如权利要求1所述的一种软件升级强制触发方法,其特征在于,当所述第一数据包和所述第二数据包均为超文本传输协议数据包时,所述网络流量劫持工具采用中间人攻击工具mitmproxy。


4.一种软件升级强制触发装置,其特征在于,包括第一拦截获取单元、第一修改单元、第一传送单元、第二拦截获取单元、第二修改单元和第二传送单元;
所述第一拦截获取单元,用于通过网络流量劫持工具,拦截获取客户端软件程序向服务器发送的第一数据包,其中,所述第一数据包包含有所述客户端软件程序的客户端侧版本号;
所述第一修改单元,通信连接所述第一拦截获取单元,用于将所述第一数据包中的客户端侧版本号修改为低版本号;
所述第一传送单元,通信连接所述第一修改单元,用于向所述服务器传送修改后的所述第一数据包,以便所述服务器在根据所述客户端侧版本号与服务器侧最新版本号的对比结果判定客户端软件版本为低版本时,向所述客户端软件程序反馈第二数据包,其中,所述第二数据包包含有所述服务器侧最新版本号和与所述服务器侧最新版本号对应的软件升级包下载地址;
所述第二拦截获取单元,用于通过网络流量劫持工具,拦截获取所述第二数据包;
所述第二修改单元,通信连接所述第二拦截获取单元,用于将所述第二数据包中的服务器侧最新版本号修改为高版本号;
所述第二传送单元,通信连接所述第二修改单元,用于向所述客户端软件程序传送修改后的所述第二数据包,以便所述...

【专利技术属性】
技术研发人员:余曦晨
申请(专利权)人:四川普思科创信息技术有限公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1