一种检测软件的运行流量的方法及装置与流程

文档序号:11158139阅读:976来源:国知局
一种检测软件的运行流量的方法及装置与制造工艺

本发明涉及计算机技术领域,特别涉及一种检测软件的运行流量的方法及装置。



背景技术:

随着移动终端的快速发展,安装在移动终端上的软件也越来越多,如何对这些软件进行监控越来越受到重视。其中,软件的运行流量是一个非常重要的参数。

现有技术中,对于移动终端上的软件的运行流量的检测主要通过计算机来完成。将移动终端与计算机连接,在计算机上安装检测工具,通过检测工具来检测移动终端上的软件的运行流量。

通过上述描述可见,现有技术中检测移动终端上的软件的运行流量的方案,需要通过计算机来检测,比较不方便。



技术实现要素:

本发明实施例提供了一种检测软件的运行流量的方法及装置,能够更加方便地检测移动终端上的软件的运行流量。

一方面,本发明实施例提供了一种检测软件的运行流量的方法,包括:将tcpdump加载到待检测软件所在的目标系统中;还包括:

获取所述目标系统的root权限,在root权限下运行所述tcpdump;

启动所述待检测软件;

利用所述tcpdump对所述待检测软件进行抓包处理,生成抓包结果;

根据所述抓包结果,确定所述待检测软件的运行流量。

进一步地,所述利用所述tcpdump对所述待检测软件进行抓包处理,包括:

利用所述tcpdump在所述目标系统中注册底层网络协议;

利用所述tcpdump,根据所述底层网络协议,复制所述待检测软件传输的数据包。

进一步地,所述抓包结果,包括:pcap文件;

所述根据所述抓包结果,确定所述待检测软件的运行流量,包括:

对所述pcap文件进行解析,确定出所述待检测软件的数据流量。

进一步地,该方法,进一步包括:

预先设置目标主机的IP地址和端口;

所述利用所述tcpdump对所述待检测软件进行抓包处理,包括:

利用所述tcpdump监控所述目标主机的IP地址和端口,获取所述目标主机的IP地址和端口与所述待检测软件之间交互的数据包。

进一步地,所述在root权限下运行tcpdump,包括:

在root权限下,在所述目标系统中的adb shell中运行所述tcpdump。

另一方面,本发明实施例提供了一种检测软件的运行流量的装置,包括:

加载单元,用于将tcpdump加载到待检测软件所在的目标系统中;

运行单元,用于获取所述目标系统的root权限,在root权限下运行所述tcpdump;

启动单元,用于启动所述待检测软件;

所述tcpdump,用于对所述待检测软件进行抓包处理,生成抓包结果;

分析单元,用于根据所述抓包结果,确定所述待检测软件的运行流量。

进一步地,所述tcpdump,用于在所述目标系统中注册底层网络协议,根据所述底层网络协议,复制所述待检测软件传输的数据包。

进一步地,所述抓包结果,包括:pcap文件;

所述分析单元,用于对所述pcap文件进行解析,确定出所述待检测软件的数据流量。

进一步地,该装置进一步包括:

设置单元,用于设置目标主机的IP地址和端口;

所述tcpdump,用于监控所述目标主机的IP地址和端口,获取所述目标主机的IP地址和端口与所述待检测软件之间交互的数据包。

进一步地,所述运行单元,用于在root权限下,在所述目标系统中的adb shell中运行所述tcpdump。

在本发明实施例中,在待检测软件所在的目标系统中加载tcpdump,并在目标系统的root权限下运行tcpdump,通过tcpdump对待检测软件进行抓包处理,通过抓包结果,确定出待检测软件的运行流量,无需通过外部的计算机进行处理,在待检测软件所在的目标系统中即可实现对待检测软件的运行流量的检测,实现更加方便地检测移动终端上的软件的运行流量。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一实施例提供的一种检测软件的运行流量的方法的流程图;

图2是本发明一实施例提供的另一种检测软件的运行流量的方法的流程图;

图3是本发明一实施例提供的一种检测软件的运行流量的装置的示意图;

图4是本发明一实施例提供的另一种检测软件的运行流量的装置的示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,本发明实施例提供了一种检测软件的运行流量的方法,该方法可以包括以下步骤:

步骤101:将tcpdump加载到待检测软件所在的目标系统中;

步骤102:获取所述目标系统的root权限,在root权限下运行所述tcpdump;

步骤103:启动所述待检测软件;

步骤104:利用所述tcpdump对所述待检测软件进行抓包处理,生成抓包结果;

步骤105:根据所述抓包结果,确定所述待检测软件的运行流量。

在本发明实施例中,在待检测软件所在的目标系统中加载tcpdump,并在目标系统的root权限下运行tcpdump,通过tcpdump对待检测软件进行抓包处理,通过抓包结果,确定出待检测软件的运行流量,无需通过外部的计算机进行处理,在待检测软件所在的目标系统中即可实现对待检测软件的运行流量的检测,实现更加方便地检测移动终端上的软件的运行流量。

在本发明一实施例中,所述利用所述tcpdump对所述待检测软件进行抓包处理,包括:

利用所述tcpdump在所述目标系统中注册底层网络协议;

利用所述tcpdump,根据所述底层网络协议,复制所述待检测软件传输的数据包。

在本发明实施例中,tcpdump通过在目标系统中注册底层网络协议,获取对数据包的处理权。当目标系统传输到数据包时,会给tcpdump一次处理的机会,tcpdump利用该机会复制该数据包。通过本发明实施例能够更加全面的抓取待检测软件传输的数据包。

在本发明一实施例中,所述抓包结果,包括:pcap文件;

所述根据所述抓包结果,确定所述待检测软件的运行流量,包括:

对所述pcap文件进行解析,确定出所述待检测软件的数据流量。

在本发明实施例中,pcap文件支持把抓取的数据包保存为本地文件和从本地文件读取信息,能够更加方便处理抓取的数据包。

在本发明一实施例中,该方法进一步包括:

预先设置目标主机的IP地址和端口;

所述利用所述tcpdump对所述待检测软件进行抓包处理,包括:

利用所述tcpdump监控所述目标主机的IP地址和端口,获取所述目标主机的IP地址和端口与所述待检测软件之间交互的数据包。

在本发明实施例中,通过设置目标主机的IP地址和端口可以对指定的目标主机的数据包进行抓取。

在本发明一实施例中,所述在root权限下运行tcpdump,包括:

在root权限下,在所述目标系统中的adb shell中运行所述tcpdump。

如图2所示,本发明实施例提供了一种检测软件的运行流量的方法,该方法可以包括以下步骤:

步骤201:将tcpdump加载到待检测软件所在的目标系统中。

具体地,该目标系统可以是Android系统,该待检测软件可以是手机软件。在目标系统安装tcpdump。例如:将tcpdump导入到Android系统中的/data/local/tmp/tcpdump路径下。

步骤202:获取目标系统的root权限。

为了使得tcpdump能够正常运行,需要获取目标系统的root权限。

步骤203:在root权限下,在目标系统中的adb shell中运行tcpdump。

具体地,在adb shell中执行tcpdump相关的抓包命令。

该步骤可以通过以下代码实现:

1|shell@hammerhead:/$su-c/data/local/tmp/tcpdump-v-i any-s 0-c 2000-w/sdcard/us.pcap

tcpdump:listening on any,link-type LINUX_SLL(Linux cooked),capture size 262144bytes

2000packets captured

2024packets received by filter

0packets dropped by kernel

步骤204:启动待检测软件。

启动待检测软件后,待检测软件与外部进行交互,传输数据包。

步骤205:利用tcpdump在目标系统中注册底层网络协议。

这里的底层网络协议可以是虚拟的底层网络协议,主要是用来获取数据包的处理权。

步骤206:利用tcpdump,根据底层网络协议,复制待检测软件传输的数据包。

复制了待检测软件传输的数据包,可以获取数据包中的信息。

步骤207:根据复制的数据包生成pcap文件。

例如:可以将pcap文件保存到/sdcard/us.pcap中。

步骤208:对pcap文件进行解析,确定出待检测软件的数据流量。

具体地,可以将pcap文件导入到wireshark进行处理,通过wireshark对pcap文件进行解析,确定出待检测软件的数据流量。例如:找出该pcap文件对应的TCP Stream,在筛选出的TCP Stream中,将各条记录的Length进行求和,即可得到总的大小,该总的大小就是待检测软件的数据流量。例如,发送流量的总和,即100.84.126.160->168.235.199.134的总和,加和总值为3722bytes;接收流量的总和,即168.235.199.134->100.84.126.160的总和,加和总值为6300bytes,也就是说,待检测软件的数据流量为6300bytes。

本发明实施例可以应用于Android系统中的软件。

当将tcpdump应用于Android系统时,可以预先设置Android系统对应的tcpdump。

如图3、图4所示,本发明实施例提供了一种检测软件的运行流量的装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图3所示,为本发明实施例提供的一种检测软件的运行流量的装置所在设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图4所示,作为一个逻辑意义上的装置,是通过其所在设备的CPU将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。本实施例提供的一种检测软件的运行流量的装置,包括:

加载单元401,用于将tcpdump加载到待检测软件所在的目标系统中;

运行单元402,用于获取所述目标系统的root权限,在root权限下运行所述tcpdump;

启动单元403,用于启动所述待检测软件;

所述tcpdump404,用于对所述待检测软件进行抓包处理,生成抓包结果;

分析单元405,用于根据所述抓包结果,确定所述待检测软件的运行流量。

在本发明一实施例中,所述tcpdump,用于在所述目标系统中注册底层网络协议,根据所述底层网络协议,复制所述待检测软件传输的数据包。

在本发明一实施例中,所述抓包结果,包括:pcap文件;

所述分析单元,用于对所述pcap文件进行解析,确定出所述待检测软件的数据流量。

在本发明一实施例中,该装置,进一步包括:

设置单元,用于设置目标主机的IP地址和端口;

所述tcpdump,用于监控所述目标主机的IP地址和端口,获取所述目标主机的IP地址和端口与所述待检测软件之间交互的数据包。

在本发明一实施例中,所述运行单元,用于在root权限下,在所述目标系统中的adb shell中运行所述tcpdump。

上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。

本发明各个实施例至少具有如下有益效果:

1、在本发明实施例中,在待检测软件所在的目标系统中加载tcpdump,并在目标系统的root权限下运行tcpdump,通过tcpdump对待检测软件进行抓包处理,通过抓包结果,确定出待检测软件的运行流量,无需通过外部的计算机进行处理,在待检测软件所在的目标系统中即可实现对待检测软件的运行流量的检测,实现更加方便地检测移动终端上的软件的运行流量。

2、在本发明实施例中,tcpdump通过在目标系统中注册底层网络协议,获取对数据包的处理权。当目标系统传输到数据包时,会给tcpdump一次处理的机会,tcpdump利用该机会复制该数据包。通过本发明实施例能够更加全面的抓取待检测软件传输的数据包。

需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个〃·····”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。

最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1