一种展示数据包内容的方法及装置与流程

文档序号:12133987阅读:241来源:国知局
一种展示数据包内容的方法及装置与流程
本申请涉及通信
技术领域
,特别涉及展示数据包内容的方法及装置。
背景技术
:在网络通信中,待传输的文件在传输过程中会被划分为多个数据包,每个数据包都包含该文件的部分内容以及发送者和接收者的地址信息,并沿着不同的路径在一个或多个网络中传输,最后在目的地重新组合。一款应用在上线运行过程中会发送和接收多组数据包,当对应用的数据进行分析时,就需要先使用抓包工具抓取该应用收发的数据包,然后根据不同的分析需求对数据包进行筛选。当需要根据数据包的内容来对数据包进行筛选时,就需要展示数据包的内容。现有技术中,数据包内容的展示需要筛选人员对数据包进行手动归类、排序和解析,然后将解析内容手动组合并保存为一个可读文件,最后再手动调用相应的程序打开该可读文件以展示数据包的内容。可见,现有技术展示数据包内容时的效率较低。技术实现要素:本发明实施例提供展示数据包内容的方法及装置,用于解决现有技术展示数据包内容时效率较低的问题。根据本发明实施例的第一方面,提供一种展示数据包内容的方法,所述方法应用于抓包客户端,所述方法包括:抓取本地收发的数据包并记录所述数据包的协议信息,所述协议信息包括传输层协议信息和应用层协议信息;根据所述传输层协议信息将所述数据包整理为一组或多组数据包序列;根据所述应用层协议信息将所述一组或多组数据包序列解析为一组或多组文件,其中所述每组文件包含一个或多个文件;根据所述每组文件内各文件的属性,调用对应的应用展示所述每组文件内各文件的内容。根据本发明实施例的第二方面,提供一种展示数据包内容的装置,所述装置应用于抓包客户端,所述装置包括:抓取单元,用于抓取本地收发的数据包并记录所述数据包的协议信息,所述协议信息包括传输层协议信息和应用层协议信息;整理单元,用于根据所述传输层协议信息将所述数据包整理为一组或多组数据包序列;解析单元,用于根据所述应用层协议信息将所述一组或多组数据包序列解析为一组或多组文件,其中所述每组文件包含一个或多个文件;展示单元,用于根据所述每组文件内各文件的属性,调用对应的应用展示所述每组文件内各文件的内容。由以上技术方案可见,本发明实施例在抓取到数据包后,自动根据数据包的协议信息将数据包整理、解析和保存为一组或多组文件,并根据每组文件内各文件的属性调用对应的应用展示文件内容,实现了抓包客户端对所抓取数据包的内容的自动展示,提高了展示数据包内容的效率。附图说明图1为本发明实施例展示数据包内容的方法的一个应用场景示意图;图2为本发明展示数据包内容的方法的一个实施例流程图;图3为本发明展示数据包内容的方法的另一个实施例流程图;图4为本发明展示数据包内容的装置所在设备的一种硬件结构图;图5为本发明展示数据包内容的装置的一个实施例框图。具体实施方式为了使本
技术领域
的人员更好的理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中的技术方案作进一步详细的说明。图1为本发明实施例展示数据包内容的方法的一个应用场景示意图。如图1所示,该应用场景中包括互联网相连的用户设备,其中,所示用户设备包括设备网卡以及安装在设备上的抓包客户端,所示用户设备可以同时运行N个进程并通过设备网卡同互联网进行数据交互。所示抓包客户端与用户设备的网卡相连,可以抓取用户设备同互联网交互的数据包。需要说明的是,抓包客户端可以如图1所示安装在用户设备上,也可以独立于用户设备在其它设备上安装。以对图1中所示用户设备收发的数据包内容的展示为例,现有技术中,需要技术人员在抓包客户端对所示N个进程收发的数据包进行手动归类、排序和解析,然后将解析内容手动组合并保存为一个可读文件,最后再手动调用相应的程序打开该可读文件以展示数据包的内容。可见,现有技术展示数据包内容时的效率较低。在本发明实施例中,抓包客户端在抓取到数据包后,自动根据数据包的协议信息将数据包整理、解析和保存为一组或多组文件,并根据每组文件内各文件的属性调用对应的应用展示文件内容,实现了抓包客户端对所抓取数据包的内容的自动展示,提高了展示数据包内容的效率。下面结合图1示出的应用场景,对本发明实施例进行详细说明。参见图2,图2为本发明展示数据包内容的方法的一个实施例流程图,该实施例应用于抓包客户端,包括以下步骤:步骤201:抓取本地收发的数据包并记录所述数据包的协议信息,所述协议信息包括传输层协议信息和应用层协议信息。在一个可选的例子中,上述传输层协议可以包括TCP/IP(TransmissionControlProtocol/InternetProtocol,传输控制协议/因特网互联协议)和UDP(UserDatagramProtocol,用户数据报协议);上述应用层协议可以包括HTTP(HyperTextTransferProtocol,超文本传输协议)、SMTP(SimpleMailTransferProtocol,简单邮件传输协议)、POP3(PostOfficeProtocol-Version3,邮局协议版本3)、FTP(FileTransferProtocol,文件传输协议)。在另一个可选的例子中,在抓取数据包时可以对抓取的数据包进行过滤。具体的,所述过滤可以包括捕获过滤以及显示过滤。其中,捕获过滤可用于控制抓取数据的数量,可以依据预设的条件,如:协议类型、IP地址以及端口号,对数据包进行抓取。显示过滤,是在已抓取的数据包种中根据预设的筛选条件,如:协议类型、IP地址以及端口号,对数据包进行筛选,以使用户迅速准确地找到所需要的数据包。在另一个可选的例子中,抓包客户端可以定向抓取本地待分析的目标应用收发的数据包并记录该数据包的协议信息。具体的,包括以下步骤:获取本地系统当前正在运行的应用与端口的对应关系;根据应用与端口的对应关系查找目标应用对应的目标端口;抓取本地目标端口收发的数据包并记录数据包的协议信息。步骤202:根据所述传输层协议信息将所述数据包整理为一组或多组数据包序列。在一个可选的例子中,可以根据协议类型、IP地址以及端口号将数据包整理为一组或多组数据包序列。步骤203:根据所述应用层协议信息将所述一组或多组数据包序列解析为一组或多组文件,其中所述每组文件包含一个或多个文件。在一个可选的例子中,本步骤中的解析过程包括:按照每组数据包序列的应用层协议信息,例如HTTP、SMTP、POP3、FTP,在每组数据包序列中查找包含该应用层协议文件起始标识的数据包和包含该起始标识对应的结束标识的数据包;提取上述起始标识和结束标识间各数据包中的文件内容并将这些文件内容保存为一个可读文件;如果数据包序列中存在多个起始标识以及与该起始标识对应的结束标识,则依次提取各起始标识和结束标识间的文件内容并保存为可读文件,最后获得多个可读文件,记录所述每组文件内的文件时序。步骤204:根据所述每组文件内各文件的属性,调用对应的应用展示所述每组文件内各文件的内容。在一个可选的例子中,如果步骤203中解析的文件组包多个文件且记录了所述文件组内的文件时序,则按照该文件时序依次调用对应的应用展示该文件组中的文件。在另一个可选的例子中,如果抓包客户端是定向抓取本地待分析的目标应用收发的数据包,则可以先保存该目标应用的私有协议,然后调用该目标应用展示该目标应用收发所述数据包时目标应用同用户的交互过程以及交互过程中的文件内容。具体的,该展示过程包含以下步骤:根据目标应用的私有协议、每组文件内的文件时序以及每组文件内各文件的内容反推目标应用收发所述数据包时用户的操作指令及指令时序;打开所述目标应用,根据用户的操作指令、指令时序以及每组文件内各文件的内容,在目标应用的界面,展示目标应用收发所述数据包时目标应用同用户的交互过程以及交互过程中的文件内容。由以上实施例可见,抓包客户端在抓取到数据包后,自动根据数据包的协议信息将数据包整理、解析和保存为一组或多组文件,并根据每组文件内各文件的属性调用对应的应用展示文件内容,实现了抓包客户端对所抓取数据包的内容的自动展示,提高了展示数据包内容的效率。参见图3,图3为本发明展示数据包内容的方法的另一个实施例流程图。该实施例从抓包客户端侧对数据包内容的动态展示进行了详细描述,包括以下步骤:步骤301:监听本地待分析的目标应用所调用的端口。在一个可选的方式中,可以通过TDI(TransportDriverInterface,传输驱动程序接口)所提供的接口获取到待分析的目标应用所调用的端口。在另一个可选的方式中,可以通过运行微软Windows系统的命令行程序,执行“netstat-ano”以及“tasklist”命令,获取到待分析的目标应用所调用的端口。步骤302:如果监听到所述被调用的端口收发数据包,则抓取所述被调用端口收发的数据包并记录所述数据包的协议信息。在一个可选的方式中,所述协议信息包括传输层协议和应用层协议,其中,传输层协议可以包括TCP/IP和UDP;应用层协议可以包括HTTP、SMTP、POP3、FTP。步骤303:根据上述传输层协议信息将上述数据包整理为一组或多组数据包序列。在一个可选的方式中,可以分别根据本地端口号、目标IP以及目标端口号对数据包进行预整理,然后根据不同的协议对数据包进行再整理。例如,我们可以将本地端口号为56294、目标IP为202.108.23.113、目标端口号为5287的数据包预整理为一个数据包序列,然后再将该数据包序列中协议类型为UDP以及TCP的数据包分别整理为一个数据包序列。步骤304:根据上述应用层协议信息将上述一组或多组数据包序列解析为一组或多组文件,其中所述每组文件包含一个或多个文件,并记录上述每组文件内的文件时序。本步骤中的解析过程与步骤203中的解析过程相同,在此不再赘述。步骤305:保存上述目标应用的私有协议。步骤306:根据上述目标应用的私有协议、上述每组文件内的文件时序以及上述每组文件内各文件的内容反推上述目标应用收发所述数据包时用户的操作指令及指令时序。在一个可选的方式中,上述反推过程可以包括以下步骤:根据目标应用的私有协议设置操作指令与文件的对应关系;调取步骤305中解析的得到的一组或多组文件,根据上述操作指令与文件的对应关系,查找上述每组文件中所包含的一个或多个文件对应的操作指令;根据每组文件内的文件时序对上述查找到的操作指令进行排序,获得所述操作指令的指令时序。步骤307:打开上述目标应用,根据上述用户的操作指令、指令时序以及上述每组文件内各文件的内容,在上述目标应用的界面,展示上述目标应用收发上述数据包时目标应用同用户的交互过程以及交互过程中的文件内容。由以上实施例可见,一方面,该实施例在抓包客户端抓取到数据包后,自动根据数据包的协议信息将数据包整理、解析和保存为一组或多组文件,并根据每组文件内各文件的属性调用对应的应用展示文件内容,实现了抓包客户端对所抓取数据包的内容的自动展示,提高了展示数据包内容的效率。另一方面,该实施例通过获取本地系统当前正在运行的应用与端口的对应关系,查找待分析的目标应用所对应的目标端口号,实现了对目标应用的定向抓包,提高了抓包的效率;再一方面,该实施例通过保存目标应用的私有协议,设置操作指令与文件内容的对应关系,实现了对目标应用收发数据包时用户的操作指令及指令时序的反推,进而展示了目标应用收发数据包时目标应用同用户的交互过程以及交互过程中的文件内容,实现了用户对分析整个应用交互过程的快速了解以及对文件内容的准确定位和分析。下面通过一个具体的应用实例对本发明实施例进行说明,该应用实例结合图1示出的应用场景进行描述,其中,假设用户A通过浏览器A访问了网站www.xxxxx.com并下载了图片XX.jpg。现在我们想通过抓包工具抓取用户A在浏览器A上的操作产生的数据包并展示用户A的操作过程以及操作过程中产生的文件内容。展示过程如下:获得浏览器A的私有协议,保存浏览器A的操作指令与浏览器A所产生文件的对应关系,所述文件为浏览器A的操作指令在执行过程中产生的文件。在用户打开浏览器A访问www.xxxxx.com并下载了图片XX.jpg的过程中,抓包客户端可以通过TDI提供的接口获取到待分析的目标应用的各进程所调用的端口。如表1所示:进程协议本地IP本地端口目标IP目标端口BrowserA.exeTCP192.168.1.9651739119.75.222.2380BrowserA.exeTCP192.168.1.9651754119.75.217.109443BrowserA.exeTCP192.168.1.9649618220.181.76.3780BrowserA.exeTCP192.168.1.965191261.135.186.15280BrowserA.exeTCP192.168.1.9651897180.97.158.12480其中,网站www.xxxxx.com的IP为119.75.222.23以及119.75.217.109,我们使用抓包工具分别抓取本地端口号为51739的51754端口收发的数据包;将抓取的数据包按TCP协议进行整理,获得端口号51739对应的TCP流(数据包序列_1)以及端口号51754对应的TCP流(数据包序列_2);将获得的两组数据包序列解析为两组文件,其中在数据包序列_1解析得到XX.jpg;记录每组文件中的文件产生时序。其中,以数据包序列_1为例,其解析过程可以为:按照Http协议分别在数据包序列_1查找文件起始标识和文件结束标识,根据文件起始标识和文件结束标识对数据包序列_1进行分段,获得若干数据段,其中每个数据段包含若干数据包;提取每个数据段中数据包封装的数据信息并将提取的数据信息保存为一个可读文件;记录各个可读文件产生的时序。根据上述解析过程中获得的两组文件以及每组文件中的文件产生时序,查找上述浏览器A的操作指令与浏览器A所产生文件的对应关系,获得用户操作浏览器A时产生的操作指令以及指令时序。调用浏览器A,在浏览器A的用户界面,按照上述指令时序,重复执行上述操作指令,并展示图片XX.jpg。与前述展示数据包内容的方法的实施例相对应,本申请还提供了展示数据包内容的装置的实施例。本申请展示数据包内容的装置的实施例可以应用在抓包客户端上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本申请展示数据包内容的装置所在设备的一种硬件结构图,除了图4所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常根据该设备的实际功能,还可以包括其他硬件,对此不再赘述。请参考图5,为本发明展示数据包内容的装置的一个实施例框图,所述装置应用于抓包客户端,所述装置包括:抓取单元510,整理单元520,解析单元530,展示单元540。其中,抓取单元510,用于抓取本地收发的数据包并记录所述数据包的协议信息,所述协议信息包括传输层协议信息和应用层协议信息;整理单元520,用于根据所述传输层协议信息将所述数据包整理为一组或多组数据包序列;解析单元530,用于根据所述应用层协议信息将所述一组或多组数据包序列解析为一组或多组文件,其中所述每组文件包含一个或多个文件;展示单元540,用于根据所述每组文件内各文件的属性,调用对应的应用展示所述每组文件内各文件的内容。由以上实施例可见,抓包客户端在抓取到数据包后,自动根据数据包的协议信息将数据包整理、解析和保存为一组或多组文件,并根据每组文件内各文件的属性调用对应的应用展示文件内容,实现了抓包客户端对所抓取数据包的内容的自动展示,提高了展示数据包内容的效率。在一个可选的例子中,所述抓取单元510具体用于:抓取本地待分析的目标应用收发的数据包并记录所述数据包的协议信息;所述展示单元540,具体用于调用所述目标应用展示所述每组文件内各文件的内容。在另一个可选的例子中,所述抓取单元510包括(图5中未示出):端口监听子单元,端口抓取子单元。其中,端口监听子单元,用于监听本地待分析的目标应用所调用的端口;端口抓取子单元,用于如果所述端口监听子单元监听到所述被调用的端口收发数据包,则抓取所述被调用端口收发的数据包并记录所述数据包的协议信息。在另一个可选的例子中,所述装置还包括(图5中未示出):文件时序记录单元,私有协议保存单元。其中,文件时序记录单元,用于在解析单元将所述一组或多组数据包序列解析为一组或多组文件后,记录所述每组文件内的文件时序;私有协议保存单元,用于在展示单元调用所述目标应用展示所述每组文件内各文件的内容之前,保存所述目标应用的私有协议;所述展示单元,具体用于打开所述目标应用,并根据所述目标应用的私有协议、所述每组文件内的文件时序以及所述每组文件内各文件的内容,在所述目标应用的界面,展示所述目标应用收发所述数据包时目标应用同用户的交互过程以及交互过程中的文件内容。在另一个可选的例子中,所述展示单元540包括(图5中未示出):指令反推子单元,交互展示子单元。其中,指令反推子单元,用于根据所述目标应用的私有协议、所述每组文件内的文件时序以及所述每组文件内各文件的内容反推所述目标应用收发所述数据包时用户的操作指令及指令时序;交互展示子单元,用于根据所述用户的操作指令、指令时序以及所述每组文件内各文件的内容,在所述目标应用的界面,展示所述目标应用收发所述数据包时目标应用同用户的交互过程以及交互过程中的文件内容。由以上实施例可见,一方面,该实施例在抓包客户端抓取到数据包后,自动根据数据包的协议信息将数据包整理、解析和保存为一组或多组文件,并根据每组文件内各文件的属性调用对应的应用展示文件内容,实现了抓包客户端对所抓取数据包的内容的自动展示,提高了展示数据包内容的效率。另一方面,该实施例通过获取本地系统当前正在运行的应用与端口的对应关系,查找待分析的目标应用所对应的目标端口号,实现了对目标应用的定向抓包,提高了抓包的效率;再一方面,该实施例通过保存目标应用的私有协议,设置操作指令与文件内容的对应关系,实现了对目标应用收发数据包时用户的操作指令及指令时序的反推,进而展示了目标应用收发数据包时目标应用同用户的交互过程以及交互过程中的文件内容,实现了用户对分析整个应用交互过程的快速了解以及对文件内容的准确定位和分析。上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本
技术领域
中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1