应用的端口检测方法及装置与流程

文档序号:12803298阅读:373来源:国知局
应用的端口检测方法及装置与流程

本发明涉及应用的安全检测领域,具体而言,涉及一种应用的端口检测方法及装置。



背景技术:

目前,一些应用需要在本地监听端口,如果监听的端口是固定不变的(该端口称为固定端口),就可能引发一些安全问题。例如:

恶意攻击者可以逆向解析该应用,逆向解析协议,从而获取该端口接收的数据格式类型,然后构造恶意数据获取敏感信息。比如乌云漏洞:http://www.wooyun.org/bugs/wooyun-2010-094537。

一些应用在本地监听端口时,通过统一资源定位符(uniformresourcelocator,简称为url)传递意向(intent)数据去启动行为(activity),恶意用户就可以构造intent去启动相应的activity,例如在应用客户端存在漏洞时,如果端口接收的数据处理不当,有可能导致客户端的拒绝服务攻击、远程代码执行等严重漏洞的出现。

另外,一些应用在监听某固定端口时,局域网内其他用户就可以探测某终端是否开启了某端口,从而判断该终端是否开启了某应用,泄漏用户隐私信息。

针对上述问题,目前对固定端口进行检测的手段为手工检测,但是,这样检测手段效率不高。



技术实现要素:

根据本申请实施例的一个方面,提供了一种应用的端口检测方法,包括:获取多次重复运行所述待测应用时,所述待测应用所监听的端口信息与所述待测应用的对应关系,得到多个对应关系;判断所述多个对应关系中是否存在相同的所述对应关系,并在存在相同的所述对应关系时,确定所述待测应用所监听的端口中存在固定端口。

根据本申请实施例的另一方面,还提供了一种应用的端口检测装置,包括:控制模块,用于控制多次重复运行待测应用,并获取多次重复运行待测应用时,所述待测应用所监听的端口信息与所述待测应用的对应关系,得到多个对应关系;处理模块, 用于判断所述多个对应关系中是否存在相同的所述对应关系,并在存在相同的所述对应关系时,确定所述待测应用所监听的端口中存在固定端口。

在本申请实施例中,采用对待测应用所监听的端口信息执行重复检测,并在重复检测的执行结果中存在相同的端口和应用的对应关系时,确定待测应用所监听的端口为固定端口的方式,达到了自动对应用所使用的端口是否为固定端口进行检测的目的,进而解决了目前固定端口检测效率不高的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据现有技术的一种应用的端口检测方法的计算机终端的硬件结构框图;

图2是根据本申请实施例的一种可选的应用的端口检测方法的流程示意图;

图3是根据本申请实施例的一种可选的确定端口为待测应用的端口的方法的流程示意图;

图4是根据本申请实施例的一种可选的确定端口为固定端口的方法的流程示意图;

图5是根据本申请实施例的一种可选的应用的端口检测装置的结构框图;

图6是根据本申请实施例的一种计算机终端的结构框图。

具体实施方式

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

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的 任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

实施例1

根据本申请实施例,还提供了一种应用的端口检测方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是根据现有技术的一种应用的端口检测方法的计算机终端的硬件结构框图。如图1所示,计算机终端10可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。

存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的应用的端口检测方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的漏洞检测方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(networkinterfacecontroller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。

在上述运行环境下,本申请提供了如图2所示的应用的端口检测方法。图2是根 据本申请实施例1的应用端口的检测方法的流程图。如图2所示,该方法包括步骤s202-s204:

步骤s202,获取多次重复运行待测应用时,该待测应用所监听的端口信息与上述待测应用的对应关系,得到多个对应关系;

可选地,对于“多次重复运行待测应用”可以理解为多次重启待测应用,以获取上述多个对应关系,也就是说,待测应用所监听的端口信息与上述待测应用的对应关系可以通过重复执行以下步骤a至步骤c得到:步骤a,启动待测应用;步骤b,获取待测应用所监听的端口信息;以及步骤c,确定上述端口信息所指示端口与待测应用的对应关系。

其中,多次重复运行上述待测应用的次数可以根据实际情况确定,例如其取值可以为2、3、4.···;当然为了节省运行资源,可以将其取值设置为2,即仅需执行2次上述处理步骤即可,有时为了防止出现漏检的情况,可以多次执行上述步骤,例如可以执行3次(即预设次数为3),也可以为4次、5次等,但不限于上述取值。

在步骤s202中确定上述端口信息所指示端口与待测应用的对应关系的方式有多种,可选地,可以通过以下处理过程确定:遍历待测应用所在设备上所有正在运行的进程,获取与上述进程中所使用端口对应的应用包名;判断上述应用包名是否为上述待测应用的应用包名,如果是,则记录上述应用包名(packagename)和上述端口的对应关系,将上述应用包名和上述端口的对应关系作为上述端口信息所指示端口与上述待测应用的对应关系。其中,应用包名为应用的唯一标识,主要用于系统识别应用,其也可以作为应用进程的缺省值。

需要说明的是,在确定端口与待测应用的对应关系后,可以将其记录的一个对应关系列表中,以便后续使用时方便调用。

可选地,可以通过以下方式获取与上述进程中所使用端口对应的应用包名:获取与上述端口信息所指示端口对应的用户身份证明(uid);将上述uid转换为用于区分不同进程的进程参数,以及从运行的进程中查找与上述进程参数对应的应用包名。可选地,上述进程参数可以为上述设备上运行的操作系统为上述待测应用所分配的user,但不限于此。

以上述进程参数为user且待测应用为android系统所支持的应用为例,uid和进程参数(user)的转换关系为:对于api17以上版本,user=u0_a+str(uid-10000)。对于api17以下版本,user=app_+str(uid-10000)。

这样,便可以找到所有正在运行的进程中与进程参数(user)对应的应用包名(即 packagename),从而可以确定上述端口是否属于待测应用的端口,进而为步骤s204中的对比过程提供支撑。

以下结合图3详细说明如何确定端口为待测应用的端口。图3是根据本申请实施例的一种可选的确定端口为待测应用的端口的方法的流程示意图。如图3所示,该流程包括以下处理步骤:

步骤s302,遍历所有已经打开的端口信息和对应的协议信息。

步骤s304,根据相应协议,遍历当前运行进程中打开的端口所对应的uid。其中,该协议可以为传输控制协议(transfercontrolprotocol,简称为tcp)协议或者用户数据报协议(userdatagramprotocol,简称为udp协议)。

步骤s306,将uid转化成user。android中第三方应用转化方式为,在api17以上版本,user=u0_a+str(uid-10000)。在api17以下版本,user=app_+str(uid-10000)。

步骤s308,遍历系统中所有正在运行的进程,找到user以及对应的name,该name即第三方应用的packagename。

步骤s310,判断name是否是当前运行应用的packagename,如果是,记下端口以及对应的packagename,进而得到端口和packagename的对应列表;否则,不记录端口和packagename。

步骤s204,判断上述多个对应关系中是否存在相同的对应关系,并在存在相同的所述对应关系时,确定待测应用所监听的端口中存在固定端口,即待测应用存在由于使用固定端口而导致的风险。

将重复执行上述步骤a至步骤c得到的多个对应关系分别进行对比,判断重复执行上述步骤得到的上述执行结果间是否存在相同的上述对应关系,并在存在相同的上述对应关系时,确定上述待测应用所监听的端口为固定端口。

在本申请的一个可选实施例中,上述端口信息所指示的端口(或待测应用所监听的端口)包括但不限于以下之一:设备启动接口、应用安装接口、应用启动接口、应用停止接口、应用卸载接口、应用清理缓存数据接口、设备停止运行接口。

可选地,本实施例提供的上述方法可以通过上述计算机终端来实现,该计算机终端在实现上述方法时,可以通过以下几个处理模块实现:模拟器管理模块、端口侦查模块,结果对比模块,具体地:

(1)模拟器管理模块,

该模块依托模拟器(emualtor),利用adbshell等命令实现模拟器的启动、android应用的安装和运行,停止等接口。这些接口包括但不限于:

1、模拟器启动接口

2、android应用安装接口

3、android应用启动接口

4、android应用停止接口

5、android应用卸载接口

6、android应用清理缓存数据接口

7、模拟器停止接口

(2)端口侦查模块

该模块主要作用是读取设备的端口信息,找到端口与应用的对应关系。首先,在模拟器运行和应用安装之后,遍历所有已经打开的端口信息和对应的协议信息。然后,根据相应协议,遍历当前运行进程中打开的端口所对应的uid。然后,根据uid转化成user。android中第三方应用转化方式为,在api17以上版本,user=u0_a+str(uid-10000)。在api17以下版本,user=app_+str(uid-10000)。接着,遍历系统中所有正在运行的进程,找到user以及对应的name,这个name对于第三方应用来说,即为packagename。然后,判断name是否是当前运行应用的packagename,是,记下端口以及对于的packagename,否则,不记录端口和应用。

(3)结果对比模块

该结果对比模块基于模拟器管理模块和端口侦查模块,利用模拟器进行端口侦查,重复多次(包括但不限于2次、3次、4次等),获取的应用和端口信息进行结果对比,最后得到对比结果。判断对比结果中是否存在相同的端口号和应用,如果有,说明该androind应用使用的端口为固定端口,存在风险。如果没有,该应用就没有该风险。

本申请实施例可以运行于图1所示的计算机终端上,该计算机终端可以包括:智能手机、笔记本电脑、平板电脑、穿戴设备、掌上商务电脑等移动终端,也可以包括常规的台式电脑、实验室用计算机设备等,当然,出于研发成本等因素的考虑,也可以采用运行在不同硬件实体上的模拟软件(或称为模拟器)上,以下以运行在模拟器(emulater)上为例进行说明,此时,上面提到的接口可以通过adbshell等命令来 实现,但不限于此。

以下对运行在模拟器上的应用的固定端口的检测过程进行详细说明。以下可选实施例的主要设计思想在于,利用模拟器进行端口侦查,重复2次,获取的应用和端口信息进行结果对比,最后得到结果。具体地,根据2次获取的端口应用信息,对比是否有相同的端口号和应用,如果有,说明该androind应用使用的端口为固定端口,存在风险。如果没有,该应用就不存在风险。

图4是根据本申请实施例的一种可选的确定端口为固定端口的方法的流程示意图。如图4所示,该流程包括以下处理步骤:

步骤s402,启动模拟器,当然,该步骤中所涉及的模拟器也可以为具体的实体硬件设备,此处使用模拟器使得应用开发过程更加方便,也能够节省一定的开发成本;

步骤s404,安装应用,该应用可以为安卓应用、ios应用等,但不限于此。

此处在安装应用时可以一次性安装多个应用,这样后续便可以批量对应用进行扫描检测,提供检测效率;

步骤s406,启动应用,在步骤s404中安装有多个应用时,此时启动应用可以同时启动上述多个应用,也可以按照预设优先级先后启动,具体可以根据实际情况确定;

步骤s408,端口侦查,此处可以采用图3所示流程实现,此处不再赘述,但不限于图所示流程。此处需要说明的是,在通过该步骤确定端口和应用的对应关系后,可以将多次侦查的结果存储于一列表中,即侦查结果以列表的形式呈现,这样便于以后根据该列表采用不同的策略进行侦查结果的对比,例如按照列表中优先级从高到底的顺序,将处于最高优先级的数据与列表中剩余数据进行对比,然后将次高优先级的数据与列表中所有剩余数据进行对比,直至列表中所有数据两两对比完毕;

步骤s410,停止应用;

步骤s412,重启应用;

需要说明的是,此处重启应用以及步骤s402中的启动应用的处理步骤可以通过人工方式触发,也可以一键触发所有过程,也可以自动触发,例如,对于自动触发和一键触发的方式,可以先设定重复执行检测的次数,在检测到一次侦查完成后,判断重复次数是否达到预设阈值,如果未达到,则直接触发重启待测应用,如果达到,则结束检测过程。

步骤s414,端口侦查,此处过程可以参见步骤s408中的实现过程,此处不再赘 述;

需要说明的是,步骤s416至s414是可以执行多次,以避免侦查结果的遗漏;

步骤s416,卸载应用;

步骤s418,关闭模拟器;

步骤s420,结果对比,如果重复侦查得到的结果中存在相同的端口以及应用名,转步骤s422,否则转步骤s424;

步骤s422,确定上述应用使用固定端口,存在风险;

步骤s424,确定上述应用未使用固定端口,不存在风险。

通过上述实施例及其可选实施例,由于可以对当前运行应用所监听的端口信息执行重复检测,并在重复检测的执行结果间存在相同的端口和应用的对应关系时,确定待测应用所监听的端口为固定端口,因此实现了固定端口的自动化检测,从而可以快速检测出该类问题,避免漏洞问题的产生。同时还可以批量化对应用进行扫描,提高检测效率。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例上述的方法。

实施例2

根据本申请实施例,还提供了一种用于实施上述应用的端口检测方法的装置,该装置可以运行于图1的计算机终端上,但是,并不限于图1所示的计算机终端的结构。如图5所示,该装置包括:

控制模块50,与处理模块52耦合连接,用于控制多次重复运行待测应用,并获取多次重复运行待测应用时,待测应用所监听的端口信息与待测应用的对应关系,得到多个对应关系。在一个可选实施例中,上述重复运行待测应用的次数可以为2,即重复两次。可选地,可以重复多次执行以下步骤a至步骤c,以得到上述多个对应关系:步骤a,启动待测应用;步骤b,获取待测应用所监听的端口信息;以及步骤c,确定所述端口信息所指示端口与待测应用的对应关系。

处理模块52,用于判断所述多个对应关系中是否存在相同的所述对应关系,并在存在相同的对应关系时,确定待测应用所监听的端口中存在固定端口。可选地,上述判断步骤可以通过一个对比过程实现,例如,可以两两比较上述多个对应关系中的对应关系,以确定是否存在相同的对应关系。

其中,对于确定上述对应关系的实现过程,以检测安卓应用的端口为例进行说明。具体地,可以包括以下处理过程:遍历所有已经打开的端口信息和对应的协议信息;根据相应协议,遍历当前运行进程中打开的端口所对应的uid。其中,该协议可以为tcp协议或者udp;根据uid转化成user。android中第三方应用转化方式为,在api17以上版本,user=u0_a+str(uid-10000)。在api17以下版本,user=app_+str(uid-10000);遍历系统中所有正在运行的进程,找到user以及对应的name,该name即第三方应用的packagename;判断name是否是当前运行应用的packagename,如果是,记下端口以及对应的packagename,进而得到端口和packagename的对应列表;否则,不记录端口和packagename。

处理模块52,在确定上述对应关系时可以采用不同的处理方式,即该处理模块52还用于按照以下方式获取所述待测应用所监听的端口信息与所述待测应用的对应关系:遍历上述待测应用所在设备上所有正在运行的进程,获取与上述进程中所使用端口对应的应用包名;判断上述应用包名是否为上述待测应用的应用包名,如果是,则记录上述应用包名和上述端口的对应关系,将上述应用包名和上述端口的对应关系作为上述端口信息所指示端口与上述待测应用的对应关系。

可选地,处理模块52,还用于按照以下方式获取与上述进程中所使用端口对应的应用包名:获取与上述端口信息所指示端口对应的用户身份证明uid;以及将上述uid转换为用于区分不同进程的进程参数,以及从运行的进程中查找与上述进程参数对应的应用包名。

需要说明的是,上述控制模块50、处理模块52对应于实施例1中的步骤s202至步骤s204,两个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1 提供计算机终端10中,上述模块可以通过软件实现,也可以通过硬件实现。在上述模块通过硬件实现时,可以表现为以下实现形式,但不限于此:控制模块50和处理模块52位于同一处理器中;或者,控制模块50和处理模块52位于不同的处理器中。

需要说明的是,处理模块52可以由一个独立的模块来实现,也可以由不同的子模块或单元来完成,对于后者,处理模块52可以包括:启动单元,用于启动待测应用;获取单元,用于获取上述待测应用所监听的端口信息;第一确定单元,用于确定上述端口信息所指示端口与上述待测应用的对应关系;对比单元,用于将重复执行上述步骤得到的执行结果分别进行对比,判断重复执行上述步骤得到的上述执行结果间是否存在相同的上述对应关系;第二确定单元,用于在存在相同的上述对应关系时,确定上述待测应用所监听的端口为固定端口。上述各个单元在具体应用时也可以以任意组合的形式合并为不同的独立单元,例如,对比单元和第二确定单元合并为一个单元等,但不限于上述表现形式。

实施例3

本申请的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。

可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。

在本实施例中,上述计算机终端可以执行应用的端口检测方法中以下步骤的程序代码:获取多次重复运行待测应用时,上述待测应用所监听的端口信息与上述待测应用的对应关系,得到多个对应关系;判断上述多个对应关系中是否存在相同的上述对应关系,并在存在相同的上述对应关系时,确定上述待测应用所监听的端口中存在固定端口。

可选地,图6是根据本申请实施例的一种计算机终端的结构框图。如图6所示,该计算机终端a可以包括:一个或多个(图中仅示出一个)处理器61、存储器63、以及传输装置65。

其中,存储器63可用于存储软件程序以及模块,如本申请实施例中的应用的端口检测方法和装置对应的程序指令/模块,处理器61通过运行存储在存储器63内的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器63可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非 易失性固态存储器。在一些实例中,存储器63可进一步包括相对于处理器61远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端a。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

上述的传输装置65用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置65包括一个网络适配器(networkinterfacecontroller,nic),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置65为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。

其中,具体地,存储器63用于存储预设动作条件和预设权限用户的信息、以及应用程序。

处理器61可以通过传输装置65调用存储器63存储的信息及应用程序,以执行下述步骤:按照预设次数重复执行以下步骤:获取多次重复运行待测应用时,上述待测应用所监听的端口信息与上述待测应用的对应关系,得到多个对应关系;判断上述多个对应关系中是否存在相同的上述对应关系,并在存在相同的上述对应关系时,确定上述待测应用所监听的端口中存在固定端口。

可选的,上述处理器61还可以执行如下步骤的程序代码:遍历所述待测应用所在设备上所有正在运行的进程,获取与所述进程中所使用端口对应的应用包名;判断应用包名是否为待测应用的应用包名,如果是,则记录应用包名和端口的对应关系,将应用包名和端口的对应关系作为端口信息所指示端口与待测应用的对应关系。

可选的,上述处理器61还可以执行如下步骤的程序代码:获取与所述端口信息所指示端口对应的用户身份证明uid;将所述uid转换为用于区分不同进程的进程参数,以及从运行的进程中查找与所述进程参数对应的应用包名。

可选的,上述处理器61还可以执行如下步骤的程序代码:步骤a,启动待测应用;步骤b,获取待测应用所监听的端口信息;以及步骤c,确定端口信息所指示端口与待测应用的对应关系;将重复执行步骤a至步骤c得到的多个对应关系分别进行对比,判断是否存在相同的对应关系,并在存在相同的对应关系时,确定待测应用所监听的端口为固定端口。

在本申请实施例中,采用对当前运行应用所监听的端口信息执行重复检测,并在重复检测的执行结果间存在相同的端口和应用的对应关系时,确定待测应用所监听的端口为固定端口的方式,达到了自动对应用所使用的端口是否为固定端口进行检测的目的,进而解决了目前固定端口检测效率不高的技术问题。

本领域普通技术人员可以理解,图6所示的结构仅为示意,计算机终端也可以是智能手机(如android手机、ios手机等)、平板电脑、掌声电脑以及移动互联网设备(mobileinternetdevices,mid)、pad等终端设备。图6其并不对上述电子装置的结构造成限定。例如,计算机终端a还可包括比图6中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图6所示不同的配置。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-onlymemory,rom)、随机存取器(randomaccessmemory,ram)、磁盘或光盘等。

实施例4

本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例1所提供的应用的端口检测方法所执行的程序代码。

可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取多次重复运行待测应用时,上述待测应用所监听的端口信息与上述待测应用的对应关系,得到多个对应关系;判断上述多个对应关系中是否存在相同的上述对应关系,并在存在相同的上述对应关系时,确定上述待测应用所监听的端口中存在固定端口。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:按照预设次数重复执行以下步骤a至步骤c,得到多个对应关系:步骤a,启动待测应用;步骤b,获取待测应用所监听的端口信息;以及步骤c,确定端口信息所指示端口与待测应用的对应关系;将重复执行步骤a至步骤c得到的多个对应关系分别进行对比,判断是否存在相同的对应关系,并在存在相同的对应关系时,确定待测应用所监听的端口为固定端口。

可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:遍历待测应用所在设备上所有正在运行的进程,获取与上述进程中所使用端口对应的应用包名;判断应用包名是否为待测应用的应用包名,如果是,则记录应用包名和端口的对应关系,将应用包名和端口的对应关系作为端口信息所指示端口与待测应用的对应关系。

可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:获取与所述端口信息所指示端口对应的用户身份证明uid;将所述uid转换为用于区分 不同进程的进程参数,以及从运行的进程中查找与所述进程参数对应的应用包名。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

可选地,本实施例中的具体示例可以参考上述实施例1中所描述的示例,本实施例在此不再赘述。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上上述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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