CN117640356A - 数据包跟踪方法、装置、计算机设备、介质和程序产品 - Google Patents

数据包跟踪方法、装置、计算机设备、介质和程序产品 Download PDF

Info

Publication number
CN117640356A
CN117640356A CN202210963542.3A CN202210963542A CN117640356A CN 117640356 A CN117640356 A CN 117640356A CN 202210963542 A CN202210963542 A CN 202210963542A CN 117640356 A CN117640356 A CN 117640356A
Authority
CN
China
Prior art keywords
data packet
transmission path
path information
tracking point
target tracking
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.)
Pending
Application number
CN202210963542.3A
Other languages
English (en)
Inventor
钮玉晓
常小龙
谢莹莹
郭庆
宋怀明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qingdao Zhongke Shuguang Technology Service Co ltd
Original Assignee
Qingdao Zhongke Shuguang Technology Service Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qingdao Zhongke Shuguang Technology Service Co ltd filed Critical Qingdao Zhongke Shuguang Technology Service Co ltd
Priority to CN202210963542.3A priority Critical patent/CN117640356A/zh
Publication of CN117640356A publication Critical patent/CN117640356A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0677Localisation of faults
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请涉及一种数据包跟踪方法、装置、计算机设备、介质和程序产品,该方法在检测到数据包传输至操作***的内核空间包括的多个跟踪点中的目标跟踪点后,调用预先设置的跟踪程序;利用跟踪程序读取传输至目标跟踪点处的数据包,以获取传输至目标跟踪点处的数据包的传输路径信息,并将传输路径信息进行存储。本申请提供的数据包跟踪方法能够对数据包传输路径信息进行存储,从而能够实现对数据包传输中出现的问题进行排查。

Description

数据包跟踪方法、装置、计算机设备、介质和程序产品
技术领域
本申请涉及通信技术领域,特别是涉及一种数据包跟踪方法、装置、计算机设备、介质和程序产品。
背景技术
在云原生浪潮下,容器(Docker)和Kubernetes(容器集群管理,K8s)被广泛的使用。Docker和K8S***的网络都依赖于Linux等操作***。Linux等操作***的内核中数据包从源头到目的地需要经过多个网络命名空间和虚拟网络设备,数据包在传输中可能出现问题。
传统技术中,使用ping(Packet Internet Groper,因特网包探索器)技术可以确定数据包传输的网络是否通畅。然而,使用ping技术返回的网络信息太简单,只能确定网络是否通畅,并无法实现对数据包传输中出现的问题进行排查。
发明内容
基于此,有必要针对上述技术问题,提供一种数据包跟踪方法、装置、计算机设备、介质和程序产品。
第一方面,本申请一个实施例提供一种数据包跟踪方法,该方法包括:
在检测到数据包传输至操作***的内核空间包括的多个跟踪点中的目标跟踪点后,调用预先设置的跟踪程序;
利用跟踪程序读取传输至目标跟踪点处的数据包,以获取传输至目标跟踪点处的数据包的传输路径信息,并将传输路径信息进行存储。
上述实施例利用跟踪程序读取传输至目标跟踪点处的数据包,获取传输路径信息,使得在数据包传输存在问题时,能够通过该数据包的传输路径信息进行排查,从而能够确定出现问题的具***置。并且,本实施例提供的方法无需对操作***的内核进行修改,能够减少操作成本。
在其中一个实施例中,每个跟踪点注入有钩子脚本,该方法还包括:
利用目标跟踪点对应的钩子脚本检测数据包是否传输至目标跟踪点。
上述实施例直接利用目标跟踪点处预先设置的钩子脚本就能够对数据包是否传输至目标跟踪点进行检测,逻辑简单,易于实现。
在其中一个实施例中,传输至目标跟踪点处的数据包包括设备结构体,利用跟踪程序读取传输至目标跟踪点处的数据包,以获取传输至目标跟踪点处的数据包的传输路径信息,包括:
利用跟踪程序读取传输至目标跟踪点处的设备结构体,获取传输至目标跟踪点的数据包的传输路径信息。
上述实施例能够获取数据包对应的所有传输路径信息,在数据包传输过程出现问题时,能够快速的确定出现问题的具***置。
在其中一个实施例中,传输至目标跟踪点处的数据包还包括数据结构体,该方法还包括:
读取数据结构体,获取传输至目标跟踪点处的数据包的数据信息;
将传输路径信息进行存储,包括:
将传输路径信息和数据信息进行关联性的存储。
上述实施例中利用跟踪程序还能够获取传输至目标跟踪点的数据包的数据信息,并将该数据信息和传输路径信息进行关联性的存储,便于查询时根据数据包的数据信息获取与其对应的传输路径信息。
在其中一个实施例中,该方法包括:
在接收到查询指令后,调用查询程序获取数据包传输至每个跟踪点处的传输路径信息,并对传输路径信息进行显示。
上述实施例中在接收到工作人员的查询指令后,能够调用查询程序获取需要查询的数据包传输至每个跟踪点处的传输路径信息,并能够对查询到的传输路径信息进行显示,便于工作人员清楚的获取查询的数据包的传输路径信息。并且,若查询的数据包在传输过程中出现问题,工作人员通过查询到的传输路径信息能够准确的定位数据包传输出现问题的位置,能够实现对数据包传输中出现的问题的排查。
在其中一个实施例中,传输路径信息包括网络命名空间信息和虚拟网络设备信息。
第二方面,本申请一个实施例提供一种数据包跟踪装置,该装置包括:
调用模块,用于在检测到数据包传输至操作***的内核空间包括的多个跟踪点中的目标跟踪点后,调用预先设置的跟踪程序;
获取模块,用于利用跟踪程序读取传输至目标跟踪点处的数据包,以获取传输至目标跟踪点处的数据包的传输路径信息,并将传输路径信息进行记录。
第三方面,本申请一个实施例提供一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述第一方面提供的方法的步骤。
第四方面,本申请一个实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述第一方面提供的方法的步骤。
第五方面,本申请一个实施例提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现上述第一方面提供的方法的步骤。
附图说明
为了更清楚地说明本申请实施例或传统技术中的技术方案,下面将对实施例或传统技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域不同技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例提供的使用ping技术的显示内容示意图;
图2为一个实施例提供的终端的结构示意图;
图3为一个实施例提供的数据包跟踪方法的步骤流程示意图;
图4为另一个实施例提供的数据包跟踪方法的步骤流程示意图;
图5为一个实施例提供的操作***的结构示意图;
图6为另一个实施例提供的数据包跟踪方法的步骤流程示意图;
图7为一个实施例提供的传输路径信息的显示示意图;
图8为一个实施例提供的容器的网络架构示意图;
图9为一个实施例提供的数据包传输过程的示意图;
图10为一个实施例提供的数据包跟踪装置的结构示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似改进,因此本申请不受下面公开的具体实施例的限制。
在云原生的浪潮下,容器(Docker)和Kubernetes(容器集群管理,K8s)被广泛的使用。其中,云原生是基于分布部署和同意运管的分布式云,以容器、微服务等技术为基础建立的一套云技术产品体系。Docker是一种开源的应用容器引擎,可以让开发者打包应用以及依赖包到一个轻量级和可移植的容器中,然后发布到Linux或Windows操作***的机器上,也可以实现虚拟化。K8s是一个开源的,用于管理云平台中多个主机上的容器化的应用。Docker和K8S***的网络都依赖于Linux等操作***。Linux等操作***的内核中数据包从源头到目的地需要经过多个网络命名空间和虚拟网络设备,数据包在传输中可能出现问题。
传统技术中,使用ping(Packet Internet Groper,因特网包探索器)技术可以确定数据包传输的网络是否通畅。具体地,ping基于ICMP(Internet Control MessageProtocol),Internet控制报文协议)用于确定本地是否能与另一台主机成功交换(发送与接收)数据包,根据返回的信息,确定网络是否通常。然而,使用ping技术返回的网络信息太简单,只能确定网络是否通畅,并无法实现对数据包传输中出现的问题进行排查。使用ping技术显示的内容如图1所示。
eBPF是将原先的BPF发展成一个指令集更复杂、应用范围更广的“内核虚拟机”。BPF提供了一种当内核或应用特定事件发生时候,执行一段代码的能力。eBPF支持在用户空间将C语言编写的一小段“内核代码”注入到内核空间中运行,用户空间的程序和注入到内核空间中的程序通过共用一个位于内核中的map实现通信。基于eBPF技术,本实施例提供一种对网络数据包进行动态跟踪的方法。
本申请实施例提供的数据包跟踪方法,可以应用于设置有Linux操作***的终端上。终端的结构如图2所示,该终端包括通过***总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该终端的处理器用于提供计算和控制能力。该终端的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该终端的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种数据包跟踪方法。该终端的显示屏可以是液晶显示屏或者电子墨水显示屏,该终端的输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。终端的基本输入输出***(Basic Input Output System,BIOS)定义有终端显示时所需的分辨率。终端可以但不限于是个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。
下面以具体的实施例对本申请的技术方案以及本申请的技术方案如何解决技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
请参见图3,本申请一个实施例提供一种数据包跟踪方法,本实施例以该方法应用于如图2所示的终端中的操作***的内核进行举例说明。本实施例中,该方法包括以下步骤:
步骤200、在检测到数据包传输至操作***的内核空间包括的多个跟踪点中的目标跟踪点后,调用预先设置的跟踪程序。
操作***包括内核空间和用户空间,内核程序运行的空间就是内核空间,用户程序运行的空间就是用户空间。多个容器共享一个内核空间,在内核空间中设置有多个跟踪点,每个容器发送的数据包会经过内核空间。目标跟踪点是操作***的内核空间的多个跟踪点中的任意一个跟踪点。
终端在检测到数据包传输至目标跟踪点后,会调用预先设置的跟踪程序。预先设置的跟踪程序是工作人员预先在操作***的用户空间设置的初始程序,并对初始程序进行编译,得到的BPF程序。
可选地,工作人员预先在操作***的用户空间设置的初始程序为c语言程序trace.c,通过对该程序进行编译可以得到BPF程序trace.bpf(跟踪程序)。本实施例对跟踪程序的具体内容,以及终端检测到数据包传输至目标跟踪点的具体方法等不作限制,只要能够实现其功能即可。
在一个可选的实施例中,在操作***为Linux操作***时,跟踪点可以是LinuxKernel的net_dev_queue、netif_receive_skb_entry、netif_rx、napi_gro_receive_entry等进程(容器)。
步骤210、利用跟踪程序读取传输至目标跟踪点处的数据包,以获取传输至目标跟踪点处的数据包的传输路径信息,并将传输路径信息进行存储。
终端在调用了跟踪程序后,能够利用跟踪程序读取传输至目标跟踪点处的数据包,以获取数据包中包括的该数据包的传输路径信息。传输至目标跟踪点处的数据包的传输路径信息是指数据包在传输至目标跟踪点处之前经过的容器。终端在获取到传输至目标跟踪点处的数据包的传输路径信息后,对该传输路径信息进行存储。
在一个可选的实施例中,数据包在从源头传输至目的地的过程中,会经过内核空间包括的多个跟踪点。数据包在传输过程中,传输路径信息是在不断变化的,数据包在传输至每个跟踪点处时,均能够获取数据包的传输路径信息。
本申请实施例提供的数据包跟踪方法,终端在检测到数据包传输至操作***的内核空间包括的多个跟踪点中的目标跟踪点后,调用预先设置的跟踪程序;利用跟踪程序读取传输至目标跟踪点处的数据包,以获取传输至目标跟踪点处的数据包的传输路径信息,并将传输路径信息进行存储。本实施例利用跟踪程序读取传输至目标跟踪点处的数据包,获取传输路径信息,使得在数据包传输存在问题时,能够通过该数据包的传输路径信息进行排查,从而能够确定出现问题的具***置。并且,本实施例提供的方法无需对操作***的内核进行修改,能够减少操作成本。
另外,本申请实施例提供的数据包跟踪方法适用于ipv4和ipv6等协议,具有较高的实用性。
在一个实施例中,工作人员基于eBPF技术在操作***的内核空间中多个跟踪点处注入钩子脚本,也就是说,在操作***的内核空间中的每个跟踪点处均注入钩子脚本。对此,终端检测数据包是否传输至目标跟踪点的方法包括:
利用目标跟踪点对应的钩子脚本检测数据包是否传输至目标跟踪点。
在目标跟踪点处注入有钩子脚本,终端会利用目标跟踪点处的钩子脚本检测数据包是否传输至目标跟踪点。可选地,在数据包传输至目标跟踪点处时,会触发钩子脚本运行,以确定该数据包传输至目标跟踪点。本实施例对钩子脚本的具体内容,以及利用钩子脚本检测数据包是否传输至目标跟踪点的具体方法不作限制,只要能够实现其功能即可。
在本实施例中,终端直接利用目标跟踪点处预先设置的钩子脚本就能够对数据包是否传输至目标跟踪点进行检测,逻辑简单,易于实现。
数据包在内核空间中进行传输时,是以结构体的格式传输的,即终端能够检测传输的数据包封装成结构体。数据包包括两个结构体,一个是数据结构体。另一个是设备结构体。在一个实施例中,涉及利用跟踪程序读取传输至目标跟踪点处的数据包,以获取传输至目标跟踪点处的数据包的传输路径信息的一种可能的实现方式,包括:
利用跟踪程序读取传输至目标跟踪点处的设备结构体,获取传输至目标跟踪点的数据包的传输路径信息。
在数据包传输至目标跟踪点处时,终端能够获取传输的数据包,利用跟踪程序对传输至目标跟踪点处的数据包中的设备结构体中的内容进行读取,能够获取传输至目标跟踪点处的数据包的传输路径信息。具体地,读取设备结构体device中的net_device的数据。
在一个实施例中,传输路径信息包括网络命名空间信息和虚拟网络设备信息。也就是说,终端利用跟踪程序读取传输至目标跟踪点处的数据包中的设备结构体,能够获取传输至目标跟踪点处的数据包经过的网络命名空间信息(网络命名空间的编号),以及该数据包经过的虚拟网络设备信息(虚拟网络设备的名称)。
在本实施例中,数据包在传输过程中,设备结构体中传输路径信息是在不断更新的。例如,数据包在传输至第一个跟踪点时,传输路径信息包括数据包传输至该第一个跟踪点之前最后经过的虚拟网络设备和网络命名空间,在第一跟踪点处,终端通过跟踪程序能够获取数据包传输至第一跟踪点之前最后经过的虚拟网络设备和网络命名空间;数据包在传输至第二个跟踪点时,传输路径信息包括数据包传输至该第二个跟踪点之前最后经过的虚拟网络设备和网络命名空间,在第二跟踪点处,终端通过跟踪程序能够获取数据包传输至第二跟踪点处之前最后经过的虚拟网络设备和网络命名空间;按照同样的方法,终端能够获取数据包在整个传输过程中经过的每个跟踪点处的传输路径信息,即数据包在传输过程中的所有传输路径信息。这样终端能够获取数据包对应的所有网络命名空间和虚拟网路设备,在数据包传输过程出现问题时,能够快速的确定出现问题的具***置。
如图4所示,本申请实施例提供的数据包跟踪方法还包括:
步骤300、读取数据结构体,获取传输至目标跟踪点处的数据包的数据信息。
在数据包传输至目标跟踪点处时,终端能够获取传输的数据包,利用跟踪程序对传输至目标跟踪点处的数据包中的数据结构体中的内容进行读取,能够获取传输至目标跟踪点处的数据包的数据信息,即,传输至目标跟踪点处的数据包中的具体内容。具体地,读取数据结构体socket中的sk_buff的数据。
在一个可选的实施例中,终端在利用跟踪程序读取数据结构体时,可以先对数据结构体进行解析,从MAC头中截取出IP头等,以获取数据信息。
步骤310、将传输路径信息和数据信息进行关联性的存储。
终端在获取传输至目标跟踪点处的数据包的数据信息和传输路径信息后,将传输路径信息和数据信息进行关联性的存储。数据信息和传输路径信息是相互对应的,则终端会对数据信息和传输路径信息进行关系性的存储。
可选地,终端可以将获取的数据信息和传输路径信息存储于BPF的map(关联容器)中。
在本实施例中,终端利用跟踪程序还能够获取传输至目标跟踪点的数据包的数据信息,并将该数据信息和传输路径信息进行关联性的存储,便于查询时根据数据包的数据信息获取与其对应的传输路径信息。
在一个实施例中,数据包跟踪方法还包括:
在接收到查询指令后,调用查询程序获取数据包传输至每个跟踪点处的传输路径信息,并对传输路径信息进行显示。
查询指令是指工作人员在操作***的用户空间输入的查询数据包的流转过程的指令。具体地,查找指令是在工作人员在操作***的用户空间输入的数据包对应的网络地址。查询程序是工作人员预设在操作***的用户空间设置的程序。本实施例对查询程序的具体内容不作限制,只要能够实现其工作即可。
数据包在经过每个跟踪点时,终端都会调用跟踪程序,获取传输路径信息,并将该传输路径信息进行存储,则终端在接收到查询指令后,响应于该查询指令调用查询程序,获取该数据包在传输过程中的所有传输路径信息。终端在查询得到数据包在传输过程中的所有传输路径信息后,将其进行显示。
在本实施例中,终端在接收到工作人员的查询指令后,能够调用查询程序获取需要查询的数据包传输至每个跟踪点处的传输路径信息,并能够对查询到的传输路径信息进行显示,便于工作人员清楚的获取查询的数据包的传输路径信息。并且,若查询的数据包在传输过程中出现问题,工作人员通过查询到的传输路径信息能够准确的定位数据包传输出现问题的位置,能够实现对数据包传输中出现的问题的排查。
操作***的结构如图5所示,虚线上面为用户空间,虚线下面为内核空间,在用户空间中包括跟踪程序和查询程序,在内核空间中包括eBPF技术实现的内容,即在跟踪点处调用跟踪程序,获取传输路径信息和数据信息,并存储至eBPF的map。
请参见图6,本申请一个实施例提供一种数据包跟踪方法,该方法的步骤包括:
步骤500、利用数据包传输至操作***的内核空间包括的多个跟踪点中的目标跟踪点对应的钩子脚本,检测数据包是否传输至目标跟踪点;
步骤510、在检测到数据包传输至目标跟踪点后,调用预先设置的跟踪程序;
步骤520、利用跟踪程序读取传输至目标跟踪点处的数据包中的设备结构体,获取传输至目标跟踪点处的数据包的传输路径信息;
步骤530、利用跟踪程序读取传输至目标跟踪点处的数据包中的数据结构体,获取传输至目标跟踪点处的数据包的数据信息;
步骤540、将传输路径信息和数据信息进行关联性的存储;
步骤550、在接收到查询指令后,调用查询程序获取数据包传输至每个跟踪点处的传输路径信息,并对传输路径信息进行显示。
在一个具体的实施例中,终端在接收到查询指令,查询宿主机上的容器,显示的数据包的传输路径信息如图7所示。图7中包括查询指令区域和传输路径信息显示区域。图7中的第一行是查询指令区域,是工作人员输入的查询指令,下面的区域为传输路径信息显示区域,其中,第一列是网络命名空间信息,第二列为虚拟网络设备名称,第三列为虚拟网络设备的回复。
容器的网络架构图如图8所示,图8中的docker0表示网桥,veth1,veth2和veth3为3个不同的虚拟网络设备,eth0为虚拟网卡。数据包的传输过程如图9所示,包括以下步骤:
步骤800、宿主机上的数据包从真实网卡发送至docker0网桥,数据包对应的传输路径信息包括宿主机的网络命名空间和虚拟网络名称docker0网桥;如图7中的传输路径信息显示区域的第一行。
步骤810、数据包出现在宿主机上的虚拟网络设备veth1上,数据包对应的传输路径信息包括宿主机的网络命名空间和虚拟网络名称veth1;如图7中传输路径信息显示区域的第二行。
步骤820、数据包传输至虚拟网卡eth1上,数据包对应的传输路径信息包括容器的网络命名空间和虚拟网络名称eth1;如图7中的传输路径信息显示区域的第三行
步骤830、容器的响应信息发送至容器的虚拟网卡eth1,数据包对应的传输路径信息包括容器的网络命名空间和虚拟网络名称eth1;如图7中传输路径信息显示区域的第四行。
步骤840、响应信息出现在宿主机的虚拟网络设备veth1上,数据包对应的传输路径信息包括宿主机的网络命名空间和虚拟网络名称veth1;如图7中传输路径信息显示区域的第五行。
步骤850、响应信息最后出现在宿主机的docker0网桥上,数据包对应的传输路径信息包括宿主机的网络命名空间和虚拟网络名称docker0网桥;如图7中传输路径信息显示区域的第六行。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的数据包跟踪方法的数据包跟踪装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据包跟踪装置实施例中的具体限定可以参见上文中对于数据包跟踪方法的限定,在此不再赘述。
在一个实施例中,如图10所示,提供了一种数据包跟踪装置10,该装置包括调用模块11和获取模块12。其中,
调用模块11用于在检测到数据包传输至操作***的内核空间包括的多个跟踪点中的目标跟踪点后,调用预先设置的跟踪程序;
获取模块12用于利用跟踪程序读取传输至目标跟踪点处的数据包,以获取传输至目标跟踪点处的数据包的传输路径信息,并将传输路径信息进行记录。
在一个实施例中,数据包跟踪装置10还包括检测模块,检测模块用于利用目标跟踪点对应的钩子脚本检测数据包是否传输至目标跟踪点。
在一个实施例中,获取模块12具体用于利用跟踪程序读取传输至目标跟踪点处的设备结构体,获取传输至目标跟踪点的数据包的传输路径信息。
在一个实施例中,获取模块12还用于读取所述数据结构体,获取传输至目标跟踪点处的数据包的数据信息;将传输路径信息和数据信息进行关联性的存储。
在一个实施例中,数据包跟踪装置10还包括查询模块,查询模块用于在接收到查询指令后,调用查询程序获取数据包传输至每个跟踪点处的传输路径信息,并对传输路径信息进行显示。
在一个实施例中,传输路径信息包括网络命名空间信息和虚拟网络设备信息。
上述数据包跟踪装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图2所示。
本领域技术人员可以理解,图2中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,处理器执行计算机程序时实现以下步骤:
在检测到数据包传输至操作***的内核空间包括的多个跟踪点中的目标跟踪点后,调用预先设置的跟踪程序;
利用跟踪程序读取传输至目标跟踪点处的数据包,以获取传输至目标跟踪点处的数据包的传输路径信息,并将传输路径信息进行存储。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:利用目标跟踪点对应的钩子脚本检测数据包是否传输至目标跟踪点。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:利用跟踪程序读取传输至目标跟踪点处的设备结构体,获取传输至目标跟踪点的数据包的传输路径信息。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:读取数据结构体,获取传输至目标跟踪点处的数据包的数据信息;将传输路径信息和数据信息进行关联性的存储。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:在接收到查询指令后,调用查询程序获取数据包传输至每个跟踪点处的传输路径信息,并对传输路径信息进行显示。
在一个实施例中,传输路径信息包括网络命名空间信息和虚拟网络设备信息。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
在检测到数据包传输至操作***的内核空间包括的多个跟踪点中的目标跟踪点后,调用预先设置的跟踪程序;
利用跟踪程序读取传输至目标跟踪点处的数据包,以获取传输至目标跟踪点处的数据包的传输路径信息,并将传输路径信息进行存储。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:利用目标跟踪点对应的钩子脚本检测数据包是否传输至目标跟踪点。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:利用跟踪程序读取传输至目标跟踪点处的设备结构体,获取传输至目标跟踪点的数据包的传输路径信息。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:读取数据结构体,获取传输至目标跟踪点处的数据包的数据信息;将传输路径信息和数据信息进行关联性的存储。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在接收到查询指令后,调用查询程序获取数据包传输至每个跟踪点处的传输路径信息,并对传输路径信息进行显示。
在一个实施例中,传输路径信息包括网络命名空间信息和虚拟网络设备信息。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
在检测到数据包传输至操作***的内核空间包括的多个跟踪点中的目标跟踪点后,调用预先设置的跟踪程序;
利用跟踪程序读取传输至目标跟踪点处的数据包,以获取传输至目标跟踪点处的数据包的传输路径信息,并将传输路径信息进行存储。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:利用目标跟踪点对应的钩子脚本检测数据包是否传输至目标跟踪点。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:利用跟踪程序读取传输至目标跟踪点处的设备结构体,获取传输至目标跟踪点的数据包的传输路径信息。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:读取数据结构体,获取传输至目标跟踪点处的数据包的数据信息;将传输路径信息和数据信息进行关联性的存储。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在接收到查询指令后,调用查询程序获取数据包的传输至每个跟踪点处的传输路径信息,并对传输路径信息进行显示。
在一个实施例中,传输路径信息包括网络命名空间信息和虚拟网络设备信息。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (10)

1.一种数据包跟踪方法,其特征在于,所述方法包括:
在检测到数据包传输至操作***的内核空间包括的多个跟踪点中的目标跟踪点后,调用预先设置的跟踪程序;
利用所述跟踪程序读取传输至所述目标跟踪点处的数据包,以获取传输至所述目标跟踪点处的数据包的传输路径信息,并将所述传输路径信息进行存储。
2.根据权利要求1所述的方法,其特征在于,每个所述跟踪点注入有钩子脚本,所述方法还包括:
利用所述目标跟踪点对应的所述钩子脚本检测所述数据包是否传输至所述目标跟踪点。
3.根据权利要求1所述的方法,其特征在于,所述传输至所述目标跟踪点处的数据包包括设备结构体,所述利用所述跟踪程序读取传输至所述目标跟踪点处的数据包,以获取传输至所述目标跟踪点处的数据包的传输路径信息,包括:
利用所述跟踪程序读取传输至所述目标跟踪点处的所述设备结构体,获取传输至所述目标跟踪点的数据包的传输路径信息。
4.根据权利要求3所述的方法,其特征在于,所述传输至所述目标跟踪点处的数据包还包括数据结构体,所述方法还包括:
读取所述数据结构体,获取所述传输至所述目标跟踪点处的数据包的数据信息;
所述将所述传输路径信息进行存储,包括:
将所述传输路径信息和所述数据信息进行关联性的存储。
5.根据权利要求1所述的方法,其特征在于,所述方法包括:
在接收到查询指令后,调用查询程序获取所述数据包传输至每个所述跟踪点处的所述传输路径信息,并对所述传输路径信息进行显示。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述传输路径信息包括网络命名空间信息和虚拟网络设备信息。
7.一种数据包跟踪装置,其特征在于,所述装置包括:
调用模块,用于在检测到数据包传输至操作***的内核空间包括的多个跟踪点中的目标跟踪点后,调用预先设置的跟踪程序;
获取模块,用于利用所述跟踪程序读取传输至所述目标跟踪点处的数据包,以获取传输至所述目标跟踪点处的数据包的传输路径信息,并将所述传输路径信息进行记录。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
CN202210963542.3A 2022-08-11 2022-08-11 数据包跟踪方法、装置、计算机设备、介质和程序产品 Pending CN117640356A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210963542.3A CN117640356A (zh) 2022-08-11 2022-08-11 数据包跟踪方法、装置、计算机设备、介质和程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210963542.3A CN117640356A (zh) 2022-08-11 2022-08-11 数据包跟踪方法、装置、计算机设备、介质和程序产品

Publications (1)

Publication Number Publication Date
CN117640356A true CN117640356A (zh) 2024-03-01

Family

ID=90032567

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210963542.3A Pending CN117640356A (zh) 2022-08-11 2022-08-11 数据包跟踪方法、装置、计算机设备、介质和程序产品

Country Status (1)

Country Link
CN (1) CN117640356A (zh)

Similar Documents

Publication Publication Date Title
US11641355B2 (en) Security service for an unmanaged device
US10341264B2 (en) Technologies for scalable packet reception and transmission
CN114625481B (zh) 数据处理方法、装置、可读介质及电子设备
US10754717B2 (en) Fast and accurate identification of message-based API calls in application binaries
US20150161390A1 (en) Fast and accurate identification of message-based api calls in application binaries
US20210141545A1 (en) Shared storage space access method, device and system and storage medium
CN104516885A (zh) 浏览程序双内核组件的实现方法及装置
CN113467970B (zh) 云计算***中的跨安全区域的资源访问方法及电子设备
CN111625422B (zh) 线程监控方法、装置、电子设备及计算机可读存储介质
CN110673986A (zh) 内存操作的异常捕获方法、装置、终端及存储介质
GB2507552A (en) Improving local context search results
CN113422669B (zh) 数据传输方法、装置和***、电子设备以及存储介质
CN111783010B (zh) 网页空白页面监测方法、装置、终端及存储介质
JP2008547139A (ja) 一方向全二重インタフェースを有するメモリのポスト書き込みバッファのための方法、装置及びシステム
CN113157477A (zh) 内存泄漏的归因方法、装置、电子设备和存储介质
CN113391860B (zh) 服务请求处理方法、装置、电子设备及计算机存储介质
CN117640356A (zh) 数据包跟踪方法、装置、计算机设备、介质和程序产品
CN116402673A (zh) 数据处理方法、***、计算设备和存储介质
CN116303309A (zh) 文件挂载方法、装置和电子设备
CN115421693A (zh) 微前端架构的实现方法、装置、计算机设备和存储介质
CN112073505B (zh) 在云服务器上进行卸载的方法、控制装置、存储介质
CN115098359A (zh) 项目研发测试方法、装置、设备、存储介质和程序产品
CN114928556A (zh) 接口服务的测试方法及相关设备
CN112887162A (zh) 用于检测异常的方法及装置
US20230333769A1 (en) Shared memory protection method for securing mmio commands

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