CN115499332A - 网络报文的监测方法、装置、设备及介质 - Google Patents
网络报文的监测方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN115499332A CN115499332A CN202211111132.2A CN202211111132A CN115499332A CN 115499332 A CN115499332 A CN 115499332A CN 202211111132 A CN202211111132 A CN 202211111132A CN 115499332 A CN115499332 A CN 115499332A
- Authority
- CN
- China
- Prior art keywords
- message
- network
- transmission
- memory
- network transmission
- 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.)
- Granted
Links
- 238000012544 monitoring process Methods 0.000 title claims abstract description 95
- 238000000034 method Methods 0.000 title claims abstract description 49
- 230000005540 biological transmission Effects 0.000 claims abstract description 204
- 230000007246 mechanism Effects 0.000 claims abstract description 9
- 230000006870 function Effects 0.000 claims description 33
- 238000004458 analytical method Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 17
- 230000001960 triggered effect Effects 0.000 claims description 8
- 238000012806 monitoring device Methods 0.000 claims description 7
- 238000010276 construction Methods 0.000 claims description 5
- 230000006854 communication Effects 0.000 description 14
- 238000004891 communication Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000001276 controlling effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction 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
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种网络报文的监测方法、装置、设备及介质。所述方法包括:在检测到网络传输报文时,判断是否开启与所述网络传输报文的传输类型对应的报文监控开关;若是,则按照与所述传输类型匹配的数据获取方式获取网络传输报文,并按照预设的数据结构,构造与所述网络传输报文匹配的结构化网络报文;采用内存拷贝机制,将所述结构化网络报文拷贝至预先申请的内存区域中。通过采用上述技术方案,能够实现对高速网络报文进行实时监测。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种网络报文的监测方法、装置、设备及介质。
背景技术
为了保证实时操作系统能够顺利的调试与运行,需要对实时操作系统的网络报文进行监测与采集,并对采集到的网络报文进行进一步分析。
在现有技术中,可以通过使用监测软件的方式对实时操作系统中的网络报文进行处理,也可以利用相关代码将网络报文打印到终端设备中进行人工观察。
虽然监测软件具有较强的功能性,但是现有的监测软件往往需要与实时操作系统适配,如Wireshark上位机软件需要依赖Windows操作系统运行、Tcpdump软件需要依赖Linux操作系统运行,非广泛使用的实时操作系统可能无法运行现有的监测软件,同时,对于高速网络报文,若使用代码打印网络报文,会一定程度的影响网络报文监测采集的实时性,且处理器开销较大。
发明内容
本发明提供了一种网络报文的监测方法、装置、设备及介质,能够实现对高速网络报文进行实时监测。
根据本发明的一方面,提供了一种网络报文的监测方法,由内置于实时操作系统中的网卡驱动执行,该方法包括:
在检测到网络传输报文时,判断是否开启与所述网络传输报文的传输类型对应的报文监控开关;
若是,则按照与所述传输类型匹配的数据获取方式获取网络传输报文,并按照预设的数据结构,构造与所述网络传输报文匹配的结构化网络报文;
采用内存拷贝机制,将所述结构化网络报文拷贝至预先申请的内存区域中。
根据本发明的另一方面,提供了一种网络报文的监测装置,由内置于实时操作系统中的网卡驱动执行,包括:
开关状态判断模块,用于在检测到网络传输报文时,判断是否开启与所述网络传输报文的传输类型对应的报文监控开关;
结构化网络报文构造模块,用于若是,则按照与所述传输类型匹配的数据获取方式获取网络传输报文,并按照预设的数据结构,构造与所述网络传输报文匹配的结构化网络报文;
结构化网络报文拷贝模块,采用内存拷贝机制,将所述结构化网络报文拷贝至预先申请的内存区域中。
根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的网络报文的监测方法。
根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的网络报文的监测方法。
本发明实施例的技术方案,利用报文监控开关控制对网络传输报文监测的启停,在监测网络传输报文的情况下,通过采用与网络传输报文的传输方式相匹配的数据获取方式获取报文,生成结构化网络报文并拷贝至预先申请的内存区域中的方式,在不依赖实时操作系统的情况下,能够获取实时的网络传输报文,且不影响实时操作系统的正常通信。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例一提供的一种网络报文的监测方法的流程图;
图2是根据本发明实施例二提供的另一种网络报文的监测方法的流程图;
图3是根据本发明实施例三提供的一种网络报文的监测装置的结构示意图;
图4是实现本发明实施例的网络报文的监测方法的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
图1为本发明实施例一提供的一种网络报文监测方法的流程图,本实施例可适用于采用与网络传输报文的传输类型相匹配的获取方式获取网络传输报文,生成结构化网络报文并拷贝至内存区域中的情况,该方法可以由网络报文的监测装置来执行,该网络报文的监测装置可以采用硬件和/或软件的形式实现,该网络报文的监测装置可配置于实时操作系统中内置的网卡驱动中。如图1所示,该方法包括:
S110、在检测到网络传输报文时,判断是否开启与所述网络传输报文的传输类型对应的报文监控开关。
网络传输报文是网络中交换与传输的数据单元,网络传输报文中包含着每次网络传输过程中的全部数据信息。
优选的,可以在实时操作系统中内置的网卡驱动中预先设置检测网络传输报文的函数。在检测网络传输报文时,除了需要确定网络通信过程正在传输网络传输报文,同时还需要确定各网络传输报文的传输类型。其中,网络传输报文的传输类型可以分为发送模式与接收模式。因此,检测网络传输报文的函数可根据网络传输报文的传输类型进行设置,即可以设置网卡发送函数与网卡接收函数。网卡发送函数可以针对传输类型为发送模式的网络传输报文进行检测,若网卡发送函数被触发执行,则可判断检测到了传输类型为发送模式的网络传输报文;网卡接收函数可以针对传输类型为接收模式的网络传输报文进行检测,若网卡接收函数被触发执行,则可判断检测到了传输类型为接收模式的网络传输报文。
检测网络传输报文的传输类型的目的在于:在不同的网络传输报文的传输模式下,在实时操作系统中获取网络传输报文的位置也不同,为了便于快速准确的采集网络传输报文,因此需要在检测网络传输报文时,获取网络传输报文的传输类型。
进一步的,可以根据网络传输报文的不同传输类型设置不同的报文监控开关,不同传输类型的报文监控开关可以通过不同的标识符进行分辨,若报文监控开关处于开启状态,则可以按照与网络传输报文的传输类型相匹配的数据获取方式获取报文。
可选的,在报文监控开关中可设置一个开关变量,可以根据开关变量的当前设置值判断该报文监控开关是否处于开启状态。
进一步的,报文监控开关变量的设置值更新过程,可以具体包括:
响应于报文监控开关变量更新设置指令,提取所述报文监控开关变量更新设置指令中的目标传输类型以及目标设置值;
将与所述目标传输类型对应的报文监控开关变量更新为所述目标设置值。
在一个具体的实施方式中,可以将报文监控开关中的开关变量设置为on和off,则当发送模式下的报文监控开关变量处于开启状态时,可表示为Se_switch=on,当发送模式下的报文监控开关变量处于关闭状态时,可表示为Se_switch=off;相类似的,当接收模式下的报文监控开关变量处于开启状态时,可表示为Re_switch=on,当接收模式下的报文监控开关变量处于关闭状态时,可表示为Re_switch=off,在此仅举出了一种可选的开关变量设置方法,并不对此进行限制。
这样设置的好处在于:通过设置报文监控开关,用户可以根据网络报文的监控需求主动设置是否需要对网络传输报文进行监控,有效避免获取冗余的网络传输报文。
S120、若是,则按照与所述传输类型匹配的数据获取方式获取网络传输报文,并按照预设的数据结构,构造与所述网络传输报文匹配的结构化网络报文。
具体的,若网络传输报文的传输类型为发送模式,考虑到网络传输报文的具体发送流程,可以选择从网卡驱动的驱动层中获取发送的网络传输报文。
相似的,若网络传输报文的传输类型为接收模式,可以选择在预先配置的接收描述符当前指向的内存地址中,获取所述网络传输报文。当实时操作系统接收网络传输报文时,接收描述符可类似于指针,指向接收的网络传输报文所存储的内存地址。
数据结构中可以包括多个待填充的结构区域,不同结构区域对应不同的数据类型,数据类型可以包括网络传输报文的时间戳、传输类型和报文长度等,也可根据实际需求修改具体的数据类型。
对于不同的网络传输报文,其内部的数据结构可能是不同的,为了规整化网络传输报文的数据结构,可以将网络传输报文中的数据进行提取,并按照预设的数据结构,根据各数据的数据类型将数据填充至结构区域,当结构区域填充完成之后,即可生成与该网络传输报文匹配的结构化网络报文。
这样设置的好处在于:通过预先设置数据结构,构建与网络传输报文匹配的结构化网络报文的方式,能够有效规整网络传输报文的数据结构,便于后续对网络传输报文进行存储。
S130、采用内存拷贝机制,将所述结构化网络报文拷贝至预先申请的内存区域中。
具体的,可以在实时操作系统的所适配的上位机或者与该上位机配套使用的,具有存储功能的外设中预先申请一块内存区域,用于存储已经生成的结构化网络报文,内存区域大小可通过参数调整,以达到动态调整存储深度的目的,可选的,可以在监测函数的初始化过程中,进行内存的申请。
这样设置的好处在于:可以在生成与获取的网络传输报文匹配的结构化网络报文之后,将结构化网络报文存储于内存区域中,这样设置不需要占用网卡驱动的通信过程所需要的内存,既能保证实时的获取网络传输报文,又能保证不影响实时操作系统的正常通信。
可选的,可以在实时操作系统中设置一个内存拷贝函数,在生成结构化网络报文之后,可以通过调用内存拷贝函数,将生成的结构化网络报文拷贝至内存区域中。
进一步的,可以通过结构体指针指示结构化网络报文在内存区域中的存储地址。
本发明实施例的技术方案,利用报文监控开关控制对网络传输报文监测的启停,在监测网络传输报文的情况下,通过采用与网络传输报文的传输方式相匹配的数据获取方式获取报文,生成结构化网络报文并拷贝至预先申请的内存区域中的方式,在不依赖实时操作系统的情况下,能够获取实时的网络传输报文,且不影响实时操作系统的正常通信。
实施例二
图2为本发明实施例二提供的另一种网络报文监测方法的流程图,本实施例在上述实施例的基础上,进一步具体化了。如图2所示,该方法包括:
S210、在检测到网络传输报文时,判断是否开启与所述网络传输报文的传输类型对应的报文监控开关。
其中,在检测到网络传输报文时,判断是否开启与所述网络传输报文的传输类型对应的报文监控开关,可以具体包括:
在检测到网卡驱动中内置的网卡发送函数被触发执行时,确定检测到传输类型为发送模式的网络传输报文;
根据与发送模式对应的报文监控开关变量的当前设置值,判断是否开启与发送模式对应的报文监控开关;
或者
在检测到网卡驱动中内置的网卡接收函数被触发执行时,确定检测到传输类型为接收模式的网络传输报文;
根据与接收模式对应的报文监控开关变量的当前设置值,判断是否开启与接收模式对应的报文监控开关。
S220、当与网络传输报文的传输类型对应的报文监控开关处于开启状态时,按照与所述传输类型匹配的数据获取方式获取网络传输报文。
其中,按照与所述传输类型匹配的数据获取方式获取网络传输报文,可以具体包括:
如果所述传输类型为发送模式,则从所述网卡驱动的驱动层获取所述网络传输报文;
如果所述传输类型为接收模式,则在预先配置的接收描述符当前指向的内存地址中,获取所述网络传输报文。
可以理解的是,接收描述符当前指向的内存地址即为接收到的网络传输报文在网卡驱动中所存储的内存地址。
S230、获取预设的数据结构。
其中,所述数据结构中包括多个待填充的结构区域,不同结构区域对应不同的数据类型。
S240、将所述网络传输报文以及与所述网络传输报文匹配的时间戳、传输类型和报文长度中的至少一项,对应填充至所述数据结构中的各结构区域中,形成与所述网络传输报文匹配的结构化网络报文。
S250、在预先申请的内存区域中,获取结构体指针当前指向的内存地址。
其中,所述结构体指针初始化指向所述内存区域中的设定内存地址。
可选的,结构体指针初始化指向的设定内存地址可以为当前存储的最后一条结构化网络报文的内存地址,也可以为当前存储的最后一条结构化网络报文后的首个无存储内容的内存地址,也可以根据用户实际需求将结构体指针初始化为其他内存地址,但对此不进行限制。
需要说明的是,在生成新的结构化网络报文之后,结构体指针需要指向无存储内容的内存地址,即对新的结构化网络报文进行存储的存储地址。
在一个具体的实施方式中,若结构体指针初始化指向的为当前存储的最后一条结构化网络报文的内存地址,则在生成新的结构化网络报文之后,结构体指针需要指向下一个无存储内容的存储地址;若结构体指针初始化指向的为当前存储的最后一条结构化网络报文后的首个无存储内容的内存地址,则结构体指针可以保持指向位置不变。
S260、调用所述实时操作系统中内置的内存拷贝函数,将所述结构化网络报文拷贝至所述结构体指针当前指向的内存地址中。
在一个具体的实施方式中,可以通过采用内存拷贝的方式,在网卡驱动收发函数中获取报文,并加上事件信息、时间戳等信息,并拷贝至预先申请的内存区域中。
S270、更新所述结构体指针当前指向的内存地址。
结构体指针指向的内存地址可以与结构体指针初始化指向的内存地址相匹配,若结构体指针初始化指向当前存储的最后一条结构化网络报文的内存地址,则更新后的结构体指针可以指向新存储的结构化网络报文的存储地址;若结构体指针初始化指向当前存储的最后一条结构化网络报文后的首个无存储内容的内存地址,则更新后的结构体指针可以指向新存储的结构化网络报文后的无存储内容的存储地址。
S280、响应于网络报文输出指令,从所述内存区域中获取各已存储结构化网络报文。
本发明可以通过在网卡驱动中申请内存区域的方式,在内存区域中存储多条结构化网络报文,并在用户需要时将多条结构化网络报文同时输出。
在一个具体的实施方式中,在用户发出网络报文输出指令之后,实时操作系统中的网卡驱动响应于网络报文输出指令,并从内存区域中获取各已存储的结构化网络报文。
S290、调用预设的报文解析函数对各已存储结构化网络报文中的网络传输报文进解析,得到与每个网络传输报文分别对应的解析结果数据集。
为了便于用户分析获取的网络传输报文,可以通过调用报文解析函数的方式,实现对网络传输报文的解析,并将各网络传输报文解析后的结果以数据集的形式进行整合。
在一个具体的实施方式中,可以通过调用报文解析函数,获取网络传输报文中的时间戳、事件类型、报文长度、目的地址、源地址、协议类型、数据长度、日志内容等数据信息。
S2100、将各所述网络传输报文的解析结果数据集分别与各已存储结构化网络报文中的时间戳、传输类型和报文长度中的至少一项进行对应组合,并输出各组合结果。
进行数据组合后输出的组合结果可以通过实时操作系统发送至用户端,便于用户分析网络传输报文。
本发明实施例的技术方案,通过响应网络报文输出指令,对已存储的结构化网络报文进行解析生成解析结果数据集,并进行对应组合的方式,实现对网络传输报文的解析,便于用户进一步分析网络传输报文。
具体应用场景
本具体应用场景旨在使用一个具体的网络报文监测获取方式,对本发明实施例所述的网络报文的监测方法进行进一步说明。
首先,可以在实时操作系统中基于嵌入式系统实现实时网卡驱动,并基于网卡驱动实施进一步的网络报文监测。网卡驱动中可包括初始化模块、报文监控模块以及结果解析输出模块。其中,初始化模块可用于报文监测结构体的初始化、申请内存等操作;报文监控模块可用于根据开关监测报文、增加时间戳、增加事件信息以及拷贝网络报文到报文监测内存中等操作;结果解析输出模块可用于解析已监测到的报文,并将报文数据给用户签署。
进一步的,预先配置网络报文监测所需的内存区域、结构体的数据结构、开关变量、结构体指针初始化指向位置、网络报文解析函数与内存拷贝函数等信息。
具体的,结构体的数据结构可以包含时间戳、事件类型(如发送或接收)、报文长度、报文内容等信息;内存区域大小可通过参数调整,达到动态调整存储深度的目的。
可以选用一个shell命令或设置一个函数监测报文监测开关是否处于开启状态,若报文监测开关处于开启状态,可以按照与网络报文传输类型相匹配的数据获取方式获取报文。对于发送模式的网络报文,可以采用网卡发送函数,结构体指针可以用txrx_Event表示,如果开启报文监测开关,则将txrx_Event内存指向下一个内存,然后驱动层传递的报文通过内存拷贝的方式拷贝到txrx_Event内存中,与此同时,获取系统时间戳和数据长度,事件类型也记录到txrx_Event内存中。对于接收模式的网络报文,可以采用网卡接收函数,如果开启报文监测开关,则将txrx_Event内存指向下一内存,然后将网卡驱动的内存中存储的报文取出后,通过内存拷贝的方式拷贝到当前txrx_Event内存中,与此同时,获取系统时间戳和数据长度,事件类型也记录txrx_Event内存中。
进一步的,可以将txrx_Event内存中所存储的网络报文进行处理,如对时间戳、事件类型、报文长度、报文的目的地地址、源地址、协议类型、数据长度、date内容实现处理,并将处理后的网络报文输出到log文件或终端上,以实现展示给用户查阅的目的。
实施例三
图3为本发明实施例三提供的一种网络报文的监测装置的结构示意图。如图3所示,该装置包括:开关状态判断模块310、结构化网络报文构造模块320以及结构化网络报文拷贝模块330。
开关状态判断模块310,用于在检测到网络传输报文时,判断是否开启与所述网络传输报文的传输类型对应的报文监控开关。
结构化网络报文构造模块320,用于若是,则按照与所述传输类型匹配的数据获取方式获取网络传输报文,并按照预设的数据结构,构造与所述网络传输报文匹配的结构化网络报文。
结构化网络报文拷贝模块330,采用内存拷贝机制,将所述结构化网络报文拷贝至预先申请的内存区域中。
本发明实施例的技术方案,利用报文监控开关控制对网络传输报文监测的启停,在监测网络传输报文的情况下,通过采用与网络传输报文的传输方式相匹配的数据获取方式获取报文,生成结构化网络报文并拷贝至预先申请的内存区域中的方式,在不依赖实时操作系统的情况下,能够获取实时的网络传输报文,且不影响实时操作系统的正常通信。
在上述各实施例的基础上,开关状态判断模块310,可以具体用于:
在检测到网卡驱动中内置的网卡发送函数被触发执行时,确定检测到传输类型为发送模式的网络传输报文;
根据与发送模式对应的报文监控开关变量的当前设置值,判断是否开启与发送模式对应的报文监控开关;
或者
在检测到网卡驱动中内置的网卡接收函数被触发执行时,确定检测到传输类型为接收模式的网络传输报文;
根据与接收模式对应的报文监控开关变量的当前设置值,判断是否开启与接收模式对应的报文监控开关。
在上述各实施例的基础上,开关状态判断模块310,还可以具体用于:
响应于报文监控开关变量更新设置指令,提取所述报文监控开关变量更新设置指令中的目标传输类型以及目标设置值;
将与所述目标传输类型对应的报文监控开关变量更新为所述目标设置值。
在上述各实施例的基础上,结构化网络报文构造模块320,可以具体用于:
如果所述传输类型为发送模式,则从所述网卡驱动的驱动层获取所述网络传输报文;
如果所述传输类型为接收模式,则在预先配置的接收描述符当前指向的内存地址中,获取所述网络传输报文。
在上述各实施例的基础上,结构化网络报文构造模块320,还可以具体用于:
获取预设的数据结构,其中,所述数据结构中包括多个待填充的结构区域,不同结构区域对应不同的数据类型;
将所述网络传输报文以及与所述网络传输报文匹配的时间戳、传输类型和报文长度中的至少一项,对应填充至所述数据结构中的各结构区域中,形成与所述网络传输报文匹配的结构化网络报文。
在上述各实施例的基础上,结构化网络报文拷贝模块330,可以具体用于:
在预先申请的内存区域中,获取结构体指针当前指向的内存地址;其中,所述结构体指针初始化指向所述内存区域中的设定内存地址;
调用所述实时操作系统中内置的内存拷贝函数,将所述结构化网络报文拷贝至所述结构体指针当前指向的内存地址中;
更新所述结构体指针当前指向的内存地址。
在上述各实施例的基础上,还可以包括报文分析处理模块,具体用于:
响应于网络报文输出指令,从所述内存区域中获取各已存储结构化网络报文;
调用预设的报文解析函数对各已存储结构化网络报文中的网络传输报文进解析,得到与每个网络传输报文分别对应的解析结果数据集;
将各所述网络传输报文的解析结果数据集分别与各已存储结构化网络报文中的时间戳、传输类型和报文长度中的至少一项进行对应组合,并输出各组合结果。
本发明实施例所提供的网络报文的监测装置可执行本发明任意实施例所提供的网络报文的监测方法,具备执行方法相应的功能模块和有益效果。
实施例四
图4示出了可以用来实施本发明的实施例的电子设备40的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图4所示,电子设备40包括至少一个处理器41,以及与至少一个处理器41通信连接的存储器,如只读存储器(ROM)42、随机访问存储器(RAM)43等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器41可以根据存储在只读存储器(ROM)42中的计算机程序或者从存储单元48加载到随机访问存储器(RAM)43中的计算机程序,来执行各种适当的动作和处理。在RAM 43中,还可存储电子设备40操作所需的各种程序和数据。处理器41、ROM 42以及RAM 43通过总线44彼此相连。输入/输出(I/O)接口45也连接至总线44。
电子设备40中的多个部件连接至I/O接口45,包括:输入单元46,例如键盘、鼠标等;输出单元47,例如各种类型的显示器、扬声器等;存储单元48,例如磁盘、光盘等;以及通信单元49,例如网卡、调制解调器、无线通信收发机等。通信单元49允许电子设备40通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器41可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器41的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器41执行上文所描述的各个方法和处理,例如如本发明实施例所述的网络报文的监测方法。也即:
在检测到网络传输报文时,判断是否开启与所述网络传输报文的传输类型对应的报文监控开关;
若是,则按照与所述传输类型匹配的数据获取方式获取网络传输报文,并按照预设的数据结构,构造与所述网络传输报文匹配的结构化网络报文;
采用内存拷贝机制,将所述结构化网络报文拷贝至预先申请的内存区域中。
在一些实施例中,网络报文的监测方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元48。在一些实施例中,计算机程序的部分或者全部可以经由ROM 42和/或通信单元49而被载入和/或安装到电子设备40上。当计算机程序加载到RAM 43并由处理器41执行时,可以执行上文描述的网络报文的监测方法的一个或多个步骤。备选地,在其他实施例中,处理器41可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行网络报文的监测方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种网络报文的监测方法,其特征在于,由内置于实时操作系统中的网卡驱动执行,所述方法包括:
在检测到网络传输报文时,判断是否开启与所述网络传输报文的传输类型对应的报文监控开关;
若是,则按照与所述传输类型匹配的数据获取方式获取网络传输报文,并按照预设的数据结构,构造与所述网络传输报文匹配的结构化网络报文;
采用内存拷贝机制,将所述结构化网络报文拷贝至预先申请的内存区域中。
2.根据权利要求1所述的方法,其特征在于,在检测到网络传输报文时,判断是否开启与所述网络传输报文的传输类型对应的报文监控开关,包括:
在检测到网卡驱动中内置的网卡发送函数被触发执行时,确定检测到传输类型为发送模式的网络传输报文;
根据与发送模式对应的报文监控开关变量的当前设置值,判断是否开启与发送模式对应的报文监控开关;
或者
在检测到网卡驱动中内置的网卡接收函数被触发执行时,确定检测到传输类型为接收模式的网络传输报文;
根据与接收模式对应的报文监控开关变量的当前设置值,判断是否开启与接收模式对应的报文监控开关。
3.根据权利要求2所述的方法,其特征在于,还包括:
响应于报文监控开关变量更新设置指令,提取所述报文监控开关变量更新设置指令中的目标传输类型以及目标设置值;
将与所述目标传输类型对应的报文监控开关变量更新为所述目标设置值。
4.根据权利要求1所述的方法,其特征在于,按照与所述传输类型匹配的数据获取方式获取网络传输报文,包括:
如果所述传输类型为发送模式,则从所述网卡驱动的驱动层获取所述网络传输报文;
如果所述传输类型为接收模式,则在预先配置的接收描述符当前指向的内存地址中,获取所述网络传输报文。
5.根据权利要求1-4任一项所述的方法,其特征在于,按照预设的数据结构,构造与所述网络传输报文匹配的结构化网络报文,包括:
获取预设的数据结构,其中,所述数据结构中包括多个待填充的结构区域,不同结构区域对应不同的数据类型;
将所述网络传输报文以及与所述网络传输报文匹配的时间戳、传输类型和报文长度中的至少一项,对应填充至所述数据结构中的各结构区域中,形成与所述网络传输报文匹配的结构化网络报文。
6.根据权利要求1-4任一项所述的方法,其特征在于,采用内存拷贝机制,将所述结构化网络报文拷贝至预先申请的内存区域中,包括:
在预先申请的内存区域中,获取结构体指针当前指向的内存地址;其中,所述结构体指针初始化指向所述内存区域中的设定内存地址;
调用所述实时操作系统中内置的内存拷贝函数,将所述结构化网络报文拷贝至所述结构体指针当前指向的内存地址中;
更新所述结构体指针当前指向的内存地址。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
响应于网络报文输出指令,从所述内存区域中获取各已存储结构化网络报文;
调用预设的报文解析函数对各已存储结构化网络报文中的网络传输报文进解析,得到与每个网络传输报文分别对应的解析结果数据集;
将各所述网络传输报文的解析结果数据集分别与各已存储结构化网络报文中的时间戳、传输类型和报文长度中的至少一项进行对应组合,并输出各组合结果。
8.一种网络报文监测装置,其特征在于,由内置于实时操作系统中的网卡驱动执行,包括:
开关状态判断模块,用于在检测到网络传输报文时,判断是否开启与所述网络传输报文的传输类型对应的报文监控开关;
结构化网络报文构造模块,用于若是,则按照与所述传输类型匹配的数据获取方式获取网络传输报文,并按照预设的数据结构,构造与所述网络传输报文匹配的结构化网络报文;
结构化网络报文拷贝模块,采用内存拷贝机制,将所述结构化网络报文拷贝至预先申请的内存区域中。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的网络报文的监测方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的网络报文的监测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211111132.2A CN115499332B (zh) | 2022-09-13 | 2022-09-13 | 网络报文的监测方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211111132.2A CN115499332B (zh) | 2022-09-13 | 2022-09-13 | 网络报文的监测方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115499332A true CN115499332A (zh) | 2022-12-20 |
CN115499332B CN115499332B (zh) | 2023-12-15 |
Family
ID=84468878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211111132.2A Active CN115499332B (zh) | 2022-09-13 | 2022-09-13 | 网络报文的监测方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115499332B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101494600A (zh) * | 2008-11-21 | 2009-07-29 | 深圳市共进电子有限公司 | Adsl终端镜像监控报文信息的网络配置方法及装置 |
CN101917350A (zh) * | 2010-09-13 | 2010-12-15 | 南京中兴特种软件有限责任公司 | 一种Linux下基于网卡驱动的零拷贝以太网报文捕获及发送的实现方法 |
CN104539506A (zh) * | 2015-01-27 | 2015-04-22 | 浪潮集团有限公司 | 一种网络传输服务构件及网络传输系统 |
CN107888443A (zh) * | 2016-09-30 | 2018-04-06 | 中国移动通信集团广东有限公司 | 一种网络业务质量监测的方法、发送器及中继设备 |
CN111107087A (zh) * | 2019-12-19 | 2020-05-05 | 杭州迪普科技股份有限公司 | 报文检测方法及装置 |
CN111614647A (zh) * | 2020-05-14 | 2020-09-01 | 中国银行股份有限公司 | 报文检测及解析方法、装置 |
CN111818041A (zh) * | 2020-07-06 | 2020-10-23 | 桦蓥(上海)信息科技有限责任公司 | 一种基于网络层报文解析的实时报文处理系统及方法 |
CN112468370A (zh) * | 2020-11-30 | 2021-03-09 | 北京锐驰信安技术有限公司 | 一种支持自定义规则的高速网络报文监测分析方法及系统 |
CN112968844A (zh) * | 2021-02-05 | 2021-06-15 | 武汉绿色网络信息服务有限责任公司 | 一种发送分片报文的方法与装置 |
CN114520838A (zh) * | 2022-01-11 | 2022-05-20 | 北京交通大学 | 一种基于k近邻的自定义协议应用层的网络报文匹配方法 |
WO2022105884A1 (zh) * | 2020-11-23 | 2022-05-27 | 中兴通讯股份有限公司 | 数据传输方法、装置、网络设备、存储介质 |
CN114567463A (zh) * | 2022-02-15 | 2022-05-31 | 浙江腾珑网安科技有限公司 | 一种工业网络信息安全监测与防护系统 |
-
2022
- 2022-09-13 CN CN202211111132.2A patent/CN115499332B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101494600A (zh) * | 2008-11-21 | 2009-07-29 | 深圳市共进电子有限公司 | Adsl终端镜像监控报文信息的网络配置方法及装置 |
CN101917350A (zh) * | 2010-09-13 | 2010-12-15 | 南京中兴特种软件有限责任公司 | 一种Linux下基于网卡驱动的零拷贝以太网报文捕获及发送的实现方法 |
CN104539506A (zh) * | 2015-01-27 | 2015-04-22 | 浪潮集团有限公司 | 一种网络传输服务构件及网络传输系统 |
CN107888443A (zh) * | 2016-09-30 | 2018-04-06 | 中国移动通信集团广东有限公司 | 一种网络业务质量监测的方法、发送器及中继设备 |
CN111107087A (zh) * | 2019-12-19 | 2020-05-05 | 杭州迪普科技股份有限公司 | 报文检测方法及装置 |
CN111614647A (zh) * | 2020-05-14 | 2020-09-01 | 中国银行股份有限公司 | 报文检测及解析方法、装置 |
CN111818041A (zh) * | 2020-07-06 | 2020-10-23 | 桦蓥(上海)信息科技有限责任公司 | 一种基于网络层报文解析的实时报文处理系统及方法 |
WO2022105884A1 (zh) * | 2020-11-23 | 2022-05-27 | 中兴通讯股份有限公司 | 数据传输方法、装置、网络设备、存储介质 |
CN112468370A (zh) * | 2020-11-30 | 2021-03-09 | 北京锐驰信安技术有限公司 | 一种支持自定义规则的高速网络报文监测分析方法及系统 |
CN112968844A (zh) * | 2021-02-05 | 2021-06-15 | 武汉绿色网络信息服务有限责任公司 | 一种发送分片报文的方法与装置 |
CN114520838A (zh) * | 2022-01-11 | 2022-05-20 | 北京交通大学 | 一种基于k近邻的自定义协议应用层的网络报文匹配方法 |
CN114567463A (zh) * | 2022-02-15 | 2022-05-31 | 浙江腾珑网安科技有限公司 | 一种工业网络信息安全监测与防护系统 |
Also Published As
Publication number | Publication date |
---|---|
CN115499332B (zh) | 2023-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110417859B (zh) | 设备控制方法、装置、系统、智能网关及存储介质 | |
CN108234171B (zh) | 一种数据处理方法、系统以及装置 | |
CN113704063B (zh) | 一种云手机的性能监控方法、装置、设备及存储介质 | |
CN112925651A (zh) | 应用资源部署方法、装置、电子设备和介质 | |
CN112925652A (zh) | 应用资源部署方法、装置、电子设备和介质 | |
CN115604144B (zh) | 测试方法及装置、电子设备和存储介质 | |
CN104991811A (zh) | 隔离系统切换时进程运行状态的调整方法以及智能终端 | |
US20150127821A1 (en) | Control device | |
CN115794313A (zh) | 一种虚拟机调试方法、系统、电子设备及存储介质 | |
CN109788251B (zh) | 视频处理方法、装置及存储介质 | |
CN111176577A (zh) | 分布式块存储服务命令处理方法、装置、设备及介质 | |
CN113452760A (zh) | 验证码的同步方法、装置、电子设备和存储介质 | |
CN113407469A (zh) | 一种参数配置方法及装置、存储介质及电子装置 | |
CN115658218B (zh) | 边缘设备接入云端的方法、装置、设备以及存储介质 | |
CN115499332B (zh) | 网络报文的监测方法、装置、设备及介质 | |
CN111324310A (zh) | 一种数据的读取方法、装置及计算机系统 | |
CN116418689A (zh) | 一种请求报文响应方法、装置、电子设备和存储介质 | |
CN107729136B (zh) | 一种基于fpga的处理优先级配置方法及装置 | |
CN115421859A (zh) | 配置文件的动态加载方法、装置、计算机设备及存储介质 | |
CN114500105A (zh) | 一种网络包的拦截方法、装置、设备及存储介质 | |
CN115146309A (zh) | 隐私合规检测方法、装置、服务器、终端及存储介质 | |
CN113327602A (zh) | 语音识别的方法、装置、电子设备和可读存储介质 | |
CN115794852A (zh) | 一种站场图展示方法、装置、设备和存储介质 | |
CN114338543B (zh) | 一种网络访问限速方法、装置、设备及存储介质 | |
CN113934493B (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 |