定位数据位置的方法、模块、存储介质、设备及系统与流程

文档序号:25062567发布日期:2021-05-14 14:52阅读:139来源:国知局
定位数据位置的方法、模块、存储介质、设备及系统与流程

1.本发明涉及数据定位领域,更为具体的,涉及定位数据位置的方法、模块、存储介质、设备及系统。


背景技术:

2.当前数据定位领域,特别是当前tcp会话的数据流分析,是将数据包进行分析后,把所有数据包负载数据组合在一起,在一个文本视图中显示当前数据流的所有数据,并以不同颜色标记不同方向的数据。如果需要定位某部分数据或是确定某个数据在客户端和服务器交互过程中的所处位置,则需要从数据流开始阶段从头分析,不能做到快速的定位与查找。
3.当前tcp数据流的分析模式存在以下缺陷:在进行数据分析时无法确定当前分析的数据所属的数据包。因为目前的数据流展现形式是将整个tcp会话的数据合并在一起,展现整个数据流的传输过程和传输数据,并没有细化到数据包级别,造成分析数据时无法快速准确定位数据对应的数据包;无法快速查找定位到数据流中的某个请求或响应;无法快速了解数据流客户端和服务器的交互过程等。


技术实现要素:

4.本发明的目的在于克服现有技术的不足,提供定位数据位置的方法、模块、存储介质、设备及系统,解决背景技术中提出的问题,实现快速定位查找数据位置,快速了解查看数据交互情况等。
5.本发明的目的是通过以下方案实现的:
6.定位数据位置的方法,包括步骤:
7.s1,计算每个数据包的负载数据在整体的数据流中的位置和整体的数据流中每个方向的数据流的位置,将计算得到的数据包的位置与数据流的位置一一对应;
8.s2,对计算得到的数据包的位置和数据流的位置构建概要视图,构建的概要视图中每一项即代表一段数据流,对概要视图中列表项的操作转化为对整个数据流的操作,通过概要视图定位数据流位置以及定位负载数据对应的数据包。
9.进一步地,在步骤s1中,包括步骤:
10.将负载数据按照客户端传输数据和服务器端传输数据组合在一起,形成一个整体的数据流;在组合过程中,计算每个数据包的负载数据在整个数据流中的起始位置,计算整体的数据流中每个方向的数据流在整个数据流中的起始位置,数据流的起始位置与数据包的起始位置相同。
11.进一步地,在计算每个数据包的起始位置中,下一数据包起始位置=上一数据包起始位置+上一数据包的负载数据长度;在计算每个方向的数据流的位置中,下一个方向的数据流起始位置=当前方向的数据流起始位置+当前方向的数据流的连续数据包的负载数据长度之和。
12.进一步地,在计算每个数据包的起始位置中,记录负载数据的信息,负载数据的信息包括负载数据起始位置、负载数据长度、数据包编号、数据包所在数据流方向中的任一种或多种,将记录的负载数据的信息作为一个对象保存在一个对象数组v1中;在计算每个方向的数据流的位置中,截取当前方向的数据流的一段数据,将当前方向的数据流的起始位置、当前方向的数据流的连续数据包的负载数据长度之和、截取的一段数据和截取的一段数据所属数据流的方向作为一个对象保存在一个对象数组v2中。
13.进一步地,在步骤s2中,包括构建数据流文本视图的步骤,对整体的数据流以文本方式显示;此时v1中数据包起始位置和v2中数据流的起始位置都表示数据流视图中文本的偏移位置,形成一一对应的形式。
14.进一步地,包括查找定位数据流位置的步骤;根据概要视图展示的数据流信息,选中需要查找的数据段作为选中项,根据选中项在对象数组v2中找到对应方向的数据信息,所述对应方向的数据信息包括数据流开始位置p和数据长度l;在数据流文本视图的文本中从起始位置开始找到偏移位置等于p的数据,从此处位置到长度等于l的数据即为要查找定位的数据流,将这段数据标记并定位数据流文本视图,即可完成查找定位数据流位置;
15.和/或,
16.包括查找定位数据流文本视图中当前数据对应的数据包信息的步骤;获取鼠标在数据流文本视图中选择的文本位置的屏幕坐标点,转化成客户区坐标点后根据文本显示控件的坐标点转换,计算出当前位置在整个文本信息中的偏移位置;
17.以偏移位置为条件,在v1中查找满足:偏移位置≥起始位置,并且偏移位置<起始位置+负载数据长度的条件的数据包信息,此信息就是当前数据流文本视图所选数据对应的数据包信息,显示该数据包信息并定位数据流概要视图;以偏移位置为条件,在v2中查找满足:偏移位置≥数据流起始位置,并且偏移位置<数据流起始位置+数据流长度条件的一个方向的数据流,然后在数据流概要视图中查找定位表示当前方向数据流的那一项。
18.定位数据位置的模块,包括:
19.计算模块,用于计算每个数据包的负载数据在整体的数据流中的位置和整体的数据流中每个方向的数据流的位置;匹配模块,用于将计算得到的数据包的位置与数据流的位置一一对应;
20.概要视图构建模块,用于对计算得到的数据包的位置和数据流的位置构建概要视图,构建的概要视图中每一项即代表一段数据流,对概要视图中列表项的操作转化为对整个数据流的操作,通过概要视图定位数据流位置以及定位负载数据对应的数据包。
21.定位数据位置的存储介质,包括程序和可读存储介质硬件本身;当程序运行于可读存储介质硬件本身上时,实现如下模块架构:计算模块,用于计算每个数据包的负载数据在整体的数据流中的位置和整体的数据流中每个方向的数据流的位置;匹配模块,用于将计算得到的数据包的位置与数据流的位置一一对应;概要视图构建模块,用于对计算得到的数据包的位置和数据流的位置构建概要视图,构建的概要视图中每一项即代表一段数据流,对概要视图中列表项的操作转化为对整个数据流的操作,通过概要视图定位数据流位置以及定位负载数据对应的数据包。
22.定位数据位置的设备,包括所述定位数据位置的模块和/或所述存储介质。
23.定位数据位置的系统,包括所述定位数据位置的设备。
24.本发明的有益效果是:
25.(1)快速定位查找数据位置。通过数据流概要视图分段查找,把查找范围缩小到某段数据,进而在这段数据中查找目标数据所属位置和所属数据包;传统的数据流只通过提取每段数据流,按照客户端和服务器的数据分段显示,分析数据时只能知道某部分数据是哪个方向的数据,并不能了解当前数据具体位置在哪里,是属于哪个数据包,本实施例中方法可以在分析时随时了解数据所属的数据包信息和位置信息。
26.(2)快速了解查看数据交互情况。传统的数据流因为没有对大量的数据交互进行概要统计,无法在分析时直接了解整个会话的交互情况与各段数据在会话中的位置;但本实施例中方法的概要视图列表截取了当前数据流部分信息来进行统计,因此可以通过概要视图列表了解整个数据流中客户端和服务器的数据交互情况。
附图说明
27.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
28.图1为本发明的方法步骤流程图。
具体实施方式
29.本说明书中所有实施例公开的所有特征,或隐含公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合和/或扩展、替换。
30.如图1所示,定位数据位置的方法,包括步骤:
31.s1,计算每个数据包的负载数据在整体的数据流中的位置和整体的数据流中每个方向的数据流的位置,将计算得到的数据包的位置与数据流的位置一一对应;
32.s2,对计算得到的数据包的位置和数据流的位置构建概要视图,构建的概要视图中每一项即代表一段数据流,对概要视图中列表项的操作转化为对整个数据流的操作,通过概要视图定位数据流位置以及定位负载数据对应的数据包。
33.进一步地,在步骤s1中,包括步骤:
34.将负载数据按照客户端传输数据和服务器端传输数据组合在一起,形成一个整体的数据流;在组合过程中,计算每个数据包的负载数据在整个数据流中的起始位置,计算整体的数据流中每个方向的数据流在整个数据流中的起始位置,数据流的起始位置与数据包的起始位置相同。
35.进一步地,在计算每个数据包的起始位置中,下一数据包起始位置=上一数据包起始位置+上一数据包的负载数据长度;在计算每个方向的数据流的位置中,下一个方向的数据流起始位置=当前方向的数据流起始位置+当前方向的数据流的连续数据包的负载数据长度之和。
36.进一步地,在计算每个数据包的起始位置中,记录负载数据的信息,负载数据的信息包括负载数据起始位置、负载数据长度、数据包编号、数据包所在数据流方向中的任一种或多种,将记录的负载数据的信息作为一个对象保存在一个对象数组v1中;在计算每个方
向的数据流的位置中,截取当前方向的数据流的一段数据,将当前方向的数据流的起始位置、当前方向的数据流的连续数据包的负载数据长度之和、截取的一段数据和截取的一段数据所属数据流的方向作为一个对象保存在一个对象数组v2中。
37.进一步地,在步骤s2中,包括构建数据流文本视图的步骤,对整体的数据流以文本方式显示;此时v1中数据包起始位置和v2中数据流的起始位置都表示数据流视图中文本的偏移位置,形成一一对应的形式。
38.进一步地,包括查找定位数据流位置的步骤;根据概要视图展示的数据流信息,选中需要查找的数据段作为选中项,根据选中项在对象数组v2中找到对应方向的数据信息,所述对应方向的数据信息包括数据流开始位置p和数据长度l;在数据流文本视图的文本中从起始位置开始找到偏移位置等于p的数据,从此处位置到长度等于l的数据即为要查找定位的数据流,将这段数据标记并定位数据流文本视图,即可完成查找定位数据流位置;
39.和/或,
40.包括查找定位数据流文本视图中当前数据对应的数据包信息的步骤;获取鼠标在数据流文本视图中选择的文本位置的屏幕坐标点,转化成客户区坐标点后根据文本显示控件的坐标点转换,计算出当前位置在整个文本信息中的偏移位置;
41.以偏移位置为条件,在v1中查找满足:偏移位置≥起始位置,并且偏移位置<起始位置+负载数据长度的条件的数据包信息,此信息就是当前数据流文本视图所选数据对应的数据包信息,显示该数据包信息并定位数据流概要视图;以偏移位置为条件,在v2中查找满足:偏移位置≥数据流起始位置,并且偏移位置<数据流起始位置+数据流长度条件的一个方向的数据流,然后在数据流概要视图中查找定位表示当前方向数据流的那一项。
42.定位数据位置的模块,包括:
43.计算模块,用于计算每个数据包的负载数据在整体的数据流中的位置和整体的数据流中每个方向的数据流的位置;匹配模块,用于将计算得到的数据包的位置与数据流的位置一一对应;
44.概要视图构建模块,用于对计算得到的数据包的位置和数据流的位置构建概要视图,构建的概要视图中每一项即代表一段数据流,对概要视图中列表项的操作转化为对整个数据流的操作,通过概要视图定位数据流位置以及定位负载数据对应的数据包。
45.定位数据位置的存储介质,包括程序和可读存储介质硬件本身;当程序运行于可读存储介质硬件本身上时,实现如下模块架构:计算模块,用于计算每个数据包的负载数据在整体的数据流中的位置和整体的数据流中每个方向的数据流的位置;匹配模块,用于将计算得到的数据包的位置与数据流的位置一一对应;概要视图构建模块,用于对计算得到的数据包的位置和数据流的位置构建概要视图,构建的概要视图中每一项即代表一段数据流,对概要视图中列表项的操作转化为对整个数据流的操作,通过概要视图定位数据流位置以及定位负载数据对应的数据包。
46.定位数据位置的设备,包括所述定位数据位置的模块和/或所述存储介质。
47.定位数据位置的系统,包括所述定位数据位置的设备。
48.本实施例中方法在现有基础上,在对数据包的重组,解密,解压的分析过程中提取数据包信息和当前方向的数据流信息形成一个整个数据流的概要视图,通过数据流的概要视图定位数据流文本视图中位置,以及查找当前数据对应的数据包信息。实施例中对tcp会
话,tcp会话的数据包和数据流的位置信息一一对应。在分析tcp数据包时,将每个数据包的负载数据在整个数据流中的位置信息记录下来,同时记录每个方向的数据流的位置信息,用记录的信息形成概要列表,列表中每一项即代表一段数据流,将对列表项的操作转化为对整个数据流的操作。
49.在本发明的实施例中,如图1所示,通过逐级处理数据包和数据流的信息,通过提取数据流中客户端和服务器之间传输的数据以及数据包对应数据段的信息,形成视图列表,以便通过视图列表快速定位到数据流对应位置,具体流程如下:
50.数据包获取,通过抓包工具,抓取网络中的tcp的数据包或是回放现有的数据包。
51.数据包分析,将获取的数据包按照源地址,源端口,目的地址,目的端口的四元组分成不同的会话,对每个会话的数据包进行乱序重组后,进行数据包数据的提取。
52.数据提取,在对tcp会话的数据包进行分析过程中,根据tcp协议规范计算取得当前会话数据包负载数据以及负载长度,将负载数据按照正确的传输顺序,按照客户端传输数据和服务器传输数据依次组合在一起形成一个整体的数据流;
53.在组合过程中同时计算每个数据包负载数据在整个数据流中的起始位置和数据长度,其中起始位置从0开始计算,数据长度即为当前数据包负载数据长度,下一数据包起始位置=上一数据包起始位置+上一数据包数据长度,记录每一段负载数据的信息,这些信息包含:数据起始位置,数据长度,数据包编号,数据包所在数据流方向,即是客户端还是服务器,将这些数据作为一个对象保存在一个对象数组v1中;
54.计算数据流中每个方向的数据长度以及在整个数据流中的起始位置,起始位置与数据包数据起始位置一样,同样以0开始;每个方向的数据由当前方向连续的带负载的数据包的负载数据组成,直到数据包传输改变方向为止,数据长度即为这部分数据包负载数据长度的总和;同时截取当前方向的数据的开始一段数据,截取长度可按需要截取;下一个方向数据起始位置=当前方向数据起始位置+数据长度;将以上当前方向数据的起始位置,数据长度,截取数据和数据所属方向作为一个对象保存在一个对象数组v2中;
55.构建数据流视图,将第一步中获取的整个数据流数据以文本方式显示。此时v1中数据包起始位置和v2中数据流的起始位置都表示数据流视图中文本的偏移位置,形成一一对应的形式;
56.构建数据流概要视图列表,用v2中的数据信息按照客户端和服务器的分两列构建列表,每一项显示的数据则是每个方向截取的那段数据。对于tcp会话,按照请求和响应对应为一行进行展示。
57.快速查找定位数据流位置,根据概要视图列表展示的数据流信息,选中需要查找的数据段,根据选中项在对象数组v2中找到对应方向的数据信息:数据流开始位置p和数据长度l;在数据流视图的文本中从0开始找到偏移位置等于p的数据,从此处位置到长度等于l的数据即为查找数据,将这段文本标记即可完成定位。
58.数据流视图中当前数据对应的数据包信息查找。获取鼠标在数据流视图中选择的文本位置的屏幕坐标点,转化成客户区坐标点后根据文本显示控件的坐标点转换方法,计算出当前位置在整个文本信息中的偏移位置,以偏移位置为条件,在v1中查找满足:偏移位置>=起始位置,并且偏移位置<起始位置+负载长度的条件的数据包信息,此信息就是当前数据流视图所选数据对应的数据包信息,以浮动窗口形式显示数据包信息;以偏移位置为
条件,在v2中查找满足:偏移位置>=数据流开始位置,并且偏移位置<数据流开始位置+数据流长度条件的一个方向的数据流,在数据流概要视图定位表示当前方向数据流的那一项。
59.本实施例中方法的关键点:tcp会话的数据包和数据流的位置信息一一对应。在分析tcp数据包时,将每个数据包的负载数据在整个数据流中的位置信息记录下来,同时记录每个方向的数据流的位置信息,用记录的信息形成概要列表,列表中每一项即代表一段数据流,将对列表项的操作转化为对整个数据流的操作。
60.本实施例中方法的优点:(1)快速定位查找数据位置。通过数据流概要视图分段查找,把查找范围缩小到某段数据,进而在这段数据中查找目标数据所属位置和所属数据包;传统的数据流只通过提取每段数据流,按照客户端和服务器的数据分段显示,分析数据时只能知道某部分数据是哪个方向的数据,并不能了解当前数据具体位置在哪里,是属于哪个数据包,本实施例中方法可以在分析时随时了解数据所属的数据包信息和位置信息。(2)快速了解查看数据交互情况。传统的数据流因为没有对大量的数据交互进行概要统计,无法在分析时直接了解整个会话的交互情况与各段数据在会话中的位置;但本实施例中方法的概要视图列表截取了当前数据流部分信息来进行统计,因此可以通过概要视图列表了解整个数据流中客户端和服务器的数据交互情况。
61.本发明功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,在一台计算机设备(可以是个人计算机,服务器,或者网络设备等)以及相应的软件中执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、或者光盘等各种可以存储程序代码的介质,进行测试或者实际的数据在程序实现中存在于只读存储器(random access memory,ram)、随机存取存储器(random access memory,ram)等。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1