CN113923273B - 一种数据包控制方法及相关装置 - Google Patents

一种数据包控制方法及相关装置 Download PDF

Info

Publication number
CN113923273B
CN113923273B CN202111155632.1A CN202111155632A CN113923273B CN 113923273 B CN113923273 B CN 113923273B CN 202111155632 A CN202111155632 A CN 202111155632A CN 113923273 B CN113923273 B CN 113923273B
Authority
CN
China
Prior art keywords
data packet
network card
original data
packet
virtual network
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
Application number
CN202111155632.1A
Other languages
English (en)
Other versions
CN113923273A (zh
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.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor Technologies 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 Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN202111155632.1A priority Critical patent/CN113923273B/zh
Publication of CN113923273A publication Critical patent/CN113923273A/zh
Application granted granted Critical
Publication of CN113923273B publication Critical patent/CN113923273B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种数据包控制方法,包括:将应用发送到物理网卡的原始数据包抓取至虚拟网卡;通过所述虚拟网卡对所述原始数据包执行控制操作。通过将应用发送至物理网卡的原始数据包抓取至虚拟网卡,然后通过虚拟网卡对数据包进行控制,由于将物理网卡的数据包进行抓取,在***层面拦截所有数据包,增强数据包抓取能力,避免出现数据包遗漏问题,提高对于数据包进行控制的效果。本申请还提供一种数据包控制装置、服务器以及计算机可读存储介质,具有以上有益效果。

Description

一种数据包控制方法及相关装置
技术领域
本申请涉及计算机技术领域,特别涉及一种数据包控制方法、数据包控制装置、服务器以及计算机可读存储介质。
背景技术
在计算机***中,为了安全性或数据管控,需要对***中发送至外网的数据包进行控制,避免出现安全或数据包遗漏等问题。
相关技术中,使用在网络层通过路由表对数据包进行抓取,再执行相应的控制操作。但是通过路由表,只能对客户端中指定目的网段的地址进行数据包抓取,并引流相应数据包,控制能力弱,降低***对数据包的控制效果。
因此,如何提高对数据包控制能力是本领域技术人员关注的重点问题。
发明内容
本申请的目的是提供一种数据包控制方法、数据包控制装置、服务器以及计算机可读存储介质,提高数据包控制的效果,避免出现数据包遗漏的问题。
为解决上述技术问题,本申请提供一种数据包控制方法,其特征在于,包括:
将应用发送到物理网卡的原始数据包抓取至虚拟网卡;
通过所述虚拟网卡对所述原始数据包执行控制操作。
可选的,将应用发送到物理网卡的原始数据包抓取至虚拟网卡,包括:
当所述应用将所述原始数据包发送至所述物理网卡的情况下,通过数据过滤器将所述物理网卡的出口的原始数据包进行拦截;
根据设置的过滤策略将所述原始数据包发送至所述虚拟网卡。
可选的,通过所述虚拟网卡对所述原始数据包执行控制操作,包括:
从所述虚拟网卡中读取所述原始数据包;
对所述原始数据包进行过滤,得到正常数据包;
对所述原始数据包进行数据包解析处理,得到配置信息;
根据所述配置信息判断所述正常数据包是否符合引流规则;
若是,则根据隧道协议对所述正常数据包进行封装得到隧道数据包,并通过物理网卡发送至对应隧道;
若否,则对所述正常数据包进行链路封装得到链路层数据包,并通过物理网卡发送至目标地址。
可选的,还包括:
从预设网口接收到的所述对应隧道的隧道回包,对所述回包进行还原解析,得到目标数据;其中,所述隧道回包的目的地址为所述预设网口;
对所述目标数据进行封装后发送至物理网卡,以便应用通过所述物理网卡获取所述目标数据。
可选的,通过所述虚拟网卡对所述原始数据包执行控制操作,包括:
从所述虚拟网卡中读取所述原始数据包;
判断所述原始数据包是否为正常数据包;
若是,则对所述原始数据包进行数据包解析处理,得到配置信息;
若否,则丢弃所述原始数据包。
可选的,通过所述虚拟网卡对所述原始数据包执行控制操作,包括:
从所述虚拟网卡中读取所述原始数据包;
判断所述原始数据包是否符合引流规则;
若是,则对所述原始数据包执行引流操作。
可选的,通过所述虚拟网卡对所述原始数据包执行控制操作,包括:
从所述虚拟网卡中读取所述原始数据包;
根据转发规则对所述原始数据包执行转发操作。
本申请还提供一种数据包控制装置,包括:
数据包抓取模块,用于将应用发送到物理网卡的原始数据包抓取至虚拟网卡;
数据包控制模块,用于通过所述虚拟网卡对所述原始数据包执行控制操作。
本申请还提供一种服务器,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上所述的数据包控制方法的步骤。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的数据包控制方法的步骤。
本申请所提供的一种数据包控制方法,包括:将应用发送到物理网卡的原始数据包抓取至虚拟网卡;通过所述虚拟网卡对所述原始数据包执行控制操作。
通过将应用发送至物理网卡的原始数据包抓取至虚拟网卡,然后通过虚拟网卡对数据包进行控制,由于将物理网卡的数据包进行抓取,在***层面拦截所有数据包,增强数据包抓取能力,避免出现数据包遗漏问题,提高对于数据包进行控制的效果。
本申请还提供一种数据包控制装置、服务器以及计算机可读存储介质,具有以上有益效果,在此不做赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种数据包控制方法的流程图;
图2为本申请实施例所提供的另一种数据包控制方法的流程图;
图3为本申请实施例所提供的一种数据包控制装置的结构示意图;
图4为本申请实施例所提供的一种服务器的结构示意图;
图5为本申请实施例所提供的一种支持数据包控制装置的结构示意图。
具体实施方式
本申请的核心是提供一种数据包控制方法、数据包控制装置、服务器以及计算机可读存储介质,提高数据包控制的效果,避免出现数据包遗漏的问题。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
相关技术中,使用在网络层通过路由表对数据包进行抓取,再执行相应的控制操作。但是通过路由表,只能对客户端中指定目的网段的地址进行数据包抓取,并引流相应数据包,控制能力弱,降低***对数据包的控制效果。
因此,本申请提供一种数据包控制方法,通过将应用发送至物理网卡的原始数据包抓取至虚拟网卡,然后通过虚拟网卡对数据包进行控制,由于将物理网卡的数据包进行抓取,在***层面拦截所有数据包,增强数据包抓取能力,避免出现数据包遗漏问题,提高对于数据包进行控制的效果。
可见,为了提高数据包控制过程的抓包能力,进一步的提高对数据包进行控制的效果。本实施例中采用***级防火墙组件对***中的所有数据包进行抓取,并执行控制操作,提高控制的效果。
以下通过一个实施例,对本申请提供的一种数据包控制方法进行说明。
请参考图1,图1为本申请实施例所提供的一种数据包控制方法的流程图。
本实施例中,该方法可以包括:
S101,将应用发送到物理网卡的原始数据包抓取至虚拟网卡;
本步骤旨在通过将应用发送到物理网卡的原始数据包进行拦截,并抓取至虚拟网卡,使得应用发送至物理网卡的数据没有办法发送至外网。
其中,可以采用防火墙将应用发送到物理网卡的原始数据包抓取至虚拟网卡。其中,防火墙是在计算机***中实现防火墙功能的组件。其中,防火墙由于该功能的用途,可以对计算机***中所有传输的数据包进行拦截并扫查。因此,本步骤中为了提高对数据包抓取能力,可以采用***级防火墙组件将应用发送至物理网卡的原始数据包均抓取至虚拟网卡中,避免出现数据包遗漏的问题,提高本实施例中对数据包的抓取能力。
其中,***级防火墙组件可以Unix***中的Packet Filter(PF,包过滤)。
进一步的,为了提高将原始数据包抓取到虚拟网卡的效果,提高抓取效果,本步骤可以包括:
步骤1,当应用将原始数据包发送至物理网卡的情况下,通过数据过滤器将物理网卡的出口的原始数据包进行拦截;
步骤2,根据设置的过滤策略将原始数据包发送至虚拟网卡。
可见,本可选方案中主要是对如何抓取原始数据包至虚拟网卡进行说明。本可选方案中,当应用将原始数据包发送至物理网卡的情况下,通过数据过滤器将物理网卡的出口的原始数据包进行拦截,根据设置的过滤策略将原始数据包发送至虚拟网卡。
本可选方案中由于数据过滤器的作用,原始数据包从应用发送至物理网卡后无法发送至外网,而是继续发送至虚拟网卡中。其中,设置的过滤策略可以对原始数据包进行初步的筛选,以便降低冗余或错误的数据包的数量。
S102,通过虚拟网卡对原始数据包执行控制操作。
在S101的基础上,本步骤旨在通过虚拟网卡对原始数据包执行控制操作。本步骤中主要是在抓取到各个数据包的基础上,对原始数据包执行对应的控制操作。其中,该控制操作包括但不限于过滤、转发、引流。
其中,可以是通过构建的用于执行控制操作的后台进程,从该虚拟网卡中获取到原始数据包并执行控制操作。主要是由于为了实现对原始数据包的多样化的控制操作,需要通过进程对原始数据包进行操作。因此,当所有的原始数据包被抓取到虚拟网卡中时,后台进程从该虚拟网卡中获取数据,并执行对应的控制操作。
进一步的,为了实现对数据包进行过滤,本步骤可以包括:
步骤1,从虚拟网卡中读取原始数据包;
步骤2,判断原始数据包是否为正常数据包;
步骤3,若是,则对原始数据包进行数据包解析处理,得到配置信息;
步骤4,若否,则丢弃原始数据包。
可见,本可选方案中主要是说明如何对数据包执行控制操作。本可选方案中,从虚拟网卡中读取原始数据包;判断原始数据包是否为正常数据包;若是,则对原始数据包进行数据包解析处理,得到配置信息。若否,则丢弃原始数据包。可见,本可选方案中主要是通过虚拟网卡对原始数据包进行数据包的过滤操作,保留正常数据包并进行数据包解析,并丢弃异常的数据包。由于数据包抓取能力提高,本可选方案中对数据包进行过滤的效果更好。
进一步的,为了实现对数据包进行引流,本步骤可以包括:
步骤1,从虚拟网卡中读取原始数据包;
步骤2,判断原始数据包是否符合引流规则;
步骤3,若是,则对原始数据包执行引流操作。
可见,本可选方案中主要是说明如何对数据包执行控制操作。本可选方案中,从虚拟网卡中读取原始数据包,判断原始数据包是否符合引流规则;若是,则对原始数据包执行引流操作;若否,则对该原始数据包执行正常发送操作。通过本可选方案可以将符合引流规则的原始数据包执行引流操作。例如,在使用代理软件或VPN软件时,可以将代理软件或VPN软件需要进行转发的数据包引流至对应的封装操作中,以便将引流后的数据包发送至对应的隧道或对应的隧道服务器中,实现对数据包的转发。
其中,由于抓取到虚拟网卡的数据包为全部的数据包,并没有数据包遗漏的问题。因此,本可选方案中对数据包进行引流的效果更好,可以避免遗漏数据包,提高数据包的引流效果。
进一步的,为了实现对数据包进行转发操作,本步骤可以包括:
步骤1,从虚拟网卡中读取原始数据包;
步骤2,根据转发规则对原始数据包执行转发操作。
可见,本可选方案中主要是说明如何对数据包执行控制操作。本可选方案中从虚拟网卡中读取原始数据包,根据转发规则对原始数据包执行转发操作。
综上,本实施例通过将应用发送至物理网卡的原始数据包抓取至虚拟网卡,然后通过虚拟网卡对数据包进行控制,由于将物理网卡的数据包进行抓取,在***层面拦截所有数据包,增强数据包抓取能力,避免出现数据包遗漏问题,提高对于数据包进行控制的效果。
进一步的,为了提高对于***中的代理软件或VPN进行引流的效果,避免遗漏数据包。
请参考图2,图2为本申请实施例所提供的另一种数据包控制方法的流程图。
以下通过另一实施例,对本申请提供的一种数据包控制方法做进一步说明。
本实施例中,该方法可以包括:
S201,当应用将原始数据包发送至物理网卡的情况下,通过数据过滤器将物理网卡的出口的原始数据包进行拦截;
S202,根据设置的过滤策略将原始数据包发送至虚拟网卡;
S203,从虚拟网卡中读取原始数据包;
S204,对原始数据包进行过滤,得到正常数据包;
S205,对原始数据包进行数据包解析处理,得到配置信息;
S206,根据配置信息判断正常数据包是否符合引流规则;若是,则执行S207;若否,则执行S208;
S207,根据隧道协议对正常数据包进行封装得到隧道数据包,并通过物理网卡发送至对应隧道;
S208,对正常数据包进行链路封装得到链路层数据包,并通过物理网卡发送至目标地址。
可见,本实施例中主要是将抓取到原始数据包进行过滤,将过滤到的正常数据包进行引流处理,以便将数据包通过隧道进行发送,或者通过正常的链路进行发送。
其中,S204与S205的执行顺序可以先执行S204,也可以是先执行S205,还可以是同时执行S204和S205,在此并不作具体限定。
其中,对正常数据包进行封装,可以是对正常数据包进行SSL(Secure SocketsLayer,安全套接字协议)隧道封装,得到对应的隧道数据包。其中,SSL是为网络通信提供安全及数据完整性的一种安全协议,在传输层与应用层之间对网络连接进行加密。最后将该隧道数据包发送至物理网卡中,以便通过该物理网卡将数据发送至对应隧道,或者隧道服务器,实现在隧道中进行发送对应的数据。
其中,对正常数据包进行链路封装得到链路层数据包,可以是对正常数据包经过raw socket二层头封装,得到对应的链路层数据包。其中,raw socket,即原始套接字。在数据包基础上,可以封装为在链路层进行传输的数据包。
进一步的,本实施例还可以包括:
步骤1,从预设网口接收到的对应隧道的隧道回包,对回包进行还原解析,得到目标数据;其中,隧道回包的目的地址为预设网口;
步骤2,对目标数据进行封装后发送至物理网卡,以便应用通过物理网卡获取目标数据。
可见,本可选方案中主要是说明本实施例中如何对返回的数据包进行处理做说明。
在一般通过路由表和虚拟网卡进行隧道数据包传输的方案中,返回的数据包是直接发送到对应的虚拟网卡中。然后,在虚拟网卡中对数据包进行判断,是否为隧道数据包。若是,则对该隧道数据包执行隧道数据包的处理操作。若否,则执行正常数据包的操作。由于本实施例中,对于引流的数据包设置了对应的物理网卡,以及对应的网口。该隧道数据包直接根据网口地址发送至物理网卡中,进行后续的处理。
而非隧道的数据包,则直接发送是对应的用于处理正常数据包的网卡,执行后续的数据包处理操作。
在一个具体实施例中,以具体应用场景举例。其中,数据过滤器可以采用***防火墙组件,例如Unix***中的PF控制模块,该PF控制模块用于配置在***中PF功能,实现数据包抓取进虚拟网卡。还包括,数据包封装模块,用于将抓取到数据包封装隧道包头,并转发去外网,并将接收到的隧道包拆封解析,转发回用户电脑。该数据包封装模块,还包括:排除流量封包单元,用于将不引流的数据包转发去外网。
相应的,本实施例的大体流程是PF功能开启后,会将所有流量从物理网卡en(ethernet,以太网卡)转发给Utun(User Tunnel,给用户态进程访问的虚拟网卡),SACHelper(sangfor access client helper,深信服安全访问服务帮助程序)根据引流策略决定网络包是否需要引流。如果不需要引流则通过NDRV socket(网络设备原始套接字,是一种苹果***独有的套接字)直接发给物理网卡en。需要引流则修改源IP地址后将三层包转发给SSL隧道,从SSL隧道的回包,需要将目的IP改为物理网卡IP后,通过NDRV socket写入lo网口(loopback,回环接口),最终抵达应用。
基于上述过程,使用PF控制模块的发包过程,可以包括:
步骤1,应用发送数据包到物理网卡,此时应用一般是根据***提供的socket套接字编程接口,发送与此应用相关的数据包至服务器。
步骤2,PF在物理网卡的网络出口进行全部数据包拦截,根据PF的引流规则,发回至虚拟网卡Utun。
步骤3,构建后台进程,采用后台进程对虚拟网卡Utun中的数据包进行读取,将异常的数据包丢弃,取出进行数据包解析。
步骤4,根据配置信息对解析好的数据包进行判断是否符合规则,其中包括IP区间规则,端口规则。
步骤5,需要引流的数据包,封装相应的隧道协议包头,将数据包通过物理网卡从隧道发出。
步骤6,不需要引流的数据包,将数据包封装链路层数据包头,发往物理网卡,同样被发指定目的地址。
基于上述过程,接收数据包的过程,可以包括:
步骤1,lo网口接收隧道引流数据包,则由程序进行数据包解析并还原。
步骤2,还原后的隧道引流数据包,重新封装链路二层头,转发回物理网卡,由物理网卡转发给相关应用。
步骤3,物理网卡en接收非引流数据包,直接被发回相关应用程序。
可见,本实施例通过将应用发送至物理网卡的原始数据包抓取至虚拟网卡,然后通过虚拟网卡对数据包进行控制,由于将物理网卡的数据包进行抓取,在***层面拦截所有数据包,增强数据包抓取能力,避免出现数据包遗漏问题,提高对于数据包进行控制的效果。
下面对本申请实施例提供的数据包控制装置进行介绍,下文描述的数据包控制装置与上文描述的数据包控制方法可相互对应参照。
请参考图3,图3为本申请实施例所提供的一种数据包控制装置的结构示意图。
可见,该装置通过将应用发送至物理网卡的原始数据包抓取至虚拟网卡,然后通过虚拟网卡对数据包进行控制,由于将物理网卡的数据包进行抓取,在***层面拦截所有数据包,增强数据包抓取能力,避免出现数据包遗漏问题,提高对于数据包进行控制的效果。
本实施例中,该装置可以包括:
数据包抓取模块100,用于将应用发送到物理网卡的原始数据包抓取至虚拟网卡
数据包控制模块200,用于通过虚拟网卡对原始数据包执行控制操作。
可选的,该数据包抓取模块100,具体用于当应用将原始数据包发送至物理网卡的情况下,通过数据过滤器将物理网卡的出口的原始数据包进行拦截;根据设置的过滤策略将原始数据包发送至虚拟网卡。
可选的,该数据包控制模块200,具体用于从虚拟网卡中读取原始数据包;对原始数据包进行过滤,得到正常数据包;对原始数据包进行数据包解析处理,得到配置信息;根据配置信息判断正常数据包是否符合引流规则;若是,则根据隧道协议对正常数据包进行封装得到隧道数据包,并通过物理网卡发送至对应隧道;若否,则对正常数据包进行链路封装得到链路层数据包,并通过物理网卡发送至目标地址。
可选的,该装置,还可以包括:
收包模块,用于从预设网口接收到的对应隧道的隧道回包,对回包进行还原解析,得到目标数据;其中,隧道回包的目的地址为预设网口;对目标数据进行封装后发送至物理网卡,以便应用通过物理网卡获取目标数据。
可选的,该数据包控制模块200,具体用于从虚拟网卡中读取原始数据包;判断原始数据包是否为正常数据包;若是,则对原始数据包进行数据包解析处理,得到配置信息;若否,则丢弃原始数据包。
可选的,该数据包控制模块200,具体用于从虚拟网卡中读取原始数据包;判断原始数据包是否符合引流规则;若是,则对原始数据包执行引流操作。
可选的,该数据包控制模块200,具体用于从虚拟网卡中读取原始数据包;根据转发规则对原始数据包执行转发操作。
请参考图4,图4为本申请实施例所提供的一种服务器的结构示意图。
本申请实施例还提供一种服务器,包括:
存储器11,用于存储计算机程序;
处理器12,用于执行所述计算机程序时实现如以上实施例所述的数据包控制方法的步骤。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如以上实施例所述的数据包控制方法的步骤。
请参考图5,图5为本申请实施例所提供的一种支持数据包控制装置的结构示意图。
该计算装置可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示未标出),每个模块可以包括对计算装置中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在计算装置300上执行存储介质330中的一系列指令操作。
计算装置300还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作***341,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述图1至图2所描述的数据包控制方法中的步骤由支持数据包控制装置基于该图5所示的结构实现。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,功能调用装置,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上对本申请所提供的一种数据包控制方法、数据包控制装置、服务器以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

Claims (9)

1.一种数据包控制方法,其特征在于,包括:
当应用将原始数据包发送至物理网卡的情况下,通过数据过滤器将所述物理网卡的出口的原始数据包进行拦截;
根据设置的过滤策略将所述原始数据包发送至虚拟网卡;
通过所述虚拟网卡对所述原始数据包执行控制操作。
2.根据权利要求1所述的数据包控制方法,其特征在于,通过所述虚拟网卡对所述原始数据包执行控制操作,包括:
从所述虚拟网卡中读取所述原始数据包;
对所述原始数据包进行过滤,得到正常数据包;
对所述原始数据包进行数据包解析处理,得到配置信息;
根据所述配置信息判断所述正常数据包是否符合引流规则;
若是,则根据隧道协议对所述正常数据包进行封装得到隧道数据包,并通过物理网卡发送至对应隧道;
若否,则对所述正常数据包进行链路封装得到链路层数据包,并通过物理网卡发送至目标地址。
3.根据权利要求2所述的数据包控制方法,其特征在于,还包括:
从预设网口接收到的所述对应隧道的隧道回包,对所述回包进行还原解析,得到目标数据;其中,所述隧道回包的目的地址为所述预设网口;
对所述目标数据进行封装后发送至物理网卡,以便应用通过所述物理网卡获取所述目标数据。
4.根据权利要求1所述的数据包控制方法,其特征在于,通过所述虚拟网卡对所述原始数据包执行控制操作,包括:
从所述虚拟网卡中读取所述原始数据包;
判断所述原始数据包是否为正常数据包;
若是,则对所述原始数据包进行数据包解析处理,得到配置信息;
若否,则丢弃所述原始数据包。
5.根据权利要求1所述的数据包控制方法,其特征在于,通过所述虚拟网卡对所述原始数据包执行控制操作,包括:
从所述虚拟网卡中读取所述原始数据包;
判断所述原始数据包是否符合引流规则;
若是,则对所述原始数据包执行引流操作。
6.根据权利要求1所述的数据包控制方法,其特征在于,通过所述虚拟网卡对所述原始数据包执行控制操作,包括:
从所述虚拟网卡中读取所述原始数据包;
根据转发规则对所述原始数据包执行转发操作。
7.一种数据包控制装置,其特征在于,包括:
数据包抓取模块,用于当应用将原始数据包发送至物理网卡的情况下,通过数据过滤器将所述物理网卡的出口的原始数据包进行拦截;根据设置的过滤策略将所述原始数据包发送至虚拟网卡;
数据包控制模块,用于通过所述虚拟网卡对所述原始数据包执行控制操作。
8.一种服务器,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述的数据包控制方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的数据包控制方法的步骤。
CN202111155632.1A 2021-09-29 2021-09-29 一种数据包控制方法及相关装置 Active CN113923273B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111155632.1A CN113923273B (zh) 2021-09-29 2021-09-29 一种数据包控制方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111155632.1A CN113923273B (zh) 2021-09-29 2021-09-29 一种数据包控制方法及相关装置

Publications (2)

Publication Number Publication Date
CN113923273A CN113923273A (zh) 2022-01-11
CN113923273B true CN113923273B (zh) 2024-05-28

Family

ID=79237138

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111155632.1A Active CN113923273B (zh) 2021-09-29 2021-09-29 一种数据包控制方法及相关装置

Country Status (1)

Country Link
CN (1) CN113923273B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114650220A (zh) * 2022-03-31 2022-06-21 深信服科技股份有限公司 一种数据包引流方法及相关装置
CN117201421A (zh) * 2023-09-19 2023-12-08 深圳酷源数联科技有限公司 适用于工业控制的网络通信方法、***及cpe设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103885813A (zh) * 2013-12-27 2014-06-25 北京天融信软件有限公司 一种虚拟机环境下的抓包方法
WO2015183879A1 (en) * 2014-05-30 2015-12-03 Apple Inc. Client applications communicating via a user tunnel
WO2016197848A1 (zh) * 2015-06-09 2016-12-15 华为技术有限公司 一种管理网卡的方法、装置及***
CN108111619A (zh) * 2017-12-28 2018-06-01 西安抱朴通信科技有限公司 一种数据分流方法及装置、计算机设备、存储介质
CN111083009A (zh) * 2019-11-29 2020-04-28 北京云测信息技术有限公司 一种抓包方法、装置和移动终端
CN111490939A (zh) * 2020-03-30 2020-08-04 苏州瑞立思科技有限公司 一种支持高级策略配置高性能的windows网卡驱动方法
CN111786868A (zh) * 2019-04-04 2020-10-16 厦门网宿有限公司 服务器之间的数据传输方法及strongswan服务器

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9515931B2 (en) * 2014-05-30 2016-12-06 International Business Machines Corporation Virtual network data control with network interface card
US11558364B2 (en) * 2017-07-18 2023-01-17 Nicira, Inc. Authentication offload in virtualized computing environments

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103885813A (zh) * 2013-12-27 2014-06-25 北京天融信软件有限公司 一种虚拟机环境下的抓包方法
WO2015183879A1 (en) * 2014-05-30 2015-12-03 Apple Inc. Client applications communicating via a user tunnel
WO2016197848A1 (zh) * 2015-06-09 2016-12-15 华为技术有限公司 一种管理网卡的方法、装置及***
CN108111619A (zh) * 2017-12-28 2018-06-01 西安抱朴通信科技有限公司 一种数据分流方法及装置、计算机设备、存储介质
CN111786868A (zh) * 2019-04-04 2020-10-16 厦门网宿有限公司 服务器之间的数据传输方法及strongswan服务器
CN111083009A (zh) * 2019-11-29 2020-04-28 北京云测信息技术有限公司 一种抓包方法、装置和移动终端
CN111490939A (zh) * 2020-03-30 2020-08-04 苏州瑞立思科技有限公司 一种支持高级策略配置高性能的windows网卡驱动方法

Also Published As

Publication number Publication date
CN113923273A (zh) 2022-01-11

Similar Documents

Publication Publication Date Title
CN113923273B (zh) 一种数据包控制方法及相关装置
CN101019405B (zh) 用于在通信网络中缓解拒绝服务的方法和***
EP3275140B1 (en) Technique for achieving low latency in data center network environments
US20070083924A1 (en) System and method for multi-stage packet filtering on a networked-enabled device
CN108809749B (zh) 基于采样率来执行流的上层检查
EP4209905A1 (en) Service mesh system employing microservice, and service governance method
US10038670B2 (en) System and method for controlling access to a plant network
CN113568711B (zh) 一种K8S中使用的基于eBPF架构的负载均衡方法及装置
US11212205B2 (en) System and method for soft failovers for proxy servers
CN103209191A (zh) 一种实现内外网物理隔断的方法
CN109905412B (zh) 一种网络数据并行加解密处理方法、装置和介质
CN103237036A (zh) 一种实现内外网物理隔断的装置
US11005732B1 (en) Methods for improved service chain classification and management and devices thereof
CN107528923B (zh) 一种网络适配器的数据传输方法及网络适配器
US11252184B2 (en) Anti-attack data transmission method and device
CN111277660B (zh) 一种用于组成dmz区域的***及方法
CN103558995A (zh) 一种存储控制芯片及磁盘报文传输方法
WO2007100542A2 (en) Method and system for filtering packets within a tunnel
EP3346663B1 (en) Apparatus, system, and method for accelerating security inspections using inline pattern matching
EP3819781A1 (en) Network device and method for processing data about network packets
US8265089B2 (en) Network gateway with enhanced requesting
CN114327850A (zh) 基于微服务的服务网格***及服务治理方法
WO2022060647A2 (en) Data frame interface network device
CN115883255B (zh) 数据过滤方法、设备以及计算机可读介质
CN114268595B (zh) 一种采用双cpu架构的交换机及报文处理方法

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