CN111917777B - 网络数据解析方法、装置和电子设备 - Google Patents
网络数据解析方法、装置和电子设备 Download PDFInfo
- Publication number
- CN111917777B CN111917777B CN202010767366.7A CN202010767366A CN111917777B CN 111917777 B CN111917777 B CN 111917777B CN 202010767366 A CN202010767366 A CN 202010767366A CN 111917777 B CN111917777 B CN 111917777B
- Authority
- CN
- China
- Prior art keywords
- analysis
- network
- data
- network data
- layer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000007405 data analysis Methods 0.000 title claims abstract description 38
- 238000004458 analytical method Methods 0.000 claims abstract description 165
- 238000012545 processing Methods 0.000 claims abstract description 25
- 238000010586 diagram Methods 0.000 description 18
- 238000004891 communication Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000003012 network analysis Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/18—Protocol analysers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种网络数据解析方法、装置和电子设备。所述方法包括:获取网络数据;根据网络数据的获取方式对所述网络数据进行分类嗅探得到嗅探结果,所述嗅探结果包括识别出的网络协议类型;根据所述嗅探结果,对所述网络数据进行分类、整合并存储在数据库中,作为待解析数据源;根据用户的解析需求,对所述待解析数据源进行不同方式和不同程度的解析,得到所述网络数据的解析结果。本申请的网络数据解析方法除了能够实现传统的自动化解析,还能够实现任意层网络数据报文的分层解析以及嵌套式网络协议的解析,同时支持自主添加私有协议,极大地提高了网络数据处理的灵活性和可扩展性。
Description
技术领域
本申请涉及网络数据处理技术领域,具体涉及一种网络数据解析方法、装置和电子设备。
背景技术
在网络数据处理场景下,由于网络的分层设计,网络上存在着不同的分层协议数据,例如不可靠传输中经常使用的传输层UDP(User Datagram Protocol,用户数据报协议)协议数据,IP(Internet Protocol,网际互连协议)话音通信中的应用层RTP(Real-timeTransport Protocol,实时传输协议)协议数据等。如何获取目标协议数据并对其进行有效分析,在网络分析和网络安全应用中具有非常重要的意义。
目前常用的嗅探工具,有Wireshark(一种网络封包分析软件,暂无中文译名)、Sniffer(嗅探器,一种网络抓包工具)等,Wireshark能够以树形结构方式对网络协议进行逐层解析,可以满足一定的实际应用需求,但实际网络中的协议数据形式非常复杂,常会出现协议再封装情况,网络协议并不严格按照从高到低的顺序逐层进行封装,有时上层协议的载荷会嵌套一些下层协议数据,给协议分析造成很大困难。此外传统的嗅探工具一般只支持对有公开标准的协议进行分析,不支持私有协议解析,并且它们往往采用UI(UserInterface,用户界面)的形式呈现给用户,隐藏了底层开发具体细节,给定制开发和维护造成了较大困难,极大限制了应用场景。
发明内容
鉴于上述技术问题,提出了本申请以便提供克服上述技术问题或者至少部分地解决上述技术问题的一种网络数据解析方法、装置和电子设备。
依据本申请的第一方面,提供了一种网络数据解析方法,包括:
获取网络数据;
根据网络数据的获取方式对所述网络数据进行分类嗅探得到嗅探结果,所述嗅探结果包括识别出的网络协议类型;
根据所述嗅探结果,对所述网络数据进行分类、整合并存储在数据库中,作为待解析数据源;
根据用户的解析需求,对所述待解析数据源进行不同方式和不同程度的解析,得到所述网络数据的解析结果。
依据本申请的第二方面,提供了一种网络数据解析装置,包括:
获取单元,用于获取网络数据;
嗅探单元,用于根据网络数据的获取方式对所述网络数据进行分类嗅探得到嗅探结果,所述嗅探结果包括识别出的网络协议类型;
数据库单元,用于根据所述嗅探结果,对所述网络数据进行分类、整合并存储在数据库中,作为待解析数据源;
解析单元,用于根据用户的解析需求,对所述待解析数据源进行不同方式和不同程度的解析,得到所述网络数据的解析结果。
依据本申请的第三方面,提供了一种电子设备,包括:
存储计算机可执行指令的存储器以及处理器,
所述可执行指令在被所述处理器执行时,实现前述之任一所述网络数据解析方法。
依据本申请的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行如前任一所述网络数据解析方法。
由上述可知,本申请实施例的技术方案,可以通过不同的数据获取方式获取网络数据,满足了不同的网络数据分析场景;针对不同的网络数据的获取方式对网络数据进行分类嗅探得到嗅探结果如网络协议类型等信息;之后根据嗅探结果,对网络数据进行分类、整合并存储在数据库中,以为后续的数据解析提供数据支持;最后可以根据用户的解析需求,对数据库中的待解析数据源进行不同方式和不同程度的解析,得到网络数据的解析结果。本申请的网络数据解析方法除了能够实现传统的自动化解析,还能够实现任意层网络数据报文的分层解析以及嵌套式网络协议的解析,同时支持自主添加私有协议,极大地提高了网络数据处理的灵活性和可扩展性。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本申请实施例的网络数据解析方法的流程图;
图2为本申请实施例的数据库分类方法的示意图;
图3为本申请实施例的数字通信***的数据传输示意图;
图4为本申请实施例的基于PPP数据帧结构的嵌套式解析过程示意图;
图5为本申请实施例的网络数据解析流程示意图;
图6为本申请实施例的网络数据解析装置的框图;
图7为本申请实施例中电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
图1示出了根据本申请一个实施例的网络数据解析方法的流程示意图,参见图1,本申请实施例的网络数据解析方法包括如下步骤S110至步骤S140:
步骤S110,获取网络数据。
在进行网络数据解析之前,可以先利用现有技术中的网络数据获取方式获取网络数据,网络数据的来源有多种渠道,对应的数据获取方式也会有所不同,既可以直接通过对目标网络中的报文截获来获取,也可以是对物理层数据或链路层数据如无线通信信号中的网络数据进行处理等方式来获取。
对于通过网络直接截获的报文数据包,可以通过Tshark网络协议分析工具的捕获过滤器进行定向捕获。Tshark是一款可独立于Wireshark使用的基于命令行的开源网络嗅探工具,数据获取效率较高。而对于物理层或链路层数据中网络报文的获取一般需要进行复杂的数据处理,例如进行高度定制化的开发。两种不同的网络数据获取方式分别适用于不同的应用场景,报文截获适用于可以直接获取目标网络数据的情形,对物理层数据或链路层数据的网络报文获取则需要针对获取到的网络数据进行定制化处理。具体应用时,本领域技术人员可根据用户的实现需求灵活选择网络数据的获取方式,在此不作具体限定。
步骤S120,根据网络数据的获取方式对所述网络数据进行分类嗅探得到嗅探结果,所述嗅探结果包括识别出的网络协议类型。
在得到网络数据后,可以对网络数据进行初步的分类嗅探。由于网络数据的获取方式不同,对应的分类嗅探方法也会有所不同,即嗅探的方式和网络数据的获取方式密切相关。因此具体实施时,可根据网络数据的获取方式对网络数据进行相应的分类嗅探,进而得到嗅探结果,这里的嗅探结果主要包括识别出的网络数据的协议类型,当然也可以包括其它数据,具体如何配置本领域技术人员可根据用户的实际需要来灵活设置,在此不一一列举。
网络协议一般包括物理层协议、链路层协议、网络层协议、传输层协议、应用层协议等,绝大多数网络协议由软件实现,较为灵活,造成协议具体应用时更多考虑的是实现的便利性,因此常会出现一些个性化的协议处理,给协议识别带来了很大困扰,而本申请实施例的上述分类嗅探方法则可以为协议类型的识别提供条件,并且可以广泛应用于实时网络流量监视、网络资源监控等场景。
步骤S130,根据所述嗅探结果,对所述网络数据进行分类、整合并存储在数据库中,作为待解析数据源。
为了为后续的网络数据解析过程提供有力的数据支持,本申请实施例可以根据上述得到的嗅探结果,对网络数据进行分类、整合和存储等处理。对于网络数据的分类规则如分类维度等等,可以根据用户的实际需求来设置。如图2所示,提供了一种数据库分类方法的示意图,其中,将数据链路层协议(如Ethernet以太网协议、PPP(Point to PointProtocol)点对点协议等)相关的网络数据分为一类,将传输层协议(如TCP(TransmissionControl Protocol)传输控制协议、UDP(User Datagram Protocol)用户数据报协议等)相关的网络数据分为一类、应用层协议(如FTP(File Transfer Protocol)文件传输协议、HTTP(HyperText Transfer Protocol)超文本传输协议等)相关的网络数据分为一类等。数据整合和存储的方式同样也是可以根据用户的实际需求来配置的。
本申请实施例根据不同的应用需求,基于上述数据库的构建过程可进行定制化的应用开发,方便协议分析人员更直观地了解数据报文的传输状态和网络状态等,同时为后续的网络分析和协议处理提供了支持。
步骤S140,根据用户的解析需求,对所述待解析数据源进行不同方式和不同程度的解析,得到所述网络数据的解析结果。
在得到上述待解析数据源后,可以根据用户需求的不同,对上述待解析数据源中的数据报文进行深度解析,具体可以包括对数据报文进行不同方式和不同程度的解析。
本申请实施例通过上述网络数据解析方法,可以根据用户的需求实现对网络数据的个性化解析,极大地提高了网络数据处理的灵活性和可扩展性。
在本申请的一个实施例中,所述根据网络数据的获取方式对所述网络数据进行分类嗅探得到嗅探结果包括:在对目标网络报文进行截获,得到所述网络数据的情况下,首先利用Tshark网络协议分析工具对所述网络数据从底层至高层逐层进行网络协议识别;对于所述Tshark网络协议分析工具无法识别的网络数据,利用定制开发的网络数据分析规则进行网络协议识别。
具体实施时,如前所述,由于网络数据获取方式不同,对应的分类嗅探方法也不同。对于直接截获目标网络报文的网络数据获取方式,首先采用Tshark进行底层网络协议识别,在识别底层网络协议基础上,进一步进行高层网络协议的逐层识别,充分发挥Tshark的协议识别效能。对于Tshark不能识别的网络协议,这里通常是一些私有网络协议,可以采用定制开发的私有化网络协议分析规则进行单独识别,必要时也可人工介入,以此提高网络数据的识别效率和准确率。
在本申请的一个实施例中,所述根据网络数据的获取方式对所述网络数据进行分类嗅探得到嗅探结果包括:在获取物理层数据或链路层数据并进行处理,得到所述网络数据的情况下,首先利用定制开发的网络数据分析规则对所述网络数据进行底层网络协议识别;然后将识别出的底层网络协议类型和数据传送给Tshark网络协议分析工具进行逐层网络协议识别;对于所述Tshark网络协议分析工具无法识别的网络数据,再次利用定制开发的网络数据分析规则进行网络协议识别。
对于对物理层数据或链路层数据进行处理来获取网络数据的方式,可以先调用定制开发的网络数据分析规则识别底层网络协议,将识别出的底层网络协议类型和数据传给Tshark进行逐层识别,对Tshark不能识别的网络协议,这里通常是一些私有网络协议,可以采用定制开发的私有化网络协议分析规则进行单独识别,必要时也可人工介入,以此提高网络数据的识别效率和准确率。
本申请实施例中,对物理层数据或链路层数据的网络报文的获取,具体可以以图3所示的数字通信***为例,本申请实施例并不关注数字通信***的具体实现细节,当网络分析方已经澄清该数字通信***的各种通信规约(如调制、编码、帧结构等)时,在经过信源译码后流转至信宿的数据流,可采用进程之间通信的方式进行数据传输。
在本申请的一个实施例中,所述根据所述嗅探结果,对所述网络数据进行分类、整合并存储在数据库中,作为待解析数据源包括:根据识别出的网络协议类型对所述网络数据进行分类,得到对应的各层网络数据;从各层网络数据中分别获取敏感协议域,其中所述敏感协议域是指所述网络数据中的关键特征信息;根据所述关键特征信息对所述网络数据进行整合,确定所述网络数据之间的关联度;将关联度超过预设阈值的网络数据组成一个数据集,得到多个数据集,并选取各数据集中的某个常量确定为各数据集对应的索引词;将所述多个数据集存储在一个数据库中作为所述待解析数据源,新的数据集在存入所述数据库前需要先按照索引词比对历史数据集并进行相应的数据库操作。
具体实施时,可以先根据识别出的网络协议类型对网络数据进行分类,得到对应的各层网络数据,如数据链路层、网络层、传输层、应用层等。然后分别从各层网络数据中获取敏感协议域,这里的敏感协议域可以理解为是网络数据中的关键特征信息,如从数据链路层中获取的以太网或者PPP数据帧的地址域等,从网络层IP报文获取的IP地址或固定端口的网络报文等,都可以看作是敏感协议域。
之后根据关键特征信息对网络数据进行整合,这里的整合是指根据网络数据之间的关联性,将关联紧密的数据组成一个数据集,同时选取数据集中的某个常量,如IP分片、相互通信的MAC(Media Access Control Address)媒体访问控制地址等作为该数据集的索引词,便于后续应用。新的数据集在进入数据库前需要先按照索引词比对历史数据集并进行相应的数据库操作,如新增、删除、修改等操作,具体数据库的操作类型本领域技术人员可根据用户需求进行灵活设置,在此不作具体限定。
在本申请的一个实施例中,所述对所述待解析数据源进行不同方式的解析包括:对所述待解析数据源进行自动化解析、嵌套式解析、任意层解析以及私有化解析中的至少一种;所述对所述待解析数据源进行不同程度的解析包括:按需获取网络协议解析结果的部分解析或者获取网络协议各方面内容的全解析。
本申请实施例中,不同方式的解析可以包括:自动化解析、嵌套式解析、任意层解析及私有化解析等。其中自动化解析采用Tshark传统方式直接进行逐层解析,它提供一种根据网络体系结构自下而上的可视化解析结果,主要支持对公开标准协议的解析,可在统计和监视网络流量等应用场景下发挥重要作用。嵌套式解析是指对某种数据报文载荷的按需解析,如图4所示,提供了一种PPP数据帧结构,这个数据帧中包括了IP分组和UDP报文,而UDP的载荷中又包含了下层协议类型,对于这种复杂的协议应用方式,需要根据嵌套的协议类型调用Tshark进行按需解析。对于任意层解析,由于现有的自动化解析是逐层解析的过程,那如果只是一个高层协议,那传统的从底层到高层的逐层解析方法是没有办法对此进行解析的,因此本申请实施例的任意层解析可以根据要解析的任意协议层调用Tshark网络协议分析工具的相应层的解析规则进行解析。私有化解析是指针对已经分析澄清的私有化协议,通过将已经明确的协议规则固化成单独的协议解析模块,嵌入到Tshark中作为其组成部分,达到对私有化协议进行分析的目的。
本申请实施例中,不同程度的解析包括:部分解析和全解析。部分解析不关注协议的全部具体细节,根据用户的具体应用情况,对网络协议解析结果进行按需获取,如IP报文仅获取地址域等。而全解析则对网络协议的语法、语义、时序等各方面内容进行获取,得到全面的解析结果。
如图5所示,提供了一种网络数据解析流程示意图。首先采取一定方式获取网络数据,例如对目标网络报文进行截获,或者对物理层数据或链路层数据进行处理。然后根据不同的数据获取方式,分别采用对应的分类嗅探方法对网络数据进行识别。之后对识别后的网络数据进行分类、整合并存储至数据库中,最后根据用户的解析需求对数据库中存储的网络数据进行按需解析如自动化解析、嵌套式解析、任意层解析以及私有化解析等,进而得到最终的网络数据解析结果。
与前述网络数据解析方法同属于一个技术构思,本申请实施例还提供了一种网络数据解析装置。图6示出了本申请一个实施例的网络数据解析装置的框图,参见图6,所述网络数据解析装置600包括:获取单元610、嗅探单元620、数据库单元630和解析单元640。
本申请实施例的获取单元610,用于获取网络数据。
本申请实施例的嗅探单元620,用于根据网络数据的获取方式对所述网络数据进行分类嗅探得到嗅探结果,所述嗅探结果包括识别出的网络协议类型。
本申请实施例的数据库单元630,用于根据所述嗅探结果,对所述网络数据进行分类、整合并存储在数据库中,作为待解析数据源。
本申请实施例的解析单元640,用于根据用户的解析需求,对所述待解析数据源进行不同方式和不同程度的解析,得到所述网络数据的解析结果。
在本申请的一个实施例中,所述获取单元610还用于:对目标网络报文进行截获,或者,对物理层数据或链路层数据进行处理,得到所述网络数据。
在本申请的一个实施例中,所述嗅探单元620还用于:在对目标网络报文进行截获,得到所述网络数据的情况下,首先利用Tshark网络协议分析工具对所述网络数据从底层至高层逐层进行网络协议识别;对于所述Tshark网络协议分析工具无法识别的网络数据,利用定制开发的网络数据分析规则进行网络协议识别。
在本申请的一个实施例中,所述嗅探单元620还用于:在获取物理层数据或链路层数据并进行处理,得到所述网络数据的情况下,首先利用定制开发的网络数据分析规则对所述网络数据进行底层网络协议识别;然后将识别出的底层网络协议类型和数据传送给Tshark网络协议分析工具进行逐层网络协议识别;对于所述Tshark网络协议分析工具无法识别的网络数据,再次利用定制开发的网络数据分析规则进行网络协议识别。
在本申请的一个实施例中,所述数据库单元630还用于:根据识别出的网络协议类型对所述网络数据进行分类,得到对应的各层网络数据;从各层网络数据中分别获取敏感协议域,其中所述敏感协议域是指所述网络数据中的关键特征信息;根据所述关键特征信息对所述网络数据进行整合,确定所述网络数据之间的关联度;将关联度超过预设阈值的网络数据组成一个数据集,得到多个数据集,并选取各数据集中的某个常量确定为各数据集对应的索引词;将所述多个数据集存储在一个数据库中作为所述待解析数据源,新的数据集在存入所述数据库前需要先按照索引词比对历史数据集并进行相应的数据库操作。
在本申请的一个实施例中,所述解析单元640还用于:对所述待解析数据源进行自动化解析、嵌套式解析、任意层解析以及私有化解析中的至少一种;其中,所述自动化解析是指,调用Tshark网络协议分析工具对所述待解析数据源进行从底层至高层的逐层解析;所述嵌套式解析是指,根据所述待解析数据源中嵌套的协议类型调用所述Tshark网络协议分析工具进行按需解析;所述任意层解析是指,根据要解析的任意协议层调用所述Tshark网络协议分析工具的相应层的解析规则对所述待解析数据源进行解析;所述私有化解析是指,将已经明确的私有化协议解析规则固化成单独的解析模块嵌入到所述Tshark网络协议分析工具中,调用所述Tshark网络协议分析工具对所述待解析数据源进行按需解析;按需获取网络协议解析结果的部分解析或者获取网络协议各方面内容的全解析。
需要说明的是,上述网络数据解析装置,能够实现前述实施例中提供的由电子设备执行的网络数据解析方法的各个步骤,关于网络数据解析方法的相关阐释均适用于网络数据解析装置,此处不再赘述。
综上,本申请实施例的本申请实施例的技术方案,可以通过不同的数据获取方式获取网络数据,满足了不同的网络数据分析场景。针对不同的网络数据的获取方式对网络数据进行分类嗅探得到嗅探结果如网络协议类型等信息。之后根据嗅探结果,对网络数据进行分类、整合并存储在数据库中,以为后续的数据解析提供数据支持。最后可以根据用户的解析需求,对数据库中的待解析数据源进行不同方式和不同程度的解析,得到网络数据的解析结果。本申请的网络数据解析方法除了能够实现传统的自动化解析,还能够实现任意层网络数据报文的分层解析以及嵌套式网络协议的解析,同时支持自主添加私有协议,极大地提高了网络数据处理的灵活性和可扩展性。
需要说明的是:
图7示意了电子设备的结构示意图。请参考图7,在硬件层面,该电子设备包括存储器和处理器,可选地还包括接口模块、通信模块等。存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、接口模块、通信模块和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放计算机可执行指令。存储器通过内部总线向处理器提供计算机可执行指令。
处理器,执行存储器所存放的计算机可执行指令,并具体用于实现以下操作:
获取网络数据;
根据网络数据的获取方式对所述网络数据进行分类嗅探得到嗅探结果,所述嗅探结果包括识别出的网络协议类型;
根据所述嗅探结果,对所述网络数据进行分类、整合并存储在数据库中,作为待解析数据源;
根据用户的解析需求,对所述待解析数据源进行不同方式和不同程度的解析,得到所述网络数据的解析结果。
上述如本申请图6所示实施例揭示的网络数据解析装置执行的功能可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图1中网络数据解析方法执行的步骤,并实现网络数据解析方法在图1所示实施例的功能,本申请实施例在此不再赘述。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行图1所示实施例中网络数据解析方法,并具体用于执行:
获取网络数据;
根据网络数据的获取方式对所述网络数据进行分类嗅探得到嗅探结果,所述嗅探结果包括识别出的网络协议类型;
根据所述嗅探结果,对所述网络数据进行分类、整合并存储在数据库中,作为待解析数据源;
根据用户的解析需求,对所述待解析数据源进行不同方式和不同程度的解析,得到所述网络数据的解析结果。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其特征在于包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、***或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其特征在于包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (6)
1.一种网络数据解析方法,其特征在于,包括:
获取网络数据;
根据网络数据的获取方式对所述网络数据进行分类嗅探得到嗅探结果,所述嗅探结果包括识别出的网络协议类型;
根据所述嗅探结果,对所述网络数据进行分类、整合并存储在数据库中,作为待解析数据源;
根据用户的解析需求,对所述待解析数据源进行不同方式和不同程度的解析,得到所述网络数据的解析结果;
所述获取网络数据包括:
对目标网络报文进行截获,或者,对物理层数据或链路层数据进行处理,得到所述网络数据;
所述根据网络数据的获取方式对所述网络数据进行分类嗅探得到嗅探结果包括:
在对目标网络报文进行截获,得到所述网络数据的情况下,首先利用Tshark网络协议分析工具对所述网络数据从底层至高层逐层进行网络协议识别;
对于所述Tshark网络协议分析工具无法识别的网络数据,利用定制开发的网络数据分析规则进行网络协议识别;
所述根据网络数据的获取方式对所述网络数据进行分类嗅探得到嗅探结果包括:
在获取物理层数据或链路层数据并进行处理,得到所述网络数据的情况下,首先利用定制开发的网络数据分析规则对所述网络数据进行底层网络协议识别;然后将识别出的底层网络协议类型和数据传送给Tshark网络协议分析工具进行逐层网络协议识别;
对于所述Tshark网络协议分析工具无法识别的网络数据,再次利用定制开发的网络数据分析规则进行网络协议识别;
其中,所述定制开发的网络数据分析规则包括定制开发的私有化网络协议分析规则,所述私有化网络协议分析规则是指对已经分析澄清的私有化协议,通过将已经明确的协议规则固化成单独的协议解析模块,嵌入到Tshark网络协议分析工具中。
2.根据权利要求1所述的方法,其特征在于,所述根据所述嗅探结果,对所述网络数据进行分类、整合并存储在数据库中,作为待解析数据源包括:
根据识别出的网络协议类型对所述网络数据进行分类,得到对应的各层网络数据;
从各层网络数据中分别获取敏感协议域,其中所述敏感协议域是指所述网络数据中的关键特征信息;
根据所述关键特征信息对所述网络数据进行整合,确定所述网络数据之间的关联度;
将关联度超过预设阈值的网络数据组成一个数据集,得到多个数据集,并选取各数据集中的某个常量确定为各数据集对应的索引词;
将所述多个数据集存储在一个数据库中作为所述待解析数据源,新的数据集在存入所述数据库前需要先按照索引词比对历史数据集并进行相应的数据库操作。
3.根据权利要求1所述的方法,其特征在于,所述对所述待解析数据源进行不同方式的解析包括:
对所述待解析数据源进行自动化解析、嵌套式解析、任意层解析以及私有化解析中的至少一种;其中,
所述自动化解析是指,调用Tshark网络协议分析工具对所述待解析数据源进行从底层至高层的逐层解析;
所述嵌套式解析是指,根据所述待解析数据源中嵌套的协议类型调用所述Tshark网络协议分析工具进行按需解析;
所述任意层解析是指,根据要解析的任意协议层调用所述Tshark网络协议分析工具的相应层的解析规则对所述待解析数据源进行解析;
所述私有化解析是指,将已经明确的私有化协议解析规则固化成单独的解析模块嵌入到所述Tshark网络协议分析工具中,调用所述Tshark网络协议分析工具对所述待解析数据源进行按需解析;
所述对所述待解析数据源进行不同程度的解析包括:
按需获取网络协议解析结果的部分解析或者获取网络协议各方面内容的全解析。
4.一种网络数据解析装置,其特征在于,包括:
获取单元,用于获取网络数据;
嗅探单元,用于根据网络数据的获取方式对所述网络数据进行分类嗅探得到嗅探结果,所述嗅探结果包括识别出的网络协议类型;
数据库单元,用于根据所述嗅探结果,对所述网络数据进行分类、整合并存储在数据库中,作为待解析数据源;
解析单元,用于根据用户的解析需求,对所述待解析数据源进行不同方式和不同程度的解析,得到所述网络数据的解析结果;
所述获取单元还用于:
对目标网络报文进行截获,或者,对物理层数据或链路层数据进行处理,得到所述网络数据;
所述嗅探单元还用于:
在对目标网络报文进行截获,得到所述网络数据的情况下,首先利用Tshark网络协议分析工具对所述网络数据从底层至高层逐层进行网络协议识别;
对于所述Tshark网络协议分析工具无法识别的网络数据,利用定制开发的网络数据分析规则进行网络协议识别;
所述嗅探单元还用于:
在获取物理层数据或链路层数据并进行处理,得到所述网络数据的情况下,首先利用定制开发的网络数据分析规则对所述网络数据进行底层网络协议识别;然后将识别出的底层网络协议类型和数据传送给Tshark网络协议分析工具进行逐层网络协议识别;对于所述Tshark网络协议分析工具无法识别的网络数据,再次利用定制开发的网络数据分析规则进行网络协议识别;
其中,所述定制开发的网络数据分析规则包括定制开发的私有化网络协议分析规则,所述私有化网络协议分析规则是指对已经分析澄清的私有化协议,通过将已经明确的协议规则固化成单独的协议解析模块,嵌入到Tshark网络协议分析工具中。
5.根据权利要求4所述的装置,其特征在于,所述解析单元还用于:
对所述待解析数据源进行自动化解析、嵌套式解析、任意层解析以及私有化解析中的至少一种;其中,
所述自动化解析是指,调用Tshark网络协议分析工具对所述待解析数据源进行从底层至高层的逐层解析;
所述嵌套式解析是指,根据所述待解析数据源中嵌套的协议类型调用所述Tshark网络协议分析工具进行按需解析;
所述任意层解析是指,根据要解析的任意协议层调用所述Tshark网络协议分析工具的相应层的解析规则对所述待解析数据源进行解析;
所述私有化解析是指,将已经明确的私有化协议解析规则固化成单独的解析模块嵌入到所述Tshark网络协议分析工具中,调用所述Tshark网络协议分析工具对所述待解析数据源进行按需解析;
所述对所述待解析数据源进行不同程度的解析包括:
按需获取网络协议解析结果的部分解析或者获取网络协议各方面内容的全解析。
6.一种电子设备,其特征在于,包括:存储计算机可执行指令的存储器以及处理器,
所述可执行指令在被所述处理器执行时,实现所述权利要求1至3之任一所述网络数据解析方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010767366.7A CN111917777B (zh) | 2020-08-03 | 2020-08-03 | 网络数据解析方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010767366.7A CN111917777B (zh) | 2020-08-03 | 2020-08-03 | 网络数据解析方法、装置和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111917777A CN111917777A (zh) | 2020-11-10 |
CN111917777B true CN111917777B (zh) | 2023-04-18 |
Family
ID=73287012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010767366.7A Active CN111917777B (zh) | 2020-08-03 | 2020-08-03 | 网络数据解析方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111917777B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112688924A (zh) * | 2020-12-15 | 2021-04-20 | 中国海洋大学 | 网络协议分析*** |
CN112714044B (zh) * | 2020-12-28 | 2022-06-07 | 北京恒光信息技术股份有限公司 | 基于形式语言协议的网络数据解析方法、装置及存储介质 |
CN112751845B (zh) * | 2020-12-28 | 2022-12-02 | 北京恒光信息技术股份有限公司 | 网络协议解析方法、***及装置 |
CN113242205B (zh) * | 2021-03-19 | 2022-07-01 | 武汉绿色网络信息服务有限责任公司 | 网络流量分类控制方法、装置、服务器及存储介质 |
CN113708990B (zh) * | 2021-08-06 | 2022-12-27 | 上海龙旗科技股份有限公司 | 一种用于数据包的抓包及解包的方法及设备 |
CN115208798B (zh) * | 2022-09-16 | 2023-01-31 | 中国电子科技集团公司第三十研究所 | 一种以太网专线模式的自动探测方法、***、设备及介质 |
CN115514570B (zh) * | 2022-09-26 | 2023-06-16 | 陕西合友网络科技有限公司 | 一种网络诊断处理方法、***及云平台 |
CN116016702A (zh) * | 2022-12-26 | 2023-04-25 | 浪潮云信息技术股份公司 | 一种应用可观测数据采集处理方法、装置及介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104270392A (zh) * | 2014-10-24 | 2015-01-07 | 中国科学院信息工程研究所 | 一种基于三分类器协同训练学习的网络协议识别方法及*** |
CN104506484A (zh) * | 2014-11-11 | 2015-04-08 | 中国电子科技集团公司第三十研究所 | 一种私有协议分析与识别方法 |
CN105245407A (zh) * | 2015-10-30 | 2016-01-13 | 盐城工学院 | 基于套接字的网络嗅探器及其方法 |
CN106850338A (zh) * | 2016-12-30 | 2017-06-13 | 西可通信技术设备(河源)有限公司 | 一种基于语义分析的r+1类应用层协议识别方法与装置 |
CN107395639A (zh) * | 2017-08-29 | 2017-11-24 | 天津艾科仪科技有限公司 | 智能获取网络中视频数据的方法与*** |
KR101860645B1 (ko) * | 2016-11-16 | 2018-05-23 | 국방과학연구소 | 무선 네트워크에서 패킷 조작을 이용한 통신 교란 장치 및 방법 |
CN111371651A (zh) * | 2020-03-12 | 2020-07-03 | 杭州木链物联网科技有限公司 | 一种工业通讯协议逆向分析方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8725901B2 (en) * | 2007-12-14 | 2014-05-13 | At&T Intellectual Property Ii, L.P. | Analysis tool for intra-node application messaging |
-
2020
- 2020-08-03 CN CN202010767366.7A patent/CN111917777B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104270392A (zh) * | 2014-10-24 | 2015-01-07 | 中国科学院信息工程研究所 | 一种基于三分类器协同训练学习的网络协议识别方法及*** |
CN104506484A (zh) * | 2014-11-11 | 2015-04-08 | 中国电子科技集团公司第三十研究所 | 一种私有协议分析与识别方法 |
CN105245407A (zh) * | 2015-10-30 | 2016-01-13 | 盐城工学院 | 基于套接字的网络嗅探器及其方法 |
KR101860645B1 (ko) * | 2016-11-16 | 2018-05-23 | 국방과학연구소 | 무선 네트워크에서 패킷 조작을 이용한 통신 교란 장치 및 방법 |
CN106850338A (zh) * | 2016-12-30 | 2017-06-13 | 西可通信技术设备(河源)有限公司 | 一种基于语义分析的r+1类应用层协议识别方法与装置 |
CN107395639A (zh) * | 2017-08-29 | 2017-11-24 | 天津艾科仪科技有限公司 | 智能获取网络中视频数据的方法与*** |
CN111371651A (zh) * | 2020-03-12 | 2020-07-03 | 杭州木链物联网科技有限公司 | 一种工业通讯协议逆向分析方法 |
Non-Patent Citations (5)
Title |
---|
基于Raw Socket技术的改进Sniffer;陈烽华等;《计算机时代》;20070502(第05期);全文 * |
局域网数据包抓取与分析器的设计;王维颀;《科技资讯》;20111113(第32期);全文 * |
网络嗅探器中Lua嵌入脚本的设计;苏建美等;《软件》;20130715(第07期);全文 * |
谈网络嗅探技术的实现;李莹等;《中国科技信息》;20060101(第01期);全文 * |
面向数据链路层的网络嗅探器的开发与实现;张楠等;《计算机应用》;20050528(第05期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111917777A (zh) | 2020-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111917777B (zh) | 网络数据解析方法、装置和电子设备 | |
CN108900374B (zh) | 一种应用于dpi设备的数据处理方法和装置 | |
CN107085549B (zh) | 故障信息生成的方法和装置 | |
CN108667770B (zh) | 一种网站的漏洞测试方法、服务器及*** | |
CN111130883A (zh) | 工控设备拓扑图的确定方法、装置及电子设备 | |
CN111818035B (zh) | 一种基于api网关的权限验证的方法及设备 | |
CN113271237A (zh) | 工控协议的解析方法、装置、存储介质及处理器 | |
CN103401845A (zh) | 一种网址安全性的检测方法、装置 | |
CN110784486A (zh) | 一种工业漏洞扫描方法和*** | |
CN111277569B (zh) | 一种网络报文解码方法、装置及电子设备 | |
CN102271331B (zh) | 一种检测业务提供商sp站点可靠性的方法及*** | |
CN112565232B (zh) | 一种基于模板和流量状态的日志解析方法及*** | |
CN112688924A (zh) | 网络协议分析*** | |
CN113708990A (zh) | 一种用于数据包的抓包及解包的方法及设备 | |
WO2023082605A1 (zh) | Http报文的提取方法、装置、介质及设备 | |
CN115733894A (zh) | 一种电力***多协议数据接入管理方法、装置及设备 | |
CN116016295A (zh) | 以太网性能监控方法、***、工控设备以及存储介质 | |
CN105635225A (zh) | 移动终端访问基于移动互联网络的服务器的方法与***及移动终端 | |
CN114039741A (zh) | 一种上网行为的嗅探方法、***、装置及可读存储介质 | |
CN109462496B (zh) | 一种视联网终端的数据处理方法和装置 | |
CN113852551A (zh) | 一种报文处理方法及装置 | |
CN103634164B (zh) | 一种获取流量信息的方法及*** | |
CN111597198A (zh) | 一种对于异构资源接入的物联网数据查询方法及相关设备 | |
CN105743992B (zh) | 信息处理方法及装置 | |
CN112565106B (zh) | 流量业务识别方法、装置、设备及计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |