一种基于网络抓包获取APP认证信息的方法及装置与流程

文档序号:18898956发布日期:2019-10-18 21:40阅读:502来源:国知局
一种基于网络抓包获取APP认证信息的方法及装置与流程

本发明涉及数据获取技术领域,尤其涉及一种基于网络抓包获取app认证信息的方法及装置。



背景技术:

在获取app信息的时候,发送请求时需要携带app的认证信息,认证信息可以通过抓包工具获得,但是认证信息是有时效性的,导致过一段时间就要手动去抓包获取解析认证信息。

手动登录app,将手机和抓包工具设置在同一个网络中,设置手机代理,浏览手机app内容,通过抓包工具获取认证信息手动解析保存到本地。

现有技术中获取app信息时,每次都需要手动去刷新app内容,然后通过抓包工具获得的信息也需要进行解析,需要人看守,若晚上没人,则程序不能继续运行。

因此,现有技术还有待于改进和发展。



技术实现要素:

鉴于上述现有技术的不足,本发明的目的在于提供一种基于网络抓包获取app认证信息的方法及装置,旨在解决现有技术中获取app信息时,每次都需要手动去刷新app内容,然后通过抓包工具获得的信息也需要进行解析,需要人看守,若晚上没人,则程序不能继续运行的问题。

本发明的技术方案如下:

一种基于网络抓包获取app认证信息的方法,所述方法包括:

调用软件工具实现app自动登录及模拟浏览;

获取抓包工具,改写抓包工具代码自动获取指定请求的请求信息;

取出截获的请求信息,对请求信息进行处理后获取解析后的app认证信息并保存。

可选地,所述调用软件工具实现app自动登录及模拟浏览,包括:

预先安装虚拟机,调用ui自动化测试工具模拟点击,实现app自动登录及模拟浏览。

可选地,所述获取抓包工具,改写抓包工具代码自动获取指定请求的请求信息,包括:

获取抓包工具,改写抓包工具代码;

自动过滤经过抓包工具的请求是否符合要求;若符合要求,则获取完整的请求信息并保存。

可选地,所述取出截获的请求信息,对请求信息进行处理后获取解析后的app认证信息并保存,包括:

取出截获的请求信息,对请求信息进行清洗和提取;

将清洗和提取后将解析的app认证信息进行保存。

可选地,所述调用软件工具实现app自动登录及模拟浏览,包括:

预先安装虚拟机,调用airtest工具或是appnium工具模拟点击,实现app自动登录及模拟浏览。

可选地,所述获取抓包工具,改写抓包工具代码自动获取指定请求的请求信息,包括:

获取mimproxy工具或fiddler工具,使用js编写mimproxy代码或fiddler代码,自动过滤经过mimproxy工具或fiddler工具的请求是否符合要求,如果符合,则获取完整的请求信息并保存。

可选地,所述取出截获的请求信息,对请求信息进行处理后获取解析后的app认证信息并保存,包括:

取出截获的请求信息,利用python脚本进行清洗和提取处理后,获取解析后的app认证信息并保存到数据库。

本发明的另一实施例提供了一种基于网络抓包获取app认证信息的装置,所述装置包括至少一个处理器;以及,

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的基于网络抓包获取app认证信息的方法。

本发明的另一实施例还提供了一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行时,可使得所述一个或多个处理器执行上述的基于网络抓包获取app认证信息的方法。

本发明的另一种实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被处理器执行时,使所述处理器执行上述的基于网络抓包获取app认证信息的方法。

有益效果:本发明公开了一种基于网络抓包获取app认证信息的方法及装置,相比于现有技术,本发明实施例通过程序结合抓包工具自动获取解析认证信息并自动存入数据库,可实现全天24小时持续爬取app认证信息,而不需要人看守,提高app认证信息爬取效率,降低人力成本。

附图说明

下面将结合附图及实施例对本发明作进一步说明,附图中:

图1为本发明一种基于网络抓包获取app认证信息的方法较佳实施例的流程图;

图2为本发明一种基于网络抓包获取app认证信息的装置的较佳实施例的硬件结构示意图。

具体实施方式

为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。以下结合附图对本发明实施例进行介绍。

本发明实施例提供了一种基于网络抓包获取app认证信息的方法。请参阅图1,图1为本发明一种基于网络抓包获取app认证信息的方法较佳实施例的流程图。如图1所示,其包括步骤:

步骤s100、调用软件工具实现app自动登录及模拟浏览;

步骤s200、获取抓包工具,改写抓包工具代码自动获取指定请求的请求信息;

步骤s300、取出截获的请求信息,对请求信息进行处理后获取解析后的app认证信息并保存。

具体实施时,本发明实施例,主要是通过程序结合抓包工具自动获取解析认证信息并自动存入数据库,实现可持续爬取app认证信息,不需要人看守。

具体的,通过虚拟机及ui自动化测试工具等软件工具实现app的自动登录和模拟浏览。虚拟机可采用夜神模拟器,也可根据需要采用其他的虚拟机。

在实现自动登录和模拟浏览后,获取抓包工具,并对抓包工具的代码进行改写,从而使抓包工具可自动获取指定请求的请求信息,其中指定请求是指认证请求。

当获取认证请求的请求信息后,对请求信息进行解析,解析出请求信息中的app认证信息,从而实现自动获取app认证信息。本实施例的方案实现自动登录app,自动浏览app,自动抓取请求信息,自动解析并保存认证信息,完全脱离人工手动干预,使得爬取效率高,为人节省更多时间。

在进一步地实施例中,调用软件工具实现app自动登录及模拟浏览,包括:

预先安装虚拟机,调用ui自动化测试工具模拟点击,实现app自动登录及模拟浏览。

具体实施时,预先安装虚拟机,以虚拟机为夜神模拟器为例,在安装夜神模拟器后,调用ui自动化测试工具模拟点击操作,从而实现没有人工操作,也可以实现app自动登录以及模拟人进行浏览。

进一步地,调用软件工具实现app自动登录及模拟浏览,包括:

预先安装虚拟机,调用airtest工具或是appnium工具模拟点击,实现app自动登录及模拟浏览。

具体实施时,使用airtest+虚拟机实现自动登录和模拟浏览,其中airtest是网易出品的一款基于图像识别和poco控件识别的一款ui自动化测试工具;airtest是网易出品的一款基于图像识别和poco控件识别的一款ui自动化测试工具。这个框架的祖宗就是一种新颖的图形脚本语言sikuli。sikuli这个框架的原理是这样的,计算机用户不需要一行行的去写代码,而是用屏幕截屏的方式,用截出来的图形摆列组合成神器的程序,这是airtest的一部分。另外,airtest也基于poco这个u控件搜索框架,这个框架也是网易自家的跨平台u测试框架,原理类似于appium,通过控件的名称,id之类的来定位目标控件,然后调用函数方法,例如click(),swip()之类的方法来对目标控件进行点击或者是操作。

安装夜神模拟器(虚拟机),通过编写python代码调用airtest模拟点击,实现自动登录,以及进一步的浏览操作。

在一些其他的实施例中,也可使用appnium+虚拟机实现登录浏览app自动化;appnium和airtest是同类型工具。appium是一个自动化测试开源工具,支持ios平台和android平台上的原生应用,web应用和混合应用。

进一步地,获取抓包工具,改写抓包工具代码自动获取指定请求的请求信息,包括:

获取抓包工具,改写抓包工具代码;

自动过滤经过抓包工具的请求是否符合要求;若符合要求,则获取完整的请求信息并保存。

具体实施时,获取抓包工具,抓包工具是拦截查看网络数据包内容的软件。抓包工具由于其可以对数据通信过程中的所有lp报文实施捕获并进行逐层拆包分析,一直是传统固网数通维护工作中罐常用的故障排查工具。对抓包工具的代码进行改写,自动过滤经过抓包工具的请求是否符合要求,若符合要求,则说明是指定请求的请求信息,此时保存请求信息,若不符合要求,则跳过不处理,继续抓取经过抓包工具的请求。

进一步地,获取抓包工具,改写抓包工具代码自动获取指定请求的请求信息,包括:

获取mimproxy工具或fiddler工具,使用js编写mimproxy代码或fiddler代码,自动过滤经过mimproxy工具或fiddler工具的请求是否符合要求,如果符合,则获取完整的请求信息并保存。

具体实施时,使用js编写fiddler代码,自动过滤经过抓包工具的请求是否符合,如果符合将请求完整保存到本地或数据库,否则跳过。fiddler是强大的抓包工具,它的原理是以web代理服务器的形式进行工作的,使用的代理地址是:127.0.0.1,端口默认为8888,我们也可以通过设置进行修改。代理就是在客户端和服务器之间设置一道关卡,客户端先将请求数据发送出去后,代理服务器会将数据包进行拦截,代理服务器再冒充客户端发送数据到服务器;同理,服务器将响应数据返回,代理服务器也会将数据拦截,再返回给客户端。fiddler可以抓取支持http代理的任意程序的数据包,如果要抓取https会话,要先安装证书.

在一些其他的实施例中,mimproxy+python获取并解析;过程相同,只是使用的工具不同,mimproxy也是抓包工具。mitmproxy是一个支持http和https的抓包程序,有类似fiddler、charles的功能,只不过它是一个控制台的形式操作。

mitmproxy还有两个关联组件。一个是mitmdump,它是mitmproxy的命令行接口,利用它我们可以对接python脚本,用python实现监听后的处理。另一个是mitmweb,它是一个web程序,通过它我们可以清楚观察mitmproxy捕获的请求。

进一步地,取出截获的请求信息,对请求信息进行处理后获取解析后的app认证信息并保存,包括:

取出截获的请求信息,对请求信息进行清洗和提取;

将清洗和提取后将解析的app认证信息进行保存。

具体实施时,取出抓包工具保存的请求信息,对请求信息进行清洗和提取,中获取其中的app认证信息,并对app认证信息进行保存。

进一步地,取出截获的请求信息,对请求信息进行处理后获取解析后的app认证信息并保存,包括:

取出截获的请求信息,利用python脚本进行清洗和提取处理后,获取解析后的app认证信息并保存到数据库。

具体实施时,使用python脚本进行解析和序列化存储;取出截获的请求信息,利用python脚本进行清洗和提取将解析到的认证信息保存到数据库。

本发明提供了一种基于网络抓包获取app认证信息的方法及装置,方法包括:调用软件工具实现app自动登录及模拟浏览;获取抓包工具,改写抓包工具代码自动获取指定请求的请求信息;取出截获的请求信息,对请求信息进行处理后获取解析后的app认证信息并保存。本发明实施例通过程序结合抓包工具自动获取解析认证信息并自动存入数据库,可实现全天24小时持续爬取app认证信息,而不需要人看守,提高app认证信息爬取效率,降低人力成本。

需要说明的是,在上述各个实施例中,上述各步骤之间并不必然存在一定的先后顺序,本领域普通技术人员,根据本发明实施例的描述可以理解,不同实施例中,上述各步骤可以有不同的执行顺序,亦即,可以并行执行,变可以交换执行等等。

本发明另一实施例提供一种基于网络抓包获取app认证信息的装置,如图2所示,装置10包括:

一个或多个处理器110以及存储器120,图2中以一个处理器110为例进行介绍,处理器110和存储器120可以通过总线或者其他方式连接,图2中以通过总线连接为例。

处理器110用于完成,装置10的各种控制逻辑,其可以为通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、单片机、arm(acornriscmachine)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。还有,处理器110还可以是任何传统处理器、微处理器或状态机。处理器110也可以被实现为计算设备的组合,例如,dsp和微处理器的组合、多个微处理器、一个或多个微处理器结合dsp核、或任何其它这种配置。

存储器120作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的基于网络抓包获取app认证信息的方法对应的程序指令。处理器110通过运行存储在存储器120中的非易失性软件程序、指令以及单元,从而执行装置10的各种功能应用以及数据处理,即实现上述方法实施例中的基于网络抓包获取app认证信息的方法。

存储器120可以包括存储程序区和存储数据区,其中,存储程序区可存储操作装置、至少一个功能所需要的应用程序;存储数据区可存储根据装置10使用所创建的数据等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器120可选包括相对于处理器110远程设置的存储器,这些远程存储器可以通过网络连接至装置10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

一个或者多个单元存储在存储器120中,当被一个或者多个处理器110执行时,执行上述任意方法实施例中的基于网络抓包获取app认证信息的方法,例如,执行以上描述的图1中的方法步骤s100至步骤s300。

本发明实施例提供了一种非易失性计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如,执行以上描述的图1中的方法步骤s100至步骤s300。

作为示例,非易失性存储介质能够包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦rom(eeprom)或闪速存储器。易失性存储器能够包括作为外部高速缓存存储器的随机存取存储器(ram)。通过说明丽非限制,ram可以以诸如同步ram(sram)、动态ram、(dram)、同步dram(sdram)、双数据速率sdram(ddrsdram)、增强型sdram(esdram)、synchlinkdram(sldram)以及直接rambus(兰巴斯)ram(drram)之类的许多形式得到。本文中所描述的操作环境的所公开的存储器组件或存储器旨在包括这些和/或任何其他适合类型的存储器中的一个或多个。

本发明的另一种实施例提供了一种计算机程序产品,计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被处理器执行时,使所述处理器执行上述方法实施例的基于网络抓包获取app认证信息的方法。例如,执行以上描述的图1中的方法步骤s100至步骤s300。

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

通过以上的实施例的描述,本领域的技术人员可以清楚地了解到各实施例可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件实现。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存在于计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)执行各个实施例或者实施例的某些部分的方法。

除了其他之外,诸如"能够'、"能"、"可能"或"可以"之类的条件语言除非另外具体地陈述或者在如所使用的上下文内以其他方式理解,否则一般地旨在传达特定实施方式能包括(然而其他实施方式不包括)特定特征、元件和/或操作。因此,这样的条件语言一般地不旨在暗示特征、元件和/或操作对于一个或多个实施方式无论如何都是需要的或者一个或多个实施方式必须包括用于在有或没有学生输入或提示的情况下判定这些特征、元件和/或操作是否被包括或者将在任何特定实施方式中被执行的逻辑。

已经在本文中在本说明书和附图中描述的内容包括能够提供基于网络抓包获取app认证信息的方法及装置的示例。当然,不能够出于描述本公开的各种特征的目的来描述元件和/或方法的每个可以想象的组合,但是可以认识到,所公开的特征的许多另外的组合和置换是可能的。因此,显而易见的是,在不脱离本公开的范围或精神的情况下能够对本公开做出各种修改。此外,或在替代方案中,本公开的其他实施例从对本说明书和附图的考虑以及如本文中所呈现的本公开的实践中可能是显而易见的。意图是,本说明书和附图中所提出的示例在所有方面被认为是说明性的而非限制性的。尽管在本文中采用了特定术语,但是它们在通用和描述性意义上被使用并且不用于限制的目的。

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